さくらのVPSにredmineに移行する。前々回のさくらのVPSにAPACHE+MYSQLを入れるにてApache、MySQLはインストール済み。基本、FASTCGI でREDMINEが実用レベルになったを踏襲。
redmine 1.0のインストール
ひたすらrootで作業。
1. ポイント
- rubyはfastcgiにて実行する
- redmineから入れるrubyとかunstableから入れると今はちょうどいい
- データはMySQLデータベースに格納
- redmine本体はsubversionで取得して、適宜更新(svn update)する
2. fastcgiのインストール
aptitude install gcc make build_essential
aptitude groupinstall "Development Tools"
cd /usr/local/src/
wget http://www.fastcgi.com/dist/fcgi-2.4.0.tar.gz
tar -zxvf fcgi-2.4.0.tar.gz
cd fcgi-2.4.0
./configure
make
make install
mkdir /tmp/fcgi_ipc
chown -R www-data:www-data /tmp/fcgi_ipc/
chmod -R 777 /tmp/fcgi_ipc/
3. rubyのインストール
unstableからだとちょうど1.8.7が入ったので。
aptitude -t unstable install ruby1.8 ruby-dev rubygems
gem install rails -v=2.3.5
gem install rack -v=1.0.1
gem install i18n -v=0.4.2
gem install mysql fcgi
4. redmineのインストール
適宜更新するためにsubversionから入れる。subversionがなければファイルをダウンロードしておいてもいい。
cd /var/lib
svn co http://redmine.rubyforge.org/svn/branches/1.0-stable redmine
5. データベースの作成
mysql -u root -p
create database db_redmine character set utf8;
create user 'redmineuser'@'localhost' identified by '*********';
grant all privileges on db_redmine.* to 'redmineuser'@'localhost';
6. データベースのリストア
移行元サーバからscpなりでdumpしたものを持ってきて突っ込む。
mysql -u root -p db_redmine < /tmp/redmine.dump.sql
7. 設定ファイルの作成・移行
データベースの設定、作成したデータベース名、ユーザ名に合わせる。
なんかdebianだとdefultのsocketが違ったかなんかで明示的に指定している。
# mysql
production:
adapter: mysql
database: db_redmine
host: localhost
username: redmineuser
password: *********
encoding: utf8
socket: /var/run/mysqld/mysqld.sock
メール送信の設定。domainは適宜設定する。(お試し期間でメール送信できてないので未テスト)
# Outgoing email settings
production:
delivery_method: :smtp
smtp_settings:
address: 127.0.0.1
port: 25
domain: example.com
cgi(fsgi)だとRAILS_ENVを設定するタイミングがない。そもそも、使い分ける必要もあんまないのでスクリプトでproductionに固定。
# Uncomment below to force Rails into production mode when
# you don't control web/app server and can't set it the proper way
ENV['RAILS_ENV'] ||= 'production'
サブディレクトリのURLにしたせいか以下の設定を追加しないとredmineのルーティングがうまく動かなかった。additional_environment.rbを作成してconfigを追加する。
cp -p config/additional_environment.rb.example config/additional_environment.rb
config.action_controller.relative_url_root='/redmine'
VPSの20GBでログは圧迫されたら困るのでログの出力を最小限にする。
参考: http://redmine.jp/faq/system_management/logger-level/
config.logger = Logger.new(config.log_path)
config.logger.level = Logger::WARN
8. 実行ファイルの作成
fastcgiを使うのでdispatch.fcgiを用意する、中身は変更しなくてよい。
cp -p public/dispatch.fcgi.example public/dispatch.fcgi
dispatch.fcgiを確実に参照させるように。
#<IfModule mod_fastcgi.c>
# RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
#</IfModule>
#<IfModule mod_fcgid.c>
# RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
#</IfModule>
#<IfModule mod_cgi.c>
# RewriteRule ^(.*)$ dispatch.cgi [QSA,L]
#</IfModule>
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
9. データのマイグレーション
gemsのパスが通ってないので
cd /var/lib/redmine
PATH="$PATH:/var/lib/gems/1.8/bin"
rake generate_session_store
RAILS_ENV=production rake db:migrate
mkdir tmp public/plugin_assets
chown -R www-data:www-data files log tmp public/plugin_assets
chmod -R 755 files log tmp public/plugin_assets
これでredmineも使えるようになった。意外と快適。