群れる、猫。

tmx2003-08-01











2003-07-31の続き。php-4.2.3をEAPIでリビルドメモ。


コンパイラにCFLAGS=-DEAPIをどう伝えるべきかしばし悩む。で、

setenv CFLAGS -DEAPI
して(↑tcshユーザなので)、~/work/php-4.2.3以下で

./configure --enable-mbstring --enable-mbstr-enc-trans --enable-mbregex --with-apxs=/usr/local/apache/bin/apxs --with-pgsq
l=/usr/local/pgsql/ --without-mysql
してmake clean(念の為)してmakeしてsuしてmake install。
httpd.confを確認して、あぱっち再起動。
error_logを見ても、

[Thu Jul 31 18:42:39 2003] [warn] Loaded DSO libexec/libphp4.so uses plain Apache 1.3 API, this module might crash under E
API! (please recompile it with -DEAPI)
というメッセージが出てないことを確認。
ブラウザからhttp://〜/test.phphttps://〜/test.phpの両方で動いてることを確認できたのでOK。

以上。


最新版が出ていないかチェックするべきサイト:

以下のWebページを参考にさせていただきました。

ありがとうございます。

(10/7、加筆)

意外とPHP4をEAPIでビルドするやり方の情報が少ないことに気付く(まあ、簡単なんだけど)。

さらに気をよくして、mod_auth_external-2.1.17をEAPIでリビルドメモ。


~/work/mod_auth_external-2.1.17以下で、

/usr/local/apache/bin/apxs -c -DEAPI mod_auth_external.c
してsuして

/usr/local/apache/bin/apxs -i -a mod_auth_external.so
httpd.confを確認して、あぱっち再起動。
ブラウザとエラーログで諸々確認して動いてるげなのでOK。


以上。

最新版が出ていないかチェックするべきサイト:

(10/7、加筆)

お次は、mod_auth_pgsql-0.9.12をEAPIでリビルドメモ。


さっきの続きで、既に環境変数CFLAGSが設定済みなので~/work/mod_auth_pgsql-0.9.12以下で、前回同様、

./configure --with-apxs=/usr/local/apache/bin/apxs --with-pgsql=/usr/local/pgsql
make cleanしてmakeしてsuしてmake install。
httpd.confを確認して、あぱっち再起動。
ブラウザとエラーログで諸々確認して動いてるげなのでOK。

以上。


【補足】PostgreSQLRPM等でインストールしていて、PostgreSQLのインストール先を単独で指定できない場合。

./configure --with-apxs=/usr/local/apache/bin/apxs
でOK。

参考にさせていただいたサイト:


【さらに補足】ただし、postgresql-develパッケージ(RPMファイル)がインストール済みであることが必要。インストール済みでない場合、./configure時に

checking for pgsql... checking for pgsql lib... checking for pgsql include...
configure: error: cannot find postgreSQL include files - install postgreSQL or use --with-pgsql= or --with-pgsq-lib= --with-pgsql-include=
というエラーになる。 また、ApacheRPM等でインストールしていて、モジュールのみをtarからmakeしたい場合、同様にapache-develパッケージ(RPMファイル)がインストール済みであることが必要。インストール済みでない場合、make時に
mod_auth_pgsql.c:86:19: httpd.h: No such file or directory
mod_auth_pgsql.c:87:25: http_config.h: No such file or directory
mod_auth_pgsql.c:88:23: http_core.h: No such file or directory
mod_auth_pgsql.c:89:22: http_log.h: No such file or directory
mod_auth_pgsql.c:90:27: http_protocol.h: No such file or directory
mod_auth_pgsql.c:91:20: ap_md5.h: No such file or directory
mod_auth_pgsql.c:92:22: ap_alloc.h: No such file or directory
make: *** [mod_auth_pgsql.o] Error 1
というエラーになる。 ちなみに、Turbolinux 8 ServerではデフォルトがCFLAGS=-DEAPIの模様。
(2004/5/29、追記)
最新版が出ていないかチェックするべきサイト:

(10/7、加筆)

さらに、mod_gzip-1.3.26.1aをEAPIでリビルドメモ。


~/work/mod_gzip-1.3.26.1a以下で、Makefileを変更。


2c2< APXS?=/usr/local/apache/bin/apxs

    • -

> APXS?=/usr/local/sbin/apxs
6c6< $(APXS) -Wc,-Wall,-O3,-fomit-frame-pointer,-pipe -c -DEAPI mod_gzip.c mod_gzip_debug.c mod_gzip_compress.c -o mod_
gzip.so

    • -

> $(APXS) -Wc,-Wall,-O3,-fomit-frame-pointer,-pipe -c mod_gzip.c mod_gzip_debug.c mod_gzip_compress.c -o mod_gzip.so

あとは、makeしてsuしてmake install。
httpd.confを確認&編集して、あぱっち再起動。
ブラウザとエラーログとgzipログで諸々確認して動いてるげなのでOK。
https://〜以下が圧縮されてない気がしたけど、仕様というか、当たり前か。


今回のワナ。

  • "-DEAPI"オプションを入れる場所に気を付けよう。

以上。


最新版が出ていないかチェックするべきサイト:

(10/7、加筆)

さらに、mod_perl-1.28をEAPIでリビルドメモ。


~/work/mod_perl-1.28以下で、


perl Makefile.PL USE_APXS=1 WITH_APXS=/usr/local/apache/bin/apxs EVERYTHING=1 SSL_BASE=/usr/local/ssl

makeしてmake testして
Can't make test with APXS (yet)
ってまた怒られて、またそりゃそ〜だな、と思ってsuしてmake install。

httpd.confを確認して、あぱっち再起動。
ブラウザとエラーログとgzipログで諸々確認して動いてるげなのでOK。

ちなみに、コンパイラに-DEAPIが伝わったのは、予め設定してあった環境変数(setenv CFLAGS -DEAPI)のせいか、今回設定したSSL_BASE=/usr/local/sslのせいかは不明。だけど、動いてるからま〜いっか。

以上。


最新版が出ていないかチェックするべきサイト:

(10/7、加筆)


イエーイ! 俺のあぱっちが(注:お前のじゃない)最強に強まったぜーっ!!


SERVER_SOFTWARE = Apache/1.3.28 (Unix) mod_ssl/2.8.15 OpenSSL/0.9.7b mod_perl/1.28 mod_gzip/1.3.26.1a mod_auth_pgsql/0.9.12 PHP/4.2.4-dev
だゼーっっ!!!

さあ、今日はルパンの日だから、早く帰って見よっと。