VineLinuxで、apache1+PHP4からapache2+PHP5へ

ちょっと悩んだのでメモメモ。

  • 前提:aptで、apache1+PHP4を入れている状態で、aptでapache2に移行する

apt-shellでインストールしたもの(依存で追加されたものも含む)
apache2
apache2-apr
apache2-apr-devel
apache2-devel
apache2-manual
mod_perl2
mod_ssl-apache2
openldap
php5-apache2
php5
php5-pear
php5-mysql
php5-pdo
sqlite3

で、/etc/rc.d/init.d/apache2 ができあがったので
apache2 start としたところ、

httpdを起動中: [Mon Mar 05 12:31:45 2007] [crit] Apache is running a threaded MPM, 
but your PHP Module is not compiled to be threadsafe.  
You need to recompile PHP.

どうやらこれはVineの人がよくはまる事例らしく、

/sbin/update-alternatives --config apache2

として

2        /usr/sbin/apache2.prefork

を選ぶと良いらしく、試したところすんなり起動

その後、pukiwikiは問題無く動いたんですが、OpenPNEではまり。
最初はDBが開けないらしいエラー。その時はphp5-mysqlを入れ忘れていたので
こちらを入れてすんなり解決。
さらにその後、OpenPNEの書き込みで文字化けが発生。
これは、httpd.confで対処。

#AddDefaultCharset ISO-8859-1
AddDefaultCharset off

として、

php_value default_charset UTF-8
php_value mbstring.language neutral
php_value mbstring.internal_encoding UTF-8
php_value mbstring.http_input auto
php_flag mbstring.encoding_translation Off
php_value mbstring.detect_order auto
php_value output_handler none

を追加。
ひとまず動くようになりました。