CentOS5.6にRedmine1.2.1のインストール
RedmineとはRuby on Railsで作られたオープンソースのプロジェクト管理ソフトウェアです。
タスク管理や進捗管理、グループでの情報共有が可能です。
事前準備
Ruby Enterprise Editionのダウンロード
http://www.rubyenterpriseedition.com/download.html
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
--dont-install-useful-gemsは、必要なgemパッケージはあとで手動でいれるので自動インストールをはずします。
--no-dev-docsは開発者ドキュメントなのでいらないです。
インストーラを実行するとビルドに必要な環境のチェックがはじまります。
なにかエラーが出た場合は必要なソフトウェアをインストールしましょう。
チェックが済むと、インストール先の指定ができるので、
Target directory Where would you like to install Ruby Enterprise Edition to? (All Ruby Enterprise Edition files will be put inside that directory.) [/opt/ruby-enterprise-1.8.7-2011.03] : /usr/local/
このように/usr/local/を指定してあげましょう。
gemパッケージのインストール
Redmine1.2を実行するには、それぞれのパッケージのバージョンを指定しないとうまく動きません。
↓のそれぞれのパッケージのバージョンは変えないでください。
gem install rack -v=1.1.1 --no-rdoc --no-ri gem install rake -v=0.8.7 --no-rdoc --no-ri gem install i18n -v=0.4.2 --no-rdoc --no-ri gem install mysql --no-rdoc --no-ri
MySQLの設定
my.cnfにutf8の文字設定をします。
vi /etc/my.cnf
[mysqld] character-set-server=utf8
※私の環境はMySQL5.5なのでこの設定ですが、それ以外の人は[mysql]と[mysqld]セクションにdefault-character-set=utf8を設定してください。
mysql再起動
/etc/init.d/mysqld restart
mysql -uroot -p mysql> create database redmine default character set utf8; mysql> grant all on redmine.* to redmine identified by 'redmine'; mysql> flush privileges; mysql> exit;
redmineダウンロード
cd /home/work wget http://rubyforge.org/frs/download.php/75097/redmine-1.2.1.tar.gz
展開と配置
tar zxvf redmine-1.2.1.tar.gz mv redmine-1.2.1 /usr/local/ cd /usr/local/redmine-1.2.1
コンフィグファイルの設定
cp config/database.yml.example config/database.yml
vim config/database.yml production: adapter: mysql database: db_redmine host: localhost username: redmine password: ***** encoding: utf8
cp config/configuration.yml.example config/configuration.yml
production: email_delivery: delivery_method: :smtp smtp_settings: address: "localhost" port: 25 domain: 'サーバのFQDN'
Redmineの初期設定とDBのテーブル作成
rake generate_session_store (in /usr/local/redmine-1.2.1)
rake db:migrate RAILS_ENV=production (in /usr/local/redmine-1.2.1)
↓のようにエラーになる場合があります。
rake aborted! Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) (See full trace by running task with --trace)
と表示されてマイグレートに失敗する場合があります。
エラーメッセージを見るとmysql.sockが見つからないようなので、指定してあげる必要があります。
mysqladmin -p version Enter password: mysqladmin Ver 8.42 Distrib 5.5.15, for Linux on x86_64 Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Server version 5.5.15-log Protocol version 10 Connection Localhost via UNIX socket UNIX socket /tmp/mysql.sock Uptime: 23 min 19 sec Threads: 1 Questions: 1125 Slow queries: 0 Opens: 534 Flush tables: 1 Open tables: 64 Queries per second avg: 0.804
UNIX socketの項目に/tmp/mysql.sockと書いてありました。
database.ymlファイルに設定を追記しましょう。
vim config/database.yml
production: adapter: mysql database: db_redmine host: localhost username: redmine password: ****** encoding: utf8 socket: /tmp/mysql.sock
これでもう一度実行するとうまくいくはずです。
rake db:migrate RAILS_ENV=production == AddIssuesIsPrivate: migrating ============================================= -- add_column(:issues, :is_private, :boolean, {:default=>false, :null=>false}) -> 0.0085s == AddIssuesIsPrivate: migrated (0.0086s) ==================================== == AddRepositoriesExtraInfo: migrating ======================================= -- add_column(:repositories, :extra_info, :text) -> 0.0217s == AddRepositoriesExtraInfo: migrated (0.0218s) ==============================
※さらに別のエラーが出た人。
Rake aborted! undefined method `address=' for ActionMailer::Base:Class
となってしまった人は、configuration.ymlで追加した内容の段落を間違えてしまった為だと思われます。
production: email_delivery: delivery_method: :smtp smtp_settings: address: "localhost" port: 25 domain: 'サーバのFQDN'
↑のsmtp_settings:の次の行からの3行は半角スペース2個分の段落になっています。
ちゃんと段落になっているか設定ファイルを確認しましょう。
Passengerのインストール
Apache上でRailsアプリケーションの実行に必要なPassengerをインストールします。
gem install passenger --no-rdoc --no-ri
Passengerのapache用モジュールインストール
passenger-install-apache2-module
※apacheをソースからビルドしてインストールした環境では、APX2とPATHの環境変数を設定する必要があります。
export APXS2=/usr/local/apache2/bin/apxs export PATH=/usr/local/apache2/bin:$PATH
この二つを設定してからもう一度実行してみてください。
完了すると以下のメッセージが表示されます。
太字部分はapacheの設定ファイルに記述するのでコピーしておきましょう。
-------------------------------------------- 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.9/ext/apache2/mod_passenger.so PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.9 PassengerRuby /usr/local/bin/ruby After you restart Apache, you are ready to deploy any number of Ruby on Rails applications on Apache, without any further Ruby on Rails-specific configuration! Press ENTER to continue.
Apacheの設定
vim /usr/local/apache2/conf/httpd.conf
一番下の行に先ほどコピーした三行(LoadModule〜〜)を貼り付ける
apache再起動
/etc/init.d/httpd restart
Apache上でRedmineを利用する設定
所有ユーザの変更
chown -R httpd:httpd /usr/local/redmine-1.2.1/
シンボリックリンクの作成
redmineのディレクトリにあるpublicディレクトリを、Apacheで公開しているディレクトリにシンボリックリンクを張ります
ln -s /usr/local/redmine-1.2.1/public /usr/local/apache2/htdocs/redmine
apacheの設定
以下の設定を追記します。
vim /usr/local/apache2/conf/httpd.conf RailsBaseURI /redmine
/etc/init.d/httpd restart
http://サーバ名/redmine
にアクセスして以下のような画面が表示されてば成功です。
右上のログインを押しましょう。
初期設定のアカウントはユーザ名admin パスワードadminでログインできるはずです。
これ以降の初期設定に関しては下記サイトをご参照下さい。
http://redmine.jp/tech_note/first-step/admin/