CentOS 4.8 に apache2.2をインストールすることにした。
まずは必要になりそうなパッケージをyumで。

yum install openssl-devel

この時点で最新ソースをダウンロードして展開してconfigureしてコンパイル。
configureは既存のapache2.0.52と競合しないようにprefixだけ指定。

wget http://ftp.kddilabs.jp/infosystems/apache/httpd/httpd-2.2.15.tar.gz
tar xvzf httpd-2.2.15.tar.gz
cd httpd-2.2.15
./configure --prefix=/usr/local/httpd --enable-mods-shared=all --enable-ssl=shared --enable-suexec --with-suexec-caller=apache --with-suexec-uidmin=1000 --with-suexec-gidmin=1000 --with-suexec-docroot=/home
make
make install

これで/usr/local/httpd/にインストールされる。
–enable-mods-shared=allにしておけば必要になったときに設定ファイルだけでいつでも追加できる。
–enable-ssl=sharedはallでも入らなかったのでいれた。
suexec関係はバーチャルホストで利用しているのでいれた。

/etc/httpd/conf.d ディレクトリを
/usr/local/httpd/conf.d としてコピー

/usr/local/httpd/conf/httpd.confの修正

User daemon
Group daemon

User apache
Group apache
に変更。

ServerRoot “/usr/local/httpd”
の下あたりに
PidFile /var/run/httpd.pid
を追加。
これは/etc/init.d/httpdの変更をできるだけ少なくするため。

ServerAdmin に指定してあるメールアドレスを適切に変更。

DocumentRoot “/var/www/html”
に変更。どっちでもいいんだけどあまりいろいろ変更したくないので。
それに合わせて



に変更

Include conf.d/*.conf
を追加

下記行のコメントをはずす
Include conf/extra/httpd-mpm.conf
Include conf/extra/httpd-languages.conf
Include conf/extra/httpd-default.conf
include conf/extra/httpd-ssl.conf (sslを使ってる場合) ただしこのファイルの
DocumentRoot "/usr/local/httpd/htdocs"
ServerName www.example.com:443
ServerAdmin you@example.com
ErrorLog "/usr/local/httpd/logs/error_log"
TransferLog "/usr/local/httpd/logs/access_log"

このあたりは各バーチャルホストの設定ファイルに書いているのでコメントアウト。

SSLを使ってる場合は
server.keyやserver.crtを/usr/local/httpd/conf内に設置

/etc/init.d/httpd

/etc/init.d/httpd.orgとしてコピー

/etc/init.d/httpd
を変更
apachectl=/usr/sbin/apachectl

apachectl=/usr/local/httpd/bin/apachectl
httpd=${HTTPD-/usr/sbin/httpd}

httpd=${HTTPD-/usr/local/httpd/bin/httpd}

ここでphpを再コンパイルした。というかちょうどアップデートがでていたので最新バージョンをコンパイル。その際configureのオプションで
‘–with-apxs2=/usr/sbin/apxs’
の部分を
‘–with-apxs2=/usr/local/httpd/bin/apxs’
にしてconfigure、make、make installするとちゃんと新しいhttpd.confに
LoadModule php5_module modules/libphp5.so
を追加してくれる。

これだけだとphpはちゃんと動かないのでさらに
AddType application/x-httpd-php .php .phtml
を追加。

以上で設定は全部完了。

/etc/init.d/httpd.org stop
で今動いてる古いapacheを停止。

/etc/init.d/httpd start
で新しいのを起動。

と走り書きしましたが、いつかちゃんと読みやすく成形したいけど今はちょっと時間がなくてやってられないのですみません。必要なかたは頑張って読んでください。

Share on Facebook
このエントリーをはてなブックマークに追加
はてなブックマーク -
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です