開発メモ

開発関係のメモをいろいろと。たぶん。

CentOSにRedmineをインストール

VirtualBoxにインストールしたCentOSでいろいろ実験するシリーズ。

CentOSRedmineをインストールしたときのメモ。すでに、ApacheMySQLRubyは入ってるはずなので、必要な物だけインストール。

MySQLの設定

Redmineで使用するデータベースとユーザーをあらかじめ準備しておく。

以下の内容を適当なファイルに保存。ここでは「mysql_redmine.sql」の名前で作成した。

create database db_redmine default character set utf8;
grant all on db_redmine.* to user_redmine identified by '********';
flush privileges;

※「****」の部分には、Redimine用ユーザーのパスワードを設定しておく

以下のコマンドでまとめて実行。

# mysql -u root -p < mysql_redmine.sql

Redmineのインストール

ImageMagickとヘッダファイル・日本語フォント

Redmineで使用するImageMagickと日本語フォントをインストール。

# yum install ImageMagick ImageMagick-devel
# yum install ipa-pgothic-fonts

Redmineのダウンロード

下記のサイトから、使用するRedmineをダウンロード。こっちは「redmine-2.3.1」が最新だったので、これを使用する。

RubyForge: Redmine: ファイルリスト
http://rubyforge.org/frs/?group_id=1850

curlで取得に失敗したので、PCでダウンロードしてWinSCPで送り込んだ

Redmineを展開して配置

以下のコマンドでRedmineを展開。配置先へ移動。今回は「/var/lib/redmine」へ配置した。

# tar zxvf redmine-2.3.1.tar.gz
# mv redmine-2.3.1 /var/lib/redmine

Redmineの設定

Redmineからデータベースへの接続を設定

以下の内容で「/var/lib/redmine/config/database.yml」を作成。

production:
  adapter: mysql2
  database: db_redmine
  host: localhost
  username: user_redmine
  password: ********
  encoding: utf8

※「****」の部分には、Redimine用ユーザーのパスワードを記入

Redmineの設定ファイルを作成

以下の内容で「/var/lib/redmine/config/configuration.yml」を作成。

production:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      address: "localhost"
      port: 25
      domain: 'localhost'

  rmagick_font_path: /usr/share/fonts/ipa-pgothic/ipagp.ttf

※addressやdomainは正しく設定するべき。本来なら

Redmineに必要なgemをインストール

bundlerを使ってまとめてインストール。

# cd /var/lib/redmine
# bundle install --without development test

Redmineの初期設定とデータベースのテーブル作成

鍵の生成とテーブル作成を行う。

# cd /var/lib/redmine
# bundle exec rake generate_secret_token
# RAILS_ENV=production bundle exec rake db:migrate

Passengerのインストール

ApacheRedmineを連携させるために、Passengerをインストール。

本体のインストール

# gem install passenger --no-rdoc --no-ri

Apache用モジュールのインストール

# passenger-install-apache2-module

以下、画面の指示に従って操作。インストール終了後、Apacheの設定で必要になる情報が表示されるので、コピーしておく。

だいたい、こんな感じの内容。たぶん。

LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-4.0.3/libout/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-4.0.3
PassengerDefaultRuby /usr/local/bin/ruby

コピーし忘れた場合は、以下のコマンドで再表示。

# passenger-install-apache2-module --snippet

Apacheの設定

以下、サブディレクトリでRedmineを動かす形で設定。パスで言うと「http://localhost/redmine/」になる。

Passengerの設定を追加

以下の内容で「/etc/httpd/conf.d/passenger.conf」を作成。

※基本設定の部分には「Passengerのインストール」でメモした内容を記述

# Passengerの基本設定
# passenger-install-apache2-module --snippet を実行して表示される設定を使用。
# 環境によって設定値が異なりますので以下の3行はそのまま転記しないでください。
#
LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-4.0.3/libout/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-4.0.3
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

# サブディレクトリでRedmineを実行
RackBaseURI /redmine

設定に問題がないか、確認しておく。

# service httpd configtest

Redmineを配置したディレクトリの権限を変更

# chown -R apache:apache /var/lib/redmine

シンボリックリンクの作成

Apacheのドキュメントルートに、Redmineのディレクトリへのシンボリックリンクを作成。

# ln -s /var/lib/redmine/public /var/www/html/redmine

動作確認

ここまでの作業でRedmineのインストールは終了。ただし、SELinuxの設定が出来てないためこのままでは接続できない。とりあえず、SELinuxを監視モードにして、Redmineが正常に動作するかどうかを確認。

# setenforce 0
# service httpd graceful

PCから以下のURLに接続して、いろいろ操作してみる。無事に動作しない場合、ここまでのインストール手順を見直し。

Redmine
http://localhost/redmine/

SELinuxを無効にして運用する場合、これでRedmineのインストールは終了。SELinuxを有効にした状態で運用する場合、引き続き、SELinuxの設定が必要。

情報元

Redmine 2.3をCentOS 6.4にインストールする手順 | Redmine.JP Blog
http://blog.redmine.jp/articles/2_3/installation_centos/