Redmineのインストールで少しハマったときの話

カテゴリ: コンピュータ / 公開日: 2016年5月23日(月曜)17:00 / 投稿者: Tom Goodsun

2年ぶりぐらいの更新です。
アホみたいに忙しかった(今も忙しいけど)ので、完全に更新を怠けてました。

ちょっと思うところがあり、Redmineのインストールをしたのですが、中々うまく動かなかったので、その話。

基本的な構成

  • CentOS 7
  • Apache 2.4
  • MySQL 5.7
  • その他最新のものを使用

基本的には以下の参考サイトを見ながら、必要に応じて設定を変更(主にデータベースのところ)していくだけ。
でApacheを再起動すれば、ハイっ!動かない。

Redmine 3.1をCentOS 7.1にインストールする手順

何回インストールしても設定しても、間違いはないはずだ。ということで、Apacheのエラーログを確認してみたところ以下のようなエラーが出ていた。

[Sat May 21 03:03:04.099790 2016] [passenger:error] [pid 18377] *** Passenger could not be initialized because of this error: Apache is configured to log to a pipe, so Passenger cannot be initialized because it doesn't support logging to a pipe. Please configure Passenger with an explicit log file using the `PassengerLogFile` directive.
[Sat May 21 03:03:04.102969 2016] [mpm_prefork:notice] [pid 18377] AH00163: Apache/2.4.6 (CentOS) Phusion_Passenger/5.0.28 configured -- resuming normal operations
[Sat May 21 03:03:04.102991 2016] [core:notice] [pid 18377] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND'

どういうことかというと、私のApacheの設定がどうもRailsには合っていないらしい。

私のApacheの設定はこんな感じ。

CentOS 7.x LAMP環境構築マニュアル

問題はここ。

ErrorLog "|/usr/sbin/rotatelogs /var/www/logs/httpd/error_log.%m%d 86400 540"

CustomLog "|/usr/sbin/rotatelogs /var/www/logs/httpd/access_log.%m%d 86400 540" mylogforat env=!no_log

パイプでロギングしているのが対応してないとのこと。ということでエラーメッセージに出ている通り、PassengerLogFileを設定することする。

/etc/httpd/conf.d/redmine.conf
<Directory "/var/lib/redmine/public">
  Require all granted
</Directory>

LoadModule passenger_module /usr/local/lib/ruby/gems/2.3.0/gems/passenger-5.0.28/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
  PassengerRoot /usr/local/lib/ruby/gems/2.3.0/gems/passenger-5.0.28
  PassengerDefaultRuby /usr/local/bin/ruby
</IfModule>

Header always unset "X-Powered-By"
Header always unset "X-Runtime"
PassengerMaxPoolSize 20
PassengerMaxInstancesPerApp 4
PassengerPoolIdleTime 864000
PassengerHighPerformance on
PassengerStatThrottleRate 10
PassengerSpawnMethod smart
PassengerFriendlyErrorPages off
PassengerLogFile /var/www/logs/httpd/error.log
RackBaseURI /redmine

Apache再起動したら普通に動きました。