FreeBSD 9.1-RELEASE-p5にredmineをインストールしたのでその際のメモ。
redmineはrubyやrailsやgemや諸々が関係してインストールに苦労する。特にrubyとrailsのバージョンで失敗しやすいので、他のWebサービスとの共存が必要ならapacheのmod_proxyで飛ばすことにして、ruby*が他とぶつからない様にjail環境を起こし動かすことにする。
基本的にcopy & paseteでインストール作業が進む様に纏めた(つもり)。
とか書いてるのに、いきなりjail環境はezjailでサックリ作ったので省略。
make → mysql-serverの設定 & redmine用DB作成 → redmineの設定 → apacheの設定 & 起動
の流れで進む。
redmineをpkgから入れるとrubyが1.8系列になるのでportsよりインストール。
※時間がかかるがひたすら待つ。
※2014-04-30追記: Release 10.0のPKGでは1.9系列になっているので今はpkgからインストールが一番簡単。
# cd /usr/ports/www/redmine # make -DWITH_PASSENGER BATCH=yes install clean # cd /usr/ports/databases/mysql55-server # make BATCH=yes install clean
mysql-server設定ファイルの作成
# cp /usr/local/share/mysql/my-medium.cnf /usr/local/etc/my.cnf
mysql-serverをserviceで起動する為の記述を/etc/rc.cnfに追加
# echo mysql_enable="YES" >> /etc/rc.cnf # echo mysql_args="--bind-address=xxx.xxx.xxx.xxx" >> /etc/rc.conf ※xxx.xxx.xxx.xxxはIP-Adressで置き換える事
mysql-serverの起動
# service mysql-server start
mysql rootパスワードの設定
# mysqladmin password <パスワード> -u root
redmine用ユーザーとDBの作成
# mysql -u root -p Enter password:<パスワード> mysql> create database redmine character set utf8; mysql> create user 'redmine'@'localhost' identified by '<パスワード>'; mysql> grant all privileges on redmine.* to 'redmine'@'localhost'; mysql> flush privileges; mysql> exit
redmineの設定ファイルのコピー
(重要)/usr/local/www/redmine/config.ruがrootユーザーのままだとpassengerがnobodyで動作するため開けないページが発生するのでwwwユーザーに変更しておく。
# cd /usr/local/www/redmine # cp config/configuration.yml.example config/configuration.yml # cp config/database.yml.example config/database.yml # chown www config.ru
config/database.ymlのDBへの接続情報を修正
production: adapter: mysql2 database: redmine host: localhost username: redmine # 作成しておいたユーザー名 password: "<パスワード>" # passwordを記載 encoding: utf8
必要なgemの確認と不足分のインストール
# bundle install --without development test
セッションデータ改竄防止用鍵の作成、DBへのテーブル作成、デフォルトデータの登録。
# rake generate_secret_token # rake db:migrate RAILS_ENV="production" # rake redmine:load_default_data RAILS_ENV="production" Select language: ar, az, bg, bs, ca, cs, da, de, el, en, en-GB, es, et, eu, fa, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, lv, mk, mn, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sq, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en] ja ==================================== Default configuration data loaded.
公開用リンクの作成
# ln -s /usr/local/www/redmine/public /usr/local/www/apache22/data/redmine
apache22と連携するpassengerの設定ファイルを作成
※passengerを更新した場合はこちらも再度実施すること。
# passenger-install-apache2-module --snippet > /usr/local/etc/apache22/Includes/passenger.conf
apache22用redmine設定ファイルの作成
# echo "RailsBaseURI /redmine" > /usr/local/etc/apache22/Includes/redmine.conf
apache22を起動すればブラウザでアクセス可能になる。
# service apache22 start
※2014-04-30追記
rubygem-passengerのメンテナのミス? passenger-install-apache2-moduleのbuild時にopenssl hedersが見つからなくてbuildに失敗する事がある。(passenger-4.0.41)
FreeBSDは標準でヘッダーファイルが入っており、チェック方法のミスだけなので該当チェック部分を削除してbuildし直す事で回避。
# cd /usr/local/lib/ruby/gems/1.9/gems/passenger-4.0.41/bin # cp -p passenger-install-apache2-module passenger-install-apache2-module2 ## passenger-install-apache2-module2をエディタで開き、"openssl-dev"を検索して ## 該当行を削除する。 # passenger-install-apache2-module2 --snippet > /usr/local/etc/apache22/Includes/passenger.conf