久しぶりにapache2とか触るなぁ

fastcgi的なものっていくつかあったと思ってzypperで探してみたら、いっぱいでてきた。

S Name Summary Type
FastCGI A Scalable, Open Extension to CGI package
FastCGI-devel A scalable, open extension to CGI package
apache2-mod_fcgid Alternative FastCGI module for Apache2 package
apache2-mod_scgi Apache module named mod_scgi that implements the client side of the protocol. package
namazu-cgi a CGI interface for Namazu package
nut-cgi Network UPS Tools Web Server Support (UPS Status Pages) package
perl-CGI-Application Framework for building reusable web-applications package
perl-CGI-Session Persistent session data in CGI applications package
perl-CGI-Simple A Simple totally OO CGI interface that is CGI.pm compliant package
perl-FastCGI A scalable, open extension to CGI package
php5-fastcgi FastCGI PHP5 Module package
python-fcgi Python FastCGI Module package
python-scgi Python implementation of the SCGI protocol. package
ruby-fcgi FastCGI bindings for ruby package
spawn-fcgi Spawn FastCGI applications independent of the webserver package

マホー。とりあえずふつうのfastcgi的なものでいいので…ってことで、apache2-mod_fcgidに目を付ける。zypperで情報をみてみた。なんか、kick out the corrupt fastcgi server as soon as possibleとかかいてあって穏やかじゃないが、別に穏やかである必要もないのでこいつを入れてみることにする。

bounoki@phorni:/srv/www/cgi-bin/fswiki> zypper info apache2-mod_fcgid
Loading repository data...
Reading installed packages...


Information for package apache2-mod_fcgid:

Repository: openSUSE-11.2-Oss
Name: apache2-mod_fcgid
Version: 2.2-97.1
Arch: i586
Vendor: openSUSE
Installed: No
Status: not installed
Installed Size: 150.0 KiB
Summary: Alternative FastCGI module for Apache2
Description:
What is mod_fcgid? It is a binary compatibility alternative to Apache
module mod_fastcgi.
mod_fcgid has a new process management strategy, which concentrates on
reducing the number of fastcgi server, and kick out the corrupt fastcgi
server as soon as possible.
To load the module into Apache, run the command "a2enmod fcgid" as
root.
See /etc/apache2/conf.d/mod_fcgid.conf and
/usr/share/doc/packages/apache2-mod_fcgid for configuration.
Authors:
              • -
Pan qingfeng

/etc/apache2/conf.d/mod_fcgid.conf とかいうファイルができたようなので、あとはこいつをみながら.fcgiをfcgid-scriptで動かすようにしてやればいいんだな(ってすでになっていますが)。そういえば研修で、IfModuleみたいにどう動くか一意にならんものは使うな、期待したとおりに動かないならエラー吐いて落ちるようにしろと教わったんで、常時評価されるようにコメントアウトしとこう。

んで、ただ闇雲にapache2起動するとSocketPathなんてネェよ!とぶち切れられるので、loadmoduleの設定してみて、それでもだめならこのへんみてがんばって解決します。
手元のopenSUSE11.2では /etc/apache2/sysconfig.d/loadmodule.conf ってのがありますが、開いてみると「このファイルは自動生成されているよ、/etc/sysconfig/apache2にリストされてるよ。」と生暖かく書いてありました。sysconfig/apache2のAPACHE_MODULESに"mod_fcgid"って書けばいいんすかね。