RedMine-1.2.0をインストールする
CentOS5.6+RedMine-1.2.0をインストールしたときのメモ
httpd+mysql+passengerを使って、サブディレクトリ(例:http://hoge.jp/redmine)のようにアクセスできるようにするまとめ
前回、redmine を入れる時にはまった点 - プログラム備忘録とは、
別の手法でインストールしたので、今回はそのまとめです。
1.yumで必要なもの
# yum install openssl-devel readline-devel zlib-devel curl-devel # yum install mysql-server mysql-devel # yum install httpd httpd-devel
2.Ruby Enterprise Editionのダウンロード
Ruby Enterprise EditionはRuby 1.8.7をベースに変更を加えたもので、オリジナルのRubyと比較すると、
Redmine 1.1をCentOS5.5にインストールする手順 | Redmine.JP Blog
Passenger上でRuby on Railsアプリケーションを実行する際にメモリ使用量を減らせるというメリットがあります。
らしいので、こいつをインストールします。
途中、インストールする場所を聞かれるので、「/usr/local/」にインストールするように設定しました。
# wget http://rubyenterpriseedition.googlecode.com/files/ruby-enterprise-1.8.7-2011.03.tar.gz # tar zxvf ruby-enterprise-1.8.7-2011.03.tar.gz # ./ruby-enterprise-1.8.7-2011.03/installer --dont-install-useful-gems --no-dev-docs ... [/opt/ruby-enterprise-1.8.7-2011.03] : /usr/local/ ...
3.gemでインストール
基本従来RedMineの設定でいいんですが、rackのバージョン指定だけ違うみたいです。
1.0.1ではなく、1.1.0に指定しないとあとで怒られます。
# gem update --system 1.4.2 # gem --version # gem install rdoc # gem install rake # gem install rack -v=1.1.0 # gem install i18n -v=0.4.2 # gem install mysql # gem install passenger
4.MySQLの設定
文字コードがUTF8じゃないと後々面倒になるので注意。
なので、その辺の設定をします。
- /etc/my.cnf
[mysqld] #追加 skip-character-set-client-handshake default-character-set = utf8 [mysql] #追加 default-character-set = utf8 [client] #追加 default-character-set = utf8
設定できたら、起動しましょう。
ついでに、自動起動するようにもしちゃいましょう。
# service mysqld start # chkconfig mysqld on
/etc/my.cnfが設定されてるか確認します。
# mysql -uroot mysql> show variables like 'character_set%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+
MySQLのシステム変数
- character_set_client
- character_set_connection
- character_set_database
- character_set_results
- character_set_server
- character_set_system
の値がutf8になっていることを確認します。
なってない場合は、設定を見直し+mysqldの再起動を行います。
次にrootにパスワードつける、空ユーザの削除。
# mysql -uroot mysql> use mysql; mysql> update user set password=password('fizzbuzz') where user = 'root'; mysql> delete from user where user = ''; mysql> flush privileges; mysql> exit;
そして、RedMineで使うためのDBを準備します。
# mysql -uroot -p mysql> create database redmine default character set utf8; mysql> grant all on redmine.* to hoge identified by 'fuga'; mysql> flush privileges; mysql> exit;
ここでは、
DB名 | redmine |
ユーザ名 | hoge |
Password | fuga |
と設定します。
5.RedMine1.2.0をダウンロード
RedMine1.2.0を落としてきます。
最新版が欲しいのであれば、こちらまでどうぞ→RubyForge: Redmine: Project Filelist
ダウンロードしたら、解凍し「/var/lib/」にディレクトリごと移動させます。
さらに、作業ディレクトリを「/var/lib/redmine-1.2.0」へ移動。
# wget http://rubyforge.org/frs/download.php/74944/redmine-1.2.0.tar.gz # tar zxvf redmine-1.2.0.tar.gz # mv redmine-1.2.0 /var/lib/ # cd /var/lib/redmine-1.2.0
6.各種設定
データベースの設定をやります。
- /var/lib/redmine-1.2.0/config/database.yml
production: adapter: mysql database: redmine username: hoge password: fuga host: localhost encoding: utf8'
viなり、echoとリダイレクトなりを使って、「$REDMINE_ROOT/config/database.yml」に書く。
本当はメールとかの設定も書かなきゃなんだけど、書かなくても動く。
詳しくは後述の参考ページに割愛。
注意は1.1.3は「$REDMINE_ROOT/config/email.yml」だったのが、
「$REDMINE_ROOT/config/configration.yml」に記述すること。
「email.yml」でも動くらしいけど、今後のことを考えると郷に従いましょう。
7.セッションデータ暗号化用鍵の生成とテーブル作成
# rake generate_session_store # rake db:migrate RAILS_ENV="production"
実行結果に、
rake/rdoctask is deprecated. Use rdoc/task instead (in RDoc 2.4.2+) WARNING: 'task :t, arg, :needs => [deps]' is deprecated. Please use 'task :t, [args] => [deps]' instead. at /var/lib/redmine-1.2.0/lib/tasks/email.rake:170
と出ますが、
That isn’t a error! Only a warning that redmine uses functions which are not supported in future ruby/rails versions…
Tutorial: Redmine with Git and Gitosis on Ubuntu 11.04 - x2on.de
You can ignore these warnings!
らしいので無視してもOK
8.デフォルトデータのロード
# rake redmine:load_default_data RAILS_ENV="production" Select language: bg, bs, ca, cs, da, de, el, en, en-GB, es, 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, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en] ja # ←入力
ここで、
Error: imcompatible implicit declaration
とかで終わってる場合、DBのエンコードがUTF8じゃない可能性があります。
最初にEUC-JPでインストールしてて見事に嵌りました
9.Passengerの設定
# export APXS2=/usr/sbin/apxs # passenger-install-apache2-module
を実行。apxsの場所がわからない場合、
# updatedb # locate apxs
とかやると、場所がわかります。
ビルド最中に出てくる、
-------------------------------------------- The Apache 2 module was successfully installed. Please edit your Apache configuration file, and add these lines: LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.7/ext/apache2/mod_passenger.so PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.7 PassengerRuby /usr/local/bin/ruby
は、メモっときましょう。
10.httpd(Apache)の設定
RailsBaseURIに「http:/hoge.jp/」のどこのサブディレクトリをRails動かしたいか指定します。
また、先ほどメモったLoadModule、PassengerRoot、PassengerRubyを書きます。
LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.7/ext/apache2/mod_passenger.so PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.7 PassengerRuby /usr/local/bin/ruby RailsBaseURI /redmine
次にDocumentRootが「/var/www/html」に設定されてる場合、シンボリックリンクを作ります。
# ln -s /var/lib/redmine-1.2.0/public /var/www/html/redmine
設定できたら、httpdを再起動します。
# service httpd restart
これで、http://hoge.jp/redmineで、RedMineのトップページが表示されれば設置完了です。
この後は適宜メールの設定、日本語の設定などを行ってください。