Next-L Enju Leaf の FreeBSD へのインストール

オープンソースな統合図書館管理システムである「Next-L Enju Leaf」の検証をしたかったので、自宅の FreeBSD 機に入れてみた。

wiki に install マニュアルがあるのだが、Linux と Mac OS X 向けの説明である。
ただ、FreeBSD も Linux と同じ UNIX 系の OS(FreeBSD は本物の UNIX。Linux は UNIX ライクな OS・・・なのだが、まあ、その辺の話は割愛)なので、このマニュアルで十分使える。

以下、非情に個人的なそのインストールメモ。

まず、必要なソフトウェアをインストール。
(もちろん、環境によってはこれ以外にも細々したものが必要になるかもしれない)

・Ruby 1.9.2以上推奨
 Ruby 1.9.3p194 (2012-04-20 revision 35410) をソースからインストール

・Ruby on Rails 3.2
 Rails 3.2.3 を gem install

・Java SE 6
 java version "1.6.0_07"
 Diablo Java SE Runtime Environment (build 1.6.0_07-b02) を ports インストール
 (SUN が、FreeBSD 向けのバイナリを提供してないんでね)

・PostgreSQL 8.4以上推奨
 元々、9.0.1 がインストールされている。
 が、Enju のインストールで古いと言われたので、9.1.3 をソースからインストール
 (本当は gem の問題で、9.0.1のままでも大丈夫だったのが後ほど発覚(^^;)

・memcached
 memcached 1.4.13 を ports インストール

・ImageMagick
 ImageMagick 6.7.5.10 を ports インストール

・node.js
 node v0.6.9 をソースからインストール

・Apache Solr 3.5.0以上
 Solr 3.6.0 を ports インストール

・Git
 「必要なソフトの一覧」に載ってないが、Git(分散型バージョン管理システム)も必要なのでインストールする。
 Git 1.7.10.1 を ports インストール。

この後、Enju Leaf のインストール。

うちの FreeBSD には sudo は入れてないので、root 権限が必要な作業は root になって行なう。(一般ユーザは、一応、enjuuser というのを作っている)

まず enju ファイルの取得と展開。
(ちなみに、以下の作業は、sh または bash 等の B シェル系で行なうこと)

# gem install bundler
# su enjuuser
% cd /vol1/usr/local/enju
% git clone git://github.com/nabeta/enju_leaf.git
% cd enju_leaf
% git checkout 1.0

PostgreSQL の初期データ作成。専用の PostgreSQL ユーザを作ってね。
(DB を新規に作れる権限を与えるのを忘れちゃ駄目だぞ!)

% su - postgres
% createuser enju
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) y
Shall the new role be allowed to create more new roles? (y/n) n
CREATE ROLE
% psql
Welcome to psql 8.2.17 (server 9.1.3), the PostgreSQL interactive terminal.

ALTER で enju ユーザのパスワードを設定。

postgres=# ALTER USER enju PASSWORD 'enjupassword';
ALTER ROLE
postgres=# \q
% exit

DB アクセスファイルを新しいユーザ用に編集。

% cp config/database.yml config/database_20120512.yml
% vi config/database.yml
% diff config/database.yml config/database_20120512.yml
17c17
<   password: enjupassword
---
>   password:
43c43
<   password: enjupassword
---
>   password:
51c51
<   password: enjupassword
---
>   password:

Enju Leaf本体のインストールを続ける。ここから root でね。
(別のエントリで詳細は書こうと思うが、俺のサーバの環境では取りあえず pg パッケージの最新バージョンが入らないので、バージョン '0.12.0' を使うよう Gemfile を予め修正しておく)

# cp Gemfile Gemfile_20120515
# vi Gemfile
# diff Gemfile Gemfile_20120515
31c31
<   gem 'pg', '0.12.0'
---
>   gem 'pg'
# bundle

DB の作成を。

# rake db:create:all
# rake db:migrate RAILS_ENV=production

これで、

enju_development
enju_production
enju_test

という3つの DB が作成される。

続けて DB アクセス時の暗号化に使う設定ファイルを作成。
secret_token.rb の EnjuLeaf::Application.config.secret_token を修正するが、セットするトークンは 30文字以上で。

# rake secret
# vi config/initializers/secret_token.rb

諸々のサーバを起動しておく。
(memcached は、/usr/local/etc/rc.d の下に実行ファイルが出来ている。/etc/rc.conf の編集も必要なので注意)

# rake sunspot:solr:start RAILS_ENV=production
# vi /etc/rc.conf

memcached_enable="YES"
を追加。

# /usr/local/etc/rc.d/memcached start

初期データの追加(管理ユーザのアカウント情報とかね)
それと、アセットパイプライン(JavaScript や CSS を結合することで、ブラウザからのリクエスト回数を減らす仕組み)のためのプリコンパイル済みのアセットを作成。

# rake db:seed RAILS_ENV=production
# rake assets:precompile RAILS_ENV=production

バッチ処理を cron に登録。

# vi config/schedule.rb

set :path, '/usr/local/enju/enju_leaf'
に変更

# whenever --update-crontab

そして、やっとこさサーバの起動。
(その前に PID ファイルを作成する tmp ディレクトリを作っておくのを忘れるな!)

# mkdir /usr/local/enju/enju_leaf/tmp
# chmod 777 /usr/local/enju/enju_leaf/tmp
# cd /usr/local/enju/enju_leaf
# RAILS_ENV=production script/delayed_job start
# rails server -e production

ようこそ!Enju Leaf の世界へ。

別のパソコンから http://192.168.XXX.XXX:3000/ にアクセスすれば、Enju Leaf のトップ画面が。

つーか、実際のところはこんなにすんなりとは行きませんでした(^^;
個々の苦労話は別のエントリーにて(^^;

20120517_enju.jpg

トラックバック(0)

このブログ記事を参照しているブログ一覧: Next-L Enju Leaf の FreeBSD へのインストール

このブログ記事に対するトラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/2112

コメントする

このブログ記事について

このページは、shinodaが2012年5月17日 16:29に書いたブログ記事です。

ひとつ前のブログ記事は「かつて勤めていた会社が廃墟のように・・・(笑)」です。

次のブログ記事は「「アンサー」の観月ありさがかなり良い感じ」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。


月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら