FreeBSDでpkg upgradeをしてRedmineが動かなくなった時の対応方法[追記]

2016年6月18日FreeBSD,パソコン・インターネット

FreeBSDで、Apache2.4+FastCGIを使って、Redmine2.5を動かしています。

Redmine

FreeBSDのパッケージを更新する時、pkg upgrade -fをするのですが、Redmineが使えなくなる事がしょっちゅうです。毎回、上記の記事を見てやり直すのですが、毎回忘れているので、pkg upgade時に特化してのメモです。

  1. pkg upgrade -fで、パッケージ更新
  2. rubygem-passengerのログを見てapache24/Includes/Passenger.confを修正
  3. apache24/httpd.confのfastcgi_moduleのLoadModuleを有効にする
  4. /usr/local/www/redmineで、bundle installからやり直し
  5. apachectlでApacheを再起動

多分、わかっている人には常識なのでしょうけど、私はわかっていないので、毎回苦労してます。

[amazonjs asin="488337968X" locale="JP"]

1. pkg upgrade -fで、パッケージ更新

FreeBSDで、インストールされているパッケージを更新する時は、次のコマンドを実行します。

# pkg upgrade -f

pkgコマンドが古い場合、pkgコマンドの更新から始まります。

2. rubygem-passengerのログを見てapache24/Includes/Passenger.confを修正

Apacheをどのように設定しているかで変わってくると思いますが、私はPassenger系の設定を、Passenger.confに記載しています。このファイルの更新が必要です。

pkg upgradeをすると、次の様なメッセージが出ていると思います。

===============================================================================
Message for rubygem-passenger-5.0.14:
 #####################################################################

Please edit your Apache configuration file, and add these lines:

   LoadModule passenger_module /usr/local/lib/ruby/gems/2.1/gems/passenger-5.0.14/buildout/apache2/mod_passenger.so
   PassengerRoot /usr/local/lib/ruby/gems/2.1/gems/passenger-5.0.14
   PassengerRuby /usr/local/bin/ruby21

After you restart Apache, you are ready to deploy any number of Ruby on Rails
applications on Apache, without any further Ruby on Rails-specific
configuration!

私は、このメッセージの内容を、apache24/Includes/Passenger.confに記載しています。

LoadModule passenger_module /usr/local/lib/ruby/gems/2.1/gems/passenger-5.0.14/buildout/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/2.1/gems/passenger-5.0.14
PassengerRuby /usr/local/bin/ruby21

3. apache24/httpd.confのfastcgi_moduleのLoadModuleを有効にする

私は、高速化のためにFastCGIを利用しています。この設定がhttpd.confに記載されるのですが、更新時になぜかコメントアウトされてしまいます。

[322/322] Reinstalling ap24-mod_fastcgi-2.4.7_1...
Don't forget to remove all mod_fastcgi-related directives in your httpd.conf
[322/322] Extracting ap24-mod_fastcgi-2.4.7_1: 100%
[preparing module `fastcgi' in /usr/local/etc/apache24/httpd.conf]

httpd.confの、該当行のコメントを外します。

LoadModule fastcgi_module libexec/apache24/mod_fastcgi.so

4. /usr/local/www/redmineで、bundle installからやり直し

(追記 2016-01-04 12:14
なお、Gemfile.localに次の内容を記載し、fcgiを有効化してあります。Gemfile.localに書いておくと、Gemfileに追加して読み込まれる様です。

gem "fcgi"

)

毎回、この作業が必要なのですが、普通なのでしょうか? 最後のrakeの"Select language"では、jaを入力します。

# cd /usr/local/www/redmine
# bundle install
# rake generate_secret_token
# rake db:migrate RAILS_ENV=production
# rake redmine:load_default_data RAILS_ENV=production

Select language: ar, az, bg, bs, ca, cs, da, de, el, en, en-GB, es, et, eu, fa, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, lv, mk, mn, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sq, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en] ja
====================================
Default configuration data loaded.

5. apachectlでApacheを再起動

再起動が必須かどうかわからないのですが、設定が正しくできていることを確認するために、できれば再起動した方が良いと思います。

設定を書き換えていますので、Apacheを再起動します。

# apachectl restart

(追記 2015-08-14 22:09)

Apacheの再起動が必須な事に気がついたので、修正しました。

Posted by お市のかた