FastCGIはCGIを常駐化させるソフトウェアであり、FastCGIに対応したCGIスクリプトを高速化させることが出来ます。
img0chもまたFastCGI対応しているため、FastCGIを使って動作を高速化させることが出来ます。
FastCGIをインストールします。サーバーによっては最初からインストールされている場合もあります。
FastCGIは以下のURLから入手できます。
cpanシェルからインストールする場合は以下になります。
cpan install FCGI
/test/img0ch/3/Img0ch/FCGI/bin/にある拡張子がfcgiのファイルを /test/ディレクトリに移動させます。拡張子をcgiに変更して上書きすることが出来ますが、拡張子がcgiのファイルをバックアップをとってことを推奨します。
FastCGI環境下で動作させるための設定ファイルを作成し、以下の内容を書き込みます。 /PATH/TO/にはimg0chがインストールされている相対URLを指定します。ここではApacheで動作させる場合の例をとります。
拡張子がfcgiの場合はmod_rewriteのインストールが必要になりますが、拡張子がcgiの場合はAddHandlerをSetHandlerに変更し、 RewriteEngine以下の行を削除してください。
FastCgiIpcDir /tmp/.fcgi
AddHandler fastcgi-script .fcgi
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/PATH/TO/test/[\w\-]+\.cgi
RewriteRule ^.*/test/([\w\-]+)\.cgi(.*)$ /PATH/TO/test/$1.fcgi/$2 [L]
httpd.confの中に記述しても問題はありませんが、なるべくなら別ファイルとして作成することをお薦めします。別ファイルとして作成した場合は
# /path/to/img0ch.confはパス例 Include /path/to/img0ch.conf
をhttpd.confに追加する必要があります。
サーバーを再起動させます。
上記に加えて外部サーバとして起動させる場合の方法です。
FastCGIをインストールします。サーバーによっては最初からインストールされている場合もあります。
FastCGIは以下のURLから入手できます。
cpanシェルからインストールする場合は以下になります。
cpan install FCGI
/test/img0ch/3/Img0ch/FCGI/bin/img0ch-fcgi.plを web公開パス以下以外の任意のパスに移動させ、実行権限をあたえます。
img0ch-fcgi.plを稼働させます。以下は実行例です。 img0ch-fcgi.pl内にもドキュメントがかかれています。
img0ch-fcgi.pl \
-c /path/to/test/img0ch-config.cgi \
-i /PATH/TO/test/img0ch/ \
-l /tmp/img0ch-fcgi.sock \
-n 5
設定ファイルを追記または作成をします。以下は設定例です。
# Apacheの場合
# -socketにSTEP.3での-lで指定したソケットのパスを指定する
# mod_rewriteが必要
FastCgiExternalServer /tmp/img0ch.fcgi -socket /tmp/img0ch-fcgi.socket
RewriteCond %{REQUEST_URI} ^.*/test/[\w\-]+\.cgi
RewriteRule ^.*/test/[\w\-]+\.cgi(.*)$ /tmp/img0ch.fcgi/$1 [L]
# lighttpdの場合
# 引数の"socket"にSTEP.3での-lで指定したソケットのパスを指定する
$HTTP["url"] =~ "/test/[\w\-]+\.cgi" {
fastcgi.server = (
".cgi" => (
"localhost" => (
"socket" => "/tmp/img0ch-fcgi.socket",
"check-local" => "disable"
)
)
)
}