1台のサーバに複数のApacheを入れる機会があったので、そのメモ。
すでに1個Apacheがインストールされていてポートはデフォルトの「80」だった。
通常通りインストールすると競合してしまうので、いろいろ設定した。
■今回の環境
今回は以下の環境を想定して解説する。
サーバ:CentOS 5
ビット:64bit
Apacheインストールディレクトリ:/home/hoge/apache2
ポート番号:1234
■Apacheインストール
# su - hoge
# wget http://hogehoge.hoge/hoge/httpd-2.0.63.tar.gz
# tar -xvzf httpd-2.0.63.tar.gz
# cd httpd-2.0.63
# ./configure --prefix=/home/hoge/apache2
# make
/usr/lib/libexpat.so: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make[2]: *** [htpasswd] エラー 1
make[2]: ディレクトリ `/home/hoge/httpd-2.0.63/support' から出ます
make[1]: *** [all-recursive] エラー 1
make[1]: ディレクトリ `/home/hoge/httpd-2.0.63/support' から出ます
make: *** [all-recursive] エラー 1
上記のようなエラーが発生。
libexpat.soの場所がダメっぽい。64bit版libexpat.soを使用しなくてはいけないらしい。
以下のオプションをつけて再度実行。正常にインストールできた様子。
# ./configure --prefix=/home/hoge/apache2 --with-expat=builtin
# make
# make install
Apacheのconfigureオプションは、helpを見ても存在しない奴があるから困る。
■ポート設定、起動チェック
デフォルトのままだと、既存のApacheと重複してしまうのでポートを変更する。
# vi /home/hoge/apache2/conf/httpd.conf
219行目辺りのListenをコメントアウトにし、新たに1234を定義。そして保存。
219 #Listen 80
220 # mikuriya 2008/03/25
221 Listen 1234
Apacheを起動する。
# /home/hoge/apache2/bin/apachectl start
特にエラーなく起動されたので、ブラウザで確認する。
http://hoge.hoge.hoge:1234/
正常に見れた。既存のApacheも動作してるか見てみる。
http://hoge.hoge.hoge/
こちらも正常に動作している様子。
参考:http://hirokawa.netflowers.jp/entry/4969/