Lighttpd+FastCGI環境
とりあえず動かしてみることを前提に・・・・
ちなみにOSはCentOS4.2です。
コンパイラとか必要なものをインストール
yum -y install gcc yum -y install zlib-devel yum -y install readline-devel yum -y update
zlib
wget http://www.zlib.net/zlib-1.2.3.tar.gz tar xvfz zlib-1.2.3.tar.gz cd zlib-1.2.3 ./configure make make install
FastCGI
wget http://fastcgi.com/dist/fcgi-2.4.0.tar.gz tar zxvf fcgi-2.4.0.tar.gz cd fcgi-2.4.0 ./configure make make install
Ruby
wget ftp://ftp.ruby-lang.org/pub/ruby/ruby-1.8.4.tar.gz tar xvfz ruby-1.8.4.tar.gz cd ruby-1.8.4 ./configure make make install
- zlibをインストール
cd ruby-1.8.4/ext/zlib ruby extconf.rb --with-zlib-include=/usr/include --with-zlib-lib=/usr/local/lib/ruby/1.8/i686-linux make make install
Rails
wget http://rubyforge.org/frs/download.php/5207/rubygems-0.8.11.tgz tar xfz rubygems-0.8.11.tgz cd rubygems-0.8.11 su -c "ruby setup.rb" su -c "gem install rails --include-dependencies"
su -c "gem install fcgi --include-dependencies"
もしくは
gem install fcgi --remote
libpcre
(Perl Compatible Regular Expressions)のインストール lighttpd で mod_rewrite 等を動作させるには、libpcre (正規表現ライブラリ)が必須。
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-6.4.tar.gz tar xvfz pcre-6.4.tar.gz cd pcre-6.4 ./configure make make install
lighttpd
wget http://www.lighttpd.net/download/lighttpd-1.4.4.tar.gz tar xvfz lighttpd-1.4.4.tar.gz cd lighttpd-1.4.4 ./configure --with-pcre make make install ln -s /usr/local/sbin/lighttpd /usr/sbin/lighttpd cp doc/rc.lighttpd.redhat /etc/init.d/lighttpd cp doc/lighttpd.conf /usr/local/etc/
- /etc/init.d/lighttpd の設定
vi /etc/init.d/lighttpd
LIGHTTPD_CONF_PATH="/etc/lighttpd/lighttpd.conf" ↓ LIGHTTPD_CONF_PATH="/usr/local/etc/lighttpd.conf"
- /usr/local/etc/lighttpd.conf の設定
vi /usr/local/etc/lighttpd.conf
server.modules = ( "mod_rewrite", # "mod_redirect", # "mod_alias", "mod_access", # "mod_cml", # "mod_trigger_b4_dl", # "mod_auth", # "mod_status", # "mod_setenv", "mod_fastcgi", # "mod_proxy", # "mod_simple_vhost", # "mod_evhost", # "mod_userdir", "mod_cgi", # "mod_compress", # "mod_ssi", # "mod_usertrack", # "mod_expire", # "mod_secdownload", # "mod_rrdtool", "mod_accesslog" ) url.rewrite = ("^/$" => "dispatch.fcgi") server.error-handler-404 = "/dispatch.fcgi" server.document-root = "{任意のパス}" server.errorlog = "/var/log/lighttpd/error.log" accesslog.filename = "/var/log/lighttpd/access.log" fastcgi.server = ( ".fcgi" => ("localhost" => ( "min-procs" => 10, "max-procs" => 10, "socket" => "/tmp/apps.fcgi.socket", "bin-path" => "{ドキュメントルート}/dispatch.fcgi", "bin-environment" => ("RAILS_ENV" => "production") ) ) )
- ログのディレクトリを作成
mkdir /var/log/lighttpd
- dispatch.fcgiの権限を変更
chmod 755 {ドキュメントルート}/dispatch.fcgi