わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

GentooのApacheが2.2に

今週は忙しいってのに,自室の基幹サーバ(Gentoo Linux)に,「emerge -av world」をやってしまいました.Apacheのバージョンが2.2に上がり,これまでのファイルではまずいところが多く,入れ替え書き換えしました.

設定ファイル

「dispatch-conf」を実行し,一つ一つ,差分the differenceをチェックします.
重要な記述はコピーしておき,「u」(新しい設定ファイルを使用)を選びます.

ライブラリの再インストール

/etc/init.d/apache2 stopで停止…できません.
ライブラリファイルが古いとのこと.
「equery b ファイル名」でパッケージ名を求めて,「emerge -av パッケージ名」で再インストールしました.
phpについては,mysqlを要求するのですが,別にソースから入れているので,一旦noで停止.「USE="-mysql" emerge -av --nodeps php」としました.

SSLの設定ファイル

「/etc/init.d/apache2 stop」で停止できるようになりましたが,「/etc/init.d/apache2 start」は,失敗です.
SSLの設定を,/etc/apache2/modules.d/41_mod_ssl.default-vhost.confと/etc/apache2/vhosts.d/00_default_ssl_vhost.confの2箇所でしているのが原因のようです.後者に一本化しました.

AuthDigestFile

「/etc/init.d/apache2 start」は,まだダメ.
AuthDigestFileにエラーありということで,少し調べてみると,これはApache2.2では無効で,替わりにAuthUserFileを書けばいいようです.
/etc/apache2/modules.d/47_mod_dav_svn.confの該当箇所を,書き換えました.

アクセス制限

「/etc/init.d/apache2 start」は,できるようになりました.
しかしSSLでのアクセスができません.許可されていないととのこと….
ディレクトリ/etc/apache2/vhosts.dにあるいくつかのファイルの参照内容がおかしく,httpでアクセスする際のIPアドレス制限が,httpsでアクセスする際にも効いてしまっていました.
httpのアクセス制限は学内のファイアウォールに任せることにして,default_vhost.includeに書いているアクセス制限をコメントアウトしました.

MySQL/Ruby

HTMLファイルは見えるようになりましたが,ここ数日力を入れている,CGIプログラムが動いてくれません.
mysql周りが原因のようで,MySQL/Rubyを再インストールしました.
「gem uninstall mysql」と「gem install mysql」では,なぜかlibmysqlclientを認識してくれなかったので,ソースを取り寄せました.http://maskot1977.blog6.fc2.com/blog-entry-858.htmlを参考にして,「ruby extconf.rb --with-mysql-config」,「make」,そして「make install」.
これで,動作しました.