ServersMan@VPSの Ubuntu に Redmine をインストールした。

ServersMan@VPSUbuntuRedmineをインストールした。
詳細な手順は
http://blog.redmine.jp/articles/redmine-1_1-installation_centos/
に詳しいが、Ubuntu ということで多少違う部分があったため、メモとして残しておく。
ちなみに、上記手順書自体は非常に丁寧に書かれており、CentOS 向けとはなっているが、Ubuntu であってもほとんど問題は起こらなかった。

CentOSの設定」

ServersMan@VPS の場合は管理用の Apache が動いていたので、特に作業は必要無かった。

「必要なパッケージのインストール」の部分

MySQL 関連だけ追加で入れた。(他は後でエラーが起こったら足りないものを入れようと思ったが、そのスタンスで問題無かったようだ。)

# apt-get install mysql-server libmysqlclient-dev

Rubyのインストール」

一回目のインストーラ実行時はライブラリが不足している旨のメッセージが出るが、インストーラの指示に従ってapt-getで足りないパッケージをインストールしてから再実行すればOK。(すばらしいインストーラだ。)

Redmineのインストール」

rakeが無いと言われたので、gemでインストールした。

# gem install rake

※こちらを参考にした。
http://d.hatena.ne.jp/mihoko_az/20110503/1304415095

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

passenger-install-apache2-module コマンド実行時に、Ruby インストール時と同じように不足しているパッケージを教えてくれるので、apt-get でインストールすれば問題ない。

Apacheの設定」

「1. worker MPMに切り替える」

Ubuntuの場合の切り替え方が分からなかった。
とりあえずは速度を求めていないのでTODOとしてスルー。

「2. Passengerの設定を追加」

passenger.conf を /etc/apache2/conf.d 以下に作成する。
gems ディレクトリ以下のPassengerのバージョンが執筆時点だと3.0.5→3.0.7だったのと、Ruby Enterprise Editionをデフォルトの /opt 以下にインストールしていたので、そこも変更。
その状態でApacheを起動すると、「Headers」で始まる行が、mod_headers モジュールがロードされていないためシンタックスエラーとなる。
そのため、 mod_headersをロードする。

# cd /etc/apache2/mods-enabled
# ln -s ../mods-available/headers.load headers.load

その後 Apache を起動したところ、起動に成功。

Apache上のPassengerでRedmineを実行するための設定」

/var/lib/redmine の所有者を変更するよう指示されている。
しかし、 ps コマンドで見たところ、Apacheのプロセスが root のものと daemon のものの2つある。
Passenger のプロセスは root になっているようなので、とりあえずそのままに。

これで初期画面は出た。
Redmine のインストーディレクトリのパーミッションを変更していないので、何か問題が出るかもしれない。
しばらく使ってみる。

追記 - /var/lib/redmineの所有者について

インストールしたそのままだと、添付ファイルをアップロードする際にPermission Deniedとなる。
ファイルはnobody/nogroupの所有者で作られるようなので、/var/lib/redmineごと、

# chown -R nobody:nogroup /var/lib/redmine

しておいた。