torutkのブログ

ソフトウェア・エンジニアのブログ

Redmine2.0インストール格闘日記

CentOS 6.2上にRedmine 2.0.0をインストールするのに1日格闘していました。

基本は、Redmine.jpのRedmine 2.0をCentOS 6にインストールする手順 | Redmine.JP Blogに沿って進めます。

ただし一か所、Redmine用のユーザーをMySQLに作るときの手順が

mysql> grant all on db_redmine.* to user_redmine identified by '********';

となっていますが、これだとエラーになってしまいました。

mysql> grant all on db_redmine.* to user_redmine@'localhost' identified by '********';

とホスト名localhostを追加して解決しました。

また、bundlerの動きを調べたり、少しアレンジを加えたり、SELinuxを有効にしても動作させる方法を模索したり、PassengerではなくNGINXとUnicornを使おうしてみたり、といろいろ遊んでいるうちに、丸1日どっぷりになってしまいました。

格闘結果のインストール記録は以下に書いています。(まだ途中ですが)
http://www.02.246.ne.jp/~torutk/swetools/redmine/setupCentOS6.html

いくつかメモ

bundlerでgemをインストールする先をRedmine固有の場所にする

Rubyアプリケーションをいくつも動かす場合、システム共通の場所のgemパッケージを入れるとバージョンの混在が大変なので、bundlerの機能でRailsアプリケーション固有の場所に入れる方法を試してみました(--pathオプション)。
また、Passengerもbundlerで入れてみました(Gemfile.localに記載)。

NGINXとUnicorn

速いという噂で動かそうとしてみましたが、start/stopスクリプトも書かねばならず、手間がかかって途中で放棄してしまいました。いずれ再チャレンジしたいところ。

SELinux

Redmineディレクトリ以下に、chcon で httpd_content_t を追加すればいけると思っていましたが、そうは問屋がおろさず。Passengerが鬼門でした。Passengerが起動するときに、/tmpの下にファイルをroot権限?で作って、そのファイル所有者を変更する処理をしていますが、SELinuxではじかれてました。
audit.logからaudit2allowで設定を吸い上げ、semanageで登録するという手順を見つけて試してみたところ、この部分を解決できなかったようです。(睡魔で途中挫折ですが)

PassengerのRHEL6用RPMパッケージ

http://passenger.stealthymonkeys.com/

Ruby 1.8.7用になるので、今回使いませんでしたが、メモ。