Ruby + Apache+ mod_fcigd構成ノート
会社は他のWEBサーバーを使いたくないので、Rubyソースを既存のApacheに公開するしかありません.半日やってやっとできました.メモを取って、参考にしてください.インストール環境Linux CentOs 5,Apache 2.2.2..9,Ruby 1.86,Rails 2.1.0.gem 1.2.0で使用されるモジュールはfast cgi,mod_です.fcgid. なぜmod_を使うのかfcgidはhttp://fastcgi.coremail.cn/index.htmを見てください.必要なファイルソースをダウンロード
2. コンパイルインストールfcgi
3. コンパイルインストールmod_fcgidモジュール
完了後にエラーがなければmod_fcgid.soファイルはapache/modules/ディレクトリに自動的にコピーされます. 4. fcgi gemのインストール
エラーメッセージ:can't find header files for rubyの場合、ruby-develパッケージをインストールする必要があります. 5. apacheはhttpdに配置する.confに次のコードを追加
OK、apacheを再起動したらhttp://yourdomain/railsproject/public/の中で訪問して着いて、このようなurlはとてもきれいではありませんが、しかし目的はすでに達成して、必要な学友は自分でvhostを加えることができます.参考資料:H o w t o S e t u p A pacheWithFastCGIAndRubyBindings
wget http://www.fastcgi.com/dist/fcgi-2.4.0.tar.gz
wget http://nchc.dl.sourceforge.net/sourceforge/mod-fcgid/mod_fcgid.2.2.tgz
2. コンパイルインストールfcgi
tar -zxvf fcgi-2.4.0.tar.gz
cd fcgi-2.4.0
./configure
make
make install
3. コンパイルインストールmod_fcgidモジュール
tar -zxvf mod_fcgid.2.2.tgz
cd mod_fcgid.2.2
: apache /usr/local/apache2 mod_fcgid.2.2
top_dir apache , apache src build , , ,
.
make
make install
完了後にエラーがなければmod_fcgid.soファイルはapache/modules/ディレクトリに自動的にコピーされます. 4. fcgi gemのインストール
gem install fcgi
エラーメッセージ:can't find header files for rubyの場合、ruby-develパッケージをインストールする必要があります. 5. apacheはhttpdに配置する.confに次のコードを追加
LoadModule fcgid_module modules/mod_fcgid.so
SocketPath /tmp/fcgidsock
DefaultInitEnv RAILS_ENV production
<Directory /htdocs/railsproject/public>
Options ExecCGI FollowSymLinks
AllowOverride AuthConfig Indexes Limit
Order allow,deny
Allow from all
AddHandler fcgid-script .fcgi
# You need mod_fcgid version >= 2.1 to support arguments "xxx/dispatch.fcgi" in FCGIWrapper
FCGIWrapper "/htdocs/railsproject/public/dispatch.fcgi" .fcgi
RewriteEngine On
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
</Directory>
OK、apacheを再起動したらhttp://yourdomain/railsproject/public/の中で訪問して着いて、このようなurlはとてもきれいではありませんが、しかし目的はすでに達成して、必要な学友は自分でvhostを加えることができます.参考資料:H o w t o S e t u p A pacheWithFastCGIAndRubyBindings