Apacheをポートを分けて複数プロセス立ち上げるぞメモ
前提条件
- 現在Apache(2.2.11)がインストールされているが、ポートを変えてもう一つ立ちあげたい
- mod_perl(2.0.4)をstaticで入れる
- とりあえずポートは8080
- ソースコードは/usr/local/srcにある
ちなみにこれを試している最中に一番使ったコマンドはmake distcleanです。何度インストールをやり直した事か…
- 現在インストールされているApacheのコンパイル時のオプションを確認
※Apacheのコンパイル時のオプションはこちら
http://www.itmedia.co.jp/help/tips/linux/l0371.html現在インストールされているApacheのコンパイル時のオプション
sv# /usr/local/apache2/bin/apachectl -V Server version: Apache/2.2.11 (Unix) Server built: Aug 26 2011 10:21:38 Server's Module Magic Number: 20051115:21 Server loaded: APR 1.3.3, APR-Util 1.3.4 Compiled using: APR 1.3.3, APR-Util 1.3.4 Architecture: 64-bit Server MPM: Prefork threaded: no forked: yes (variable process count) Server compiled with.... -D APACHE_MPM_DIR="server/mpm/prefork" -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) -D APR_USE_SYSVSEM_SERIALIZE -D APR_USE_PTHREAD_SERIALIZE -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D DYNAMIC_MODULE_LIMIT=128 -D HTTPD_ROOT="/usr/local/apache2" -D SUEXEC_BIN="/usr/local/apache2/bin/suexec" -D DEFAULT_PIDLOG="logs/httpd.pid" -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_LOCKFILE="logs/accept.lock" -D DEFAULT_ERRORLOG="logs/error_log" -D AP_TYPES_CONFIG_FILE="conf/mime.types" -D SERVER_CONFIG_FILE="conf/httpd.conf"
でも見れるが、config.logがあればそれを見るべき
sv# vi /usr/local/src/httpd-2.2.11/config.log
- インストール
Apacheのtarballを解凍し、/usr/local/src/httpd-2.2.11-8080という名前のディレクトリに。
mod_perlのtarballを解凍し、/usr/local/src/mod_perl-2.0.4-8080という名前のディレクトリに。
mod_perlをstaticで入れるので、apacheはmod_perlからインストール。
mod_perlのビルドオプションはこちら
mod_perl2のビルドオプションはこちら
http://perl.apache.org/docs/2.0/user/install/install.html#mod_perl_Build_Optionssv# cd /usr/local/src/mod_perl-2.0.4-8080 sv# perl Makefile.PL MP_USE_STATIC=1 MP_AP_PREFIX=/usr/local/src/httpd-2.2.11-8080 MP_AP_CONFIGURE="--prefix=/usr/local/apache2_8080 --with-mpm=prefork --enable-so --enable-cache --enable-disk-cache --enable-mem-cache --enable-ssl --enable-proxy --enable-proxy-http --enable-proxy-balancer --enable-distcache --enable-expires --enable-proxy_ajp --enable-rewrite --enable-static-rotatelogs --enable-logio" sv# make sv# make install
- conf等の設定
人それぞれ。ポートが80になってる所(Listenなど)を8080に。
他はパスに注意。
- 起動確認
sv# /usr/local/apache2_8080/bin/apachectl configtest
エラー出たら次へ
- 足りないモジュールのインストール
足りてなかったらそれぞれインストールしていく。
これで大丈夫か心配だけど一応動いてはいる。