必要になったのでCentOSにプロジェクト管理ソフトウェアRedmineを入れることになりました。
そのインストールメモです。

基本的には以下に従って作業を行えば大丈夫です。

Redmine 1.3をCentOS 6にインストールする手順 | Redmine.JP Blog


インストール手順

  1. 必要なパッケージのインストール
  2. Rubyのインストール
  3. Redmineに必要なgemパッケージをインストール
  4. MySQLの設定
  5. Redmineのインストール
  6. Passengerのインストール
  7. Apacheの設定
  8. Redmineにアクセスするための設定


1. 必要なパッケージのインストール

下記の手順の通りです。

Redmine 1.3をCentOS 6にインストールする手順 | Redmine.JP Blog



2. Rubyのインストール

下記の手順の通りです。

Redmine 1.3をCentOS 6にインストールする手順 | Redmine.JP Blog

本手順ではオリジナルのRubyではなくPassengerの開発元であるPhusionが開発しているRuby Enterprise Editionをインストールします。

僕の場合、動くRubyアプリケーションはRedmineだけという環境だったのでこれで問題がありませんでしたが、他に動いているアプリケーションがある場合でも大丈夫かはよくわかりません…

エラー「NOTE: Gem.source_index is deprecated redmine」

RubyGemsのバージョンが新しすぎるのが原因らしいです。どのバージョンで動かすのが最適なのか僕にはよく分からないのですが…検索して見つけた情報に従って、1.6.2で動かすことにしました。

# gem update --system 1.6.2

RubyGemsのhistoryを見ると1.8.0のところで「Deprecated Gem.source_index」というのが見えるので、その1つ前1.7.1なら正常に動くんじゃないかと思います(未検証)

History - rubygems's rubygems-update-1.8.18 Documentation



3. Redmineに必要なgemパッケージをインストール

下記の手順の通りです。

Redmine 1.3をCentOS 6にインストールする手順 | Redmine.JP Blog

RMagickのインストールに少し苦労

一応そのためのガイドもあるのですが…

CentOS 5.7にRMagickをインストール | Redmine.JP Blog

なぜだかファイル入手先のサーバが落ちていてどこかにミラーがないか右往左往。今見たら特に問題なかったので、たまたまだろうとは思いますが。



4. MySQLの設定

下記の手順の通りです。

Redmine 1.3をCentOS 6にインストールする手順 | Redmine.JP Blog

僕の場合ゼロから設定しましたし、今後もUTF-8で使用するので問題ありませんでしたが、既にMySQLを使用していてUTF-8以外が設定されている場合には……面倒かも知れませんね…



5. Redmineのインストール

下記の手順の通りです。

Redmine 1.3をCentOS 6にインストールする手順 | Redmine.JP Blog

Redmine用データベースの初期設定を行ってもデータは消えない

以下のコマンドで初期設定を行いますが、既にあるデータはクリアしないようです。

# rake db:migrate RAILS_ENV=production

Redmineを入れ直すことがあり実行しましたが、データは消えませんでした。
(とはいえ、バックアップ取っておいてくださいね)



6. Passengerのインストール

下記の手順の通りです。

Redmine 1.3をCentOS 6にインストールする手順 | Redmine.JP Blog

簡単に言えばApache上でRailsアプリケーションを動かすということでしょうかね?Rubyは全く詳しくないのでメリット/デメリットは解らないのですが、Redmineだけ動かすということを考えると、Apacheのconfファイルに設定が書けたり、Apacheの再起動でPassengerも再起動できたりするのは便利だなと思いました。



7. Apacheの設定

下記の手順の通りです。

Redmine 1.3をCentOS 6にインストールする手順 | Redmine.JP Blog

上の記事にもありますが設定は「/etc/httpd/conf.d/passnger.conf」に書くと便利です。

実行ユーザーの指定

何も設定しない場合、以下のようになります。

  • Passengerプロセス → rootで実行
  • Railsアプリケーションプロセス → config/environment.rbのオーナーで実行

大体これで良いと思いますが、管理上の都合で特定のユーザーで動かしておきたい場合には以下の設定で実行ユーザーを指定できます。

PassengerUserSwitching off
PassengerDefaultUser   appache

こう設定すると、Railsアプリケーションのオーナーとは無関係にユーザー「apache」の権限で実行されます。

Passenger はどのユーザーアカウントで動くのか? - @yuumi3のお仕事日記



8. Redmineにアクセスするための設定

そのサーバをどんな用途で使用するかに依りますが、他でも使用する予定があるのであれば、シンボリックリンクが簡単かなぁと思います。

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

「/etc/httpd/conf.d/passenger.conf」への追加も忘れずに。

RailsBaseURI /redmine

この時のミス

勘違いして以下のようにシンボリックリンクを作成してしまい、403や500が解決できなくてしばらく嵌まりました。

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

publicディレクトリを持ってこないとダメでした…orz



インストールが完了したら

この辺を参考に、設定やら何やら。

Redmineを使い始めるための初期設定 | Redmine.JP

まだまだ全然解りませんが、業務の進捗が僕のところにやってくる来月くらいにはきちんと使いこなせるようになるかな…。



その他の情報

アンインストール

Redmineのディレクトリ(例えば「/var/lib/redmine」)を削除するだけです。

インストール場所を変更したい

Redmineのディレクトリ(例えば「/var/lib/redmine」)を丸ごと移動し所有者を設定。

# mv /var/lib/redmine /home/hoge
# chown -R hoge:hoge /home/hoge/redmine

次いで、シンボリックリンクを張り直せばOKです。

# rm /var/www/html/redmine
# ln -s /home/hoge/redmine/public /var/www/html/redmine