CentOS6へのredmineインストール

  • 13
    いいね
  • 2
    コメント
この記事は最終更新日から1年以上が経過しています。

基本的には以下のブログを参考に、環境によってインストールしている。

http://blog.redmine.jp/tags/インストール・設定/

以下は自分用のメモ。

更新情報

  • 2015/10/11 いろいろアップデートしたので対応

環境

項目 内容(バージョン/パス等) 内容(バージョン/パス等)
Cent OS 6.5 同左
redmine 2.5.1.stable 2.5.2.stable
ruby 2.0.0-p481 同左
gem 2.3.0 2.4.1
rails 3.2.17 3.2.19
environment production 同左
Database adapter Mysql2 同左
アプリディレクトリ /usr/local/app/redmine-x.x.x 同左
作業用ディレクトリ /usr/local/src 同左
httpdサブディレクトリ /var/www/html/redmine ※シンボリックリンク 同左
URL http://[hostname]/redmine 同左

インストール手順

0. ネットワーク関連

iptables、ip6tables、selinuxなどは必要に応じて設定。

1. yumパッケージ

1.1. パッケージインストール

# yum install gcc gcc-c++
# yum install httpd httpd-devel
# yum install mysql-server mysql-devel
# yum install openssl-devel readline-devel zlib-devel curl-devel 

1.2. epelパッケージインストール

epelリポジトリ追加
# yum install epel-release
# yum install libyaml libyaml-devel --enablerepo=epel
# yum install nodejs npm --enablerepo=epel

3. ruby

3.1. rubyインストール

実際はrbenvやruby-build使うかもしれませんが割愛。

以下からrubyソースパッケージをダウンロード
https://www.ruby-lang.org/ja/downloads/

ビルド&インストール
# tar zxvf ruby-2.0.0-p481.tar.gz 
# cd ruby-2.0.0-p481
# ./configure --disable-install-doc
# make
# make install

確認
# ruby -v
ruby 2.0.0p481 (2014-05-08 revision 45883) [x86_64-linux]

3.2. gemパッケージインストール

gemを最新版に更新
# gem update --system --no-rdoc --no-ri
# gem -v
2.3.0

bundlerインストール
# gem install bundler --no-rdoc --no-ri

passenger関連gemインストール
# gem install daemon_controller rack passenger --no-rdoc --no-ri

インストールされたgemパッケージ確認
# gem list
bigdecimal (1.2.0)
bundler (1.6.2)
daemon_controller (1.2.0)
io-console (0.4.2)
json (1.7.7)
minitest (4.3.2)
passenger (4.0.45)
psych (2.0.0)
rack (1.5.2)
rake (0.9.6)
rdoc (4.0.0)
rubygems-update (2.3.0)
test-unit (2.0.0.0)

4. mysql

4.1. my.cnfにutf8の設定を追加

/etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

character-set-server=utf8

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[mysql]
default-character-set=utf8

4.2. mysqlサービス設定

起動
# service mysqld start

自動起動設定
# chkconfig mysqld on

セキュリティ設定(rootパスワード他)
# mysql_secure_installation

DB、ユーザー作成
# mysql -u root -p
mysql> create database db_redmine default character set utf8;
mysql> grant all on db_redmine.* to user_redmine@localhost identified by '********';
mysql> flush privileges;
mysql> exit

5. redmine

5.1. redmineリソース配置

以下から最新のredmineを取得する
http://www.redmine.org/projects/redmine/wiki/Download
redmine-2.5.1.tar.gz

配置する
# tar zxvf redmine-2.5.1.tar.gz
# mv redmine-2.5.1 /usr/local/app/redmine-2.5.1

5.2. redmineビルド(bundlerを使用)

5.2.1. redmine配置先に移動

# cd /usr/local/app/redmine-2.5.1

5.2.2. database.ymlを作成

config/database.yml
  production:
  adapter: mysql2
  database: db_redmine
  host: localhost
  username: user_redmine
  password: "********"
  encoding: utf8

5.2.3. bundleインストール(インターネット上の最新リソースを参照)

"vendor/bundle"にgemパッケージ等をインストールする
対象はproduction環境のみ、rmagickも除く

# bundle install --without development test rmagick --path vendor/bundle

5.2.4. redmineのビルド

# bundle exec rake generate_secret_token
# RAILS_ENV=production bundle exec rake db:migrate

6. passengerとhttpdの設定

6.1. httpdモジュールインストール

インストール
# passenger-install-apache2-module

6.2. passenger用conf設定

/etc/httpd/conf.d/passenger.conf
LoadModule passenger_module /usr/local/lib/ruby/gems/2.0.0/gems/passenger-4.0.45/buildout/apache2/mod_passenger.so
   <IfModule mod_passenger.c>
     PassengerRoot /usr/local/lib/ruby/gems/2.0.0/gems/passenger-4.0.45
     PassengerDefaultRuby /usr/local/bin/ruby
   </IfModule>

# 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"

PassengerMaxPoolSize 20
PassengerMaxInstancesPerApp 4
PassengerPoolIdleTime 3600
PassengerHighPerformance on
PassengerStatThrottleRate 10
PassengerSpawnMethod smart
RailsAppSpawnerIdleTime 86400
PassengerMaxPreloaderIdleTime 0

# DocumentRootのサブディレクトリで実行する設定
RackBaseURI /redmine

6.3. シンボリックリンク作成

# ln -s /usr/local/app/redmine-2.5.1/public /var/www/html/redmine

6.4. 権限設定

# chown -R apache:apache /var/www/html/redmine
# chown -R apache:apache /usr/local/app/redmine-2.5.1

6.5. httpdサービス起動 or 再起動

httpdサービス自動起動有効化
# chkconfig httpd on

httpdサービス起動
# service httpd configtest
# service httpd start

またはhttpdサービスの再起動
# service httpd configtest
# service httpd graceful