やること
Ruby、および、Railsの実行環境を整え、Passangerを用いてApacheと連携し、
Redmineが利用できる環境を構築する。
前提条件
- MySQLの動作環境が整っていること
- Apacheの動作環境が整っていること
環境
- CentOS 6.4
- MySQL 5.6.14
- Apache 2.2.15
- Ruby 1.9.3p448
- Gem 1.8.23
- Rails 3.2.13
- Redmine 2.3.3
手順
必要なパッケージのインストール
EPELリポジトリの登録
# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
開発ツール(Cコンパイラ等)
# yum groupinstall "Development Tools"
RubyとPassengerのビルドに必要なヘッダファイルなど
# yum install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel
※MySQL(MySQL-devel)、および、httpd(httpd-devel)は既にインストール済みとする
ImageMagickとヘッダファイル・日本語フォント
# yum install ImageMagick ImageMagick-devel
# yum install ipa-pgothic-fonts
Rubyのインストール
※最新をバージョンを確認しておく。http://www.ruby-lang.org/ja/downloads/
Rubyのビルド
# curl -O ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p448.tar.gz
# tar zxvf ruby-1.9.3-p448.tar.gz
# cd ruby-1.9.3-p448
# ./configure --disable-install-doc
# make
# make install
インストール後の確認
# ruby -v
ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-linux]
# gem -v
/usr/local/lib/ruby/1.9.1/yaml.rb:84:in `<top (required)>':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
1.8.23
bundlerのインストール
# gem install bundler --no-rdoc --no-ri
データベースの作成
データベース、および、ユーザを設定。
この設定は後の手順でRedmineの設定ファイルに記述する。
# mysql -uroot -p
mysql> create database db_redmine default character set utf8;
mysql> grant all on db_redmine.* to user_redmine identified by 'password';
mysql> flush privileges;
mysql> exit
Redmineのインストール
アーカイブの取得と配置
ここでは配置先を/var/lib/redmineとする。
# wget http://rubyforge.org/frs/download.php/77138/redmine-2.3.3.tar.gz
# tar zxvf redmine-2.3.3.tar.gz
# mv redmine-2.3.3 /var/lib/redmine
データベースへの接続設定
ひな形を元にdatabase.ymlを作成し、下記の通り接続情報を記入する。
# cd /var/lib/redmine
# cp -p config/database.yml.example config/database.yml
(pathToRedmineApp/config/database.yml)
production:
adapter: mysql2
database: db_redmine
host: localhost
username: user_redmine
password: "password"
encoding: utf8
設定ファイル config/configuration.yml の作成
※Redmineからメールサーバへ接続するための設定等を行うがここでは省略。必要な場合は設定する。
Gemパッケージのインストール
※Redmineのインストールディレクトリ配下で実行する。
# bundle install --without development test
MySQL2パッケージのインストール
# gem install mysql2 -v '0.3.13' -- --with-mysql-config=/usr/bin/mysql_config
Redmineの初期設定とデータベースのテーブル作成
# bundle exec rake generate_secret_token
# RAILS_ENV=production bundle exec rake db:migrate
ApacheとPassangerの設定
Passengerのインストール
# gem install passenger --no-rdoc --no-ri
# passenger-install-apache2-module
インストール後、下記コマンドの出力結果を控えておく。
# passenger-install-apache2-module --snippet
LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-4.0.20/buildout/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-4.0.20
PassengerDefaultRuby /usr/local/bin/ruby
ApacheとPassangerを連携する設定
下記の内容で/etc/httpd/conf.d/passenger.confを作成する。
※先頭の3行は、先ほどの手順で控えておいた内容を記載する。
(/etc/httpd/conf.d/passenger.conf)
# Passengerの基本設定。
# passenger-install-apache2-module --snippet を実行して表示される設定を使用。
# 環境によって設定値が異なりますので以下の3行はそのまま転記しないでください。
#
LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-4.0.20/buildout/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-4.0.20
PassengerDefaultRuby /usr/local/bin/ruby
# Passengerが追加するHTTPヘッダを削除するための設定(任意)。
#
Header always unset "X-Powered-By"
Header always unset "X-Rack-Cache"
Header always unset "X-Content-Digest"
Header always unset "X-Runtime"
# 必要に応じてPassengerのチューニングのための設定を追加(任意)。
# 詳しくはPhusion Passenger users guide(http://www.modrails.com/documentation/Users%20guide%20Apache.html)をご覧ください。
PassengerMaxPoolSize 20
PassengerMaxInstancesPerApp 4
PassengerPoolIdleTime 3600
PassengerHighPerformance on
PassengerStatThrottleRate 10
PassengerSpawnMethod smart
RailsAppSpawnerIdleTime 86400
PassengerMaxPreloaderIdleTime 0
Apache上のPassengerでRedmineを実行するための設定
下記、3パターンあるが、ここでは「パターン2」を手順を利用。
- パターン1: webサーバをRedmine専用として使用
- パターン2: サブディレクトリでRedmineを実行
- パターン3: バーチャルホストでRedmineを実行
パーミッションの設定
# chown -R apache:apache /var/lib/redmine
シンボリックリンクの作成
# ln -s /var/lib/redmine/public /var/www/html/redmine
Apacheへの設定追加
/etc/httpd/conf.d/passenger.confへ下記を追記する。
RackBaseURI /redmine
Apacheの再起動
# service httpd configtest
# service httpd graceful
動作確認
下記にアクセスして、Redmineのログインページが表示されること。
※ログイン:admin/admin
http://hostName/redmine/
ログイン後、「管理」からデフォルト設定をロードして完了。