構築メモ.ターゲットはFC6 or FC7.以下を参考にしました.
pools.jp | Apache2.2+fastcgiで Ruby on Rails
##ダウンロードとインストール ###FastCGI Developer’s Kit/mod_fastcgiのダウンロード
- FastCGI Developer’s Kit
- mod_fastcgi
###展開とインストール
- FastCGI Developer’s Kit
$ tar zxvf fcgi-2.4.0.tar.gz
$ cd fcgi-2.4.0
$ ./configure
$ make
$ sudo make install
$ sudo vim /etc/ld.so.conf.d/local-lib.conf
local-lib.confの内容は
/usr/local/lib
- gemでfcgiをインストール
$ sudo gem install fcgi
- mod_fastcgi
$ tar zxvf mod_fastcgi-2.4.2.tar.gz
$ cd mod_fastcgi-2.4.2
Apache 2.2用パッチをあてる
$ wget http://kokogiko.net/fastcgi-apache22-patch
$ patch -p1 < fastcgi-apache22-patch
httpd/buildの場所を探し出し,Makefileを書き換える
$ find / -name build | grep 'httpd'
$ cp Makefile.AP2 Makefile
$ vim Makefile
$ make
$ sudo make install
Makefileの変更点は
top_dir= /usr/lib/httpd
- Apacheの設定変更
- conf.d/rails.conf
Alias /railsapp "/home/hoge/public_html/railsapp/public"
<Directory "/home/hoge/public_html/railsapp/public">
Options ExecCGI FollowSymLinks
AllowOverride all
Allow from all
Order allow,deny
</Directory>
- conf.d/fastcgi.conf
LoadModule fastcgi_module modules/mod_fastcgi.so
FastCgiConfig -idle-timeout 30 -maxClassProcesses 1 -initial-env RAILS_ENV=development -startDelay 30
FastCgiIpcDir /var/run/fastcgi
AddHandler fastcgi-script .fcgi
- conf/httpd.conf
モジュールロードのタイミングを変更する(らしい).
Include conf.d/*.conf
を以下の後へ移動
User apache
Group apache
- Railsの.htaccessの変更
先ほどAliasを切ったパスへ変更して,dispatch.cgiをdispatch.fcgiに変更
RewriteBase /railsapp
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
- log/tmpのattribute変更
$ chmod -R a+w log tmp
動作確認して,これでひとまず終わり.割と簡単だったかな.
comments powered by Disqus