- - PR -
apacheのバージョンアップについて
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-12-26 23:06
kumapooと申します。
手探りで、下記の手順で、apache1.3.33→apache1.3.37へバージョンアップをいたしました。 一応新しいバージョンでapacheが起動したものの、error_logにおかしなメッセージが出ています。 また、libphp4.soというモジュール強引に設定してしまいました。 apacheのバージョンアップに伴い、PHPの再インストールも行わないといけないでしょうか??? ご教授お願いいたします。 -現環境 apache_1.3.33 mod_ssl-2.8.24-1.3.33 php-4.3.10 --->コンパイルオプション -PHPコンパイルオプション './configure' \\ '--with-apxs=/usr/local/apache_1.3.33/bin/apxs' \\ '--with-pgsql' \\ '--with-mysql=/usr/local/mysql' \\ '--enable-track-vars' \\ '--enable-mbstring' \\ '--enable-mbstr-enc-trans' \\ '--enable-force-cgi-redirect' \\ '--without-gd' \\ "$@" -新環境 apache_1.3.37 mod_ssl-2.8.28-1.3.37 php-4.3.10 --->コンパイルオプション % cd /usr/local/src/mod_ssl-2.8.28-1.3.37 ./configure \\ "--with-apache=../apache_1.3.37" \\ "--with-ssl=../openssl-0.9.7i" \\ "--prefix=/usr/local/apache_1.3.37" \\ "--datadir=/usr/local/apache_1.3.37" \\ "--enable-module=most" \\ "--enable-shared=max" \\ "--with-layout=Apache" \\ "--disable-module=auth_db" \\ "--enable-module=all" \\ "$@" # cd /usr/local/src/apache_1.3.37 # make # make certificate # make install ・apacheのシンボリックリンク修正 # ln -s apache_1.3.37 apache # /usr/local/apache/bin/apachectl configtest yntax error on line 248 of /usr/local/apache_1.3.37/conf/httpd.conf: Cannot load /usr/local/apache_1.3.37/libexec/libphp4.so into server: /usr/local/apache_1.3.37/libexec/libphp4.so: cannot open shared object file: No such file or directory ・httpd.confのコピー # cp /usr/local/apache_1.3.33/conf/httpd.conf /usr/local/apache_1.3.33/conf/httpd.conf ・httpd.confのlibphp4.soのパスを修正 (前)LoadModule php4_module libexec/libphp4.so (後)LoadModule php4_module /usr/local/apache/libexec/libphp4.so # /usr/local/apache/bin/apachectl start →psでプロセスは一応起動 # cat /var/log/apache/error_log [Tue Dec 26 22:18:16 2006] [notice] Apache/1.3.37 (Unix) PHP/4.3.10 configured -- resuming normal operations [Tue Dec 26 22:18:16 2006] [notice] Accept mutex: sysvsem (Default: sysvsem) [Tue Dec 26 22:18:38 2006] [notice] caught SIGTERM, shutting down [ メッセージ編集済み 編集者: kumapoo 編集日時 2006-12-26 23:08 ] [ メッセージ編集済み 編集者: kumapoo 編集日時 2006-12-26 23:13 ] | ||||||||||||
|
投稿日時: 2006-12-27 08:51
私の読解力がないだけか、今一つ把握できません。
気になったとこだけ……。 単純なところで1.3.33の時にPHPをインストールした際には、 /usr/local/apache_1.3.33/libexec/ 以下にモジュールがインストールされていますね。 エラーメッセージにありますように、 /usr/local/apache_1.3.37/libexec/ を探しても > No such file or directory になりますね。 ># cp /usr/local/apache_1.3.33/conf/httpd.conf /usr/local/apache_1.3.33/conf/httpd.conf 1.3.37へのcpと読み替えます…。 気になるのは、依然として1.3.37/libexec/にモジュールが無いはずなのにapachectlで エラーが出なかった点なのですが… もしかしてコピーしたhttpd.confに ServerRoot "/usr/local/apache_1.3.33" とか書いてませんかね? 同じディレクトリに上書きで入れている場合は、問題ないケースが多々ありますが、 違うディレクトリに入れるのであれば、このような事象を避ける為にも、 必ず関連する物は再インストールした方が良いと思われます。 ※上書きインストールでも絶対に問題がないわけでもないです。 | ||||||||||||
|
投稿日時: 2006-12-27 10:28
SHRさん
ありがとうございます!
おっしゃる通りです。1.3.37の誤りでした。
コピーしたhttpd.confに「/usr/local/apache/libexec/libphp4.so 」と記述してあります。 さらに、このとき、シンボリックリンクは貼られていなくて $ cd /usr/local/ $ ls -l apache apache_1.3.37 となっていました。 さらに、 ServerRoot "/usr/local/apache_1.3.37" LoadModule php4_module /usr/local/apache/libexec/libphp4.so だから、apacheの起動でエラーが出なかったんだと思います。
ServerRootは "/usr/local/apache_1.3.37" でした。 混乱させてしまいスイマセン。 libphp4.soについては、コピっちゃいました。 # cp -p /usr/local/apache/libexec/libphp4.so /usr/local/apache_1.3.37/libexec/ そして、httpd.confを元の設定に戻しました。 LoadModule php4_module libexec/libphp4.so 一応動作したので、(php.infoでも確認)いいのかな? なんて思ったのですが、やっぱPHPのリコンパイルしないとだめですかね。 [ メッセージ編集済み 編集者: kumapoo 編集日時 2006-12-27 10:30 ] [ メッセージ編集済み 編集者: kumapoo 編集日時 2006-12-27 10:41 ] [ メッセージ編集済み 編集者: kumapoo 編集日時 2006-12-27 10:44 ] | ||||||||||||
|
投稿日時: 2006-12-27 11:08
ずーっと昔に同じようなエラーを見た事があったのでちょっと記憶を頼りにレス
記憶に引っかかったのは Accept mutex: sysvsem (Default: sysvsem) の所なんですけど、どのバージョンだったか(それとも、何かのモジュールだったかもしれません)でこのエラーが散見して検索した所、デフォルトで「--enable-sysvsem」が有効になっているのが原因だった記憶があります。 だとしたら「--disable-sysvsem」のスイッチが有効か調べてみて、試してみてはどうでしょうか? (どうも、今sysvsemで検索してみても情報が多すぎて・・・これといった情報が見つからなくてすみませんが。) |
1