Redmine等のRuby on Railsアプリケーションを
実行するためのApacheモジュールを導入します。
導入することのメリットは以下の通りです。
-
Apache単独でRailsアプリケーションを実行可能。
Apacheのモジュールとして実装されており、
別途デーモンを起動する必要がなく、TCPポートも使わない。 -
Railsアプリケーションのデプロイが簡単になる。
ファイルをアップロードするだけなので、PHPのような感覚。 -
サーバのメモリを節約できる。
Railsインスタンスは必要なタイミングで生成し、
一定時間アクセスがなければインスタンスを終了させる。
-
Passenger導入
gem install passenger --no-rdoc --no-ri passenger-install-apache2-module
以下の警告は無視しました。
/usr/include/features.h:330:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp] # warning _FORTIFY_SOURCE requires compiling with optimization (-O)
以下の設定依頼が表示されるので、メモしておきます。
Please edit your Apache configuration file, and add these lines: LoadModule passenger_module /usr/local/share/ruby/gems/2.0/gems/passenger-5.0.27/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /usr/local/share/ruby/gems/2.0/gems/passenger-5.0.27 PassengerDefaultRuby /usr/bin/ruby2.0 </IfModule> After you restart Apache, you are ready to deploy any number of web applications on Apache, with a minimum amount of configuration!
ここで別のTeraTermを立ち上げ、
Apache2の設定ファイルを作成し、メモしたものを書き込みます。vi /etc/httpd/conf.d/redmine.conf
# Passengerの基本設定。 LoadModule passenger_module /usr/local/share/ruby/gems/2.0/gems/passenger-5.0.27/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /usr/local/share/ruby/gems/2.0/gems/passenger-5.0.27 PassengerDefaultRuby /usr/bin/ruby2.0 </IfModule> # サブディレクトリでRedmineを実行するための設定 RackBaseURI /redmine # Passengerが追加するHTTPヘッダを削除するための設定(任意) Header always unset "X-Powered-By" Header always unset "X-Rack-Cache" Header always unset "X-Content-Digest" Header always unset "X-Runtime" # Passengerのチューニングのための設定(任意) PassengerMaxPoolSize 20 PassengerMaxInstancesPerApp 4 PassengerPoolIdleTime 3600 PassengerHighPerformance on PassengerStatThrottleRate 10 PassengerSpawnMethod smart RailsAppSpawnerIdleTime 86400 PassengerMaxPreloaderIdleTime 0 # RedmineのCSSや画像へのアクセスを許可 <Directory "/var/lib/redmine/public"> Require all granted </Directory>
保存後、Apache2を再起動し、元のTeraTermでエンターを押下します。
/etc/rc.d/init.d/httpd restart
Apache上のPassengerでRedmineを実行するため、
Redmineのオーナーを変更します。
今回、AWSではApacheはrootユーザで実行しているため、
変更前のオーナーでも実行は可能です。chown -R apache:apache /var/lib/redmine
Apacheのドキュメントルートに指定されているディレクトリに
Redmineのpublicディレクトリに対するシンボリックリンクを作成します。ln -s /var/lib/redmine/public /var/www/html/redmine
再度、Apache2を再起動します。
これにより、全てのRailsアプリケーションも再起動されるようになります。/etc/rc.d/init.d/httpd restart
-
Redmine動作確認
以下のURLでRedmineにアクセスできれば成功です。
https://xxx.xxx.xxx.xxx/redmine/コマンド以外のRedmineの初期設定については、
以下のURLを確認しながら画面上で行います。
http://redmine.jp/tech_note/first-step/admin/