ソースコードからビルド †
公式のページ*1からソースコードをダウンロードし、ビルドする。
Apache2.2までは、Apacheのビルド・動作に必要なAPRおよびAPR-Utilが同梱されているので、これらを追加ダウンロードする必要はない。
#sh(bash){{
cd /usr/local/src
wget -O "httpd-2.2.24.tar.gz" "http://archive.apache.org/dist/httpd/httpd-2.2.24.tar.gz"
tar zxf httpd-2.2.24.tar.gz
cd httpd-2.2.24
./configure --prefix=/usr/local/httpd-2.2.24 --enable-so --enable-headlers
# 単純にビルドするだけの場合
./configure --prefix=/usr/local/httpd-2.2.24 --enable-so --enable-headlers
# mod_sslも併せてビルドする場合
# (+OpenSSLがソースからビルドして、/usr/local/opensslにある場合)
./configure --prefix=/usr/local/httpd-2.2.24 --enable-so --enable-headlers --enable-ssl --with-ssl=/usr/local/openssl
# configureが正常終了したらmakeしてビルド&インストール
make
make install
}}
mod_sslビルド中に"Error, SSL/TLS libraries were missing or unusable"と出力されてエラー終了している場合はOpenSSLの設定を見直す。
"-with-ssl="で/usr/local/srcを指定していないか、x86_64環境なのにOpenSSLのconfigureオプションに-fPICをつけ忘れていないか、など。
ソースコードからビルド(レイアウト指定) †
configureオプションにlayoutを指定することで、RedHatやAIXなど、さまざまなパッケージでインストールした時のインストール先に似せた構成でインストールすることができる。
例えばRedHatレイアウトを指定すると、RPMのhttpdのような構成にできる。
${HOME}以下にRedHatレイアウトを適応するとこんな感じ。
${HOME}/usr/bin/
/sbin/
/lib/
/etc/httpd/conf/
/var/www/html/
/cgi-bin/
/run/
/log/httpd/
#sh(bash){{
# OpenSSLが${HOME}/etc/pkiでインストールされている(--openssldir=${HOME}/etc/pki)ものとする
./configure --enable-layout=RedHat \
--prefix=${HOME}/usr \
--sysconfdir=${HOME}/etc/httpd/conf \
--datadir=${HOME}/var/www \
--localstatedir=${HOME}/var \
--mandir=${HOME}/usr/share/man \
--enable-headers --enable-so -enable-ssl --with-ssl=${HOME}/etc/pki --disable-userdir
make
make install
}}
パッケージを利用する(RPM) †
標準のリポジトリに含まれているので、そのままYUMを使いインストールすればよい。
apacheユーザが存在しない場合には自動で作成される。
#sh(bash){{
yum install httpd
}}
構成
- /etc/httpd/conf/httpd.conf
- /usr/sbin/httpd
- /usr/sbin/apachectl
- /etc/init.d/httpd
使い方 †
#sh(bash){{
# 設定確認
/etc/init.d/httpd configtest
# 起動
/etc/init.d/httpd start
# 強制停止
/etc/init.d/httpd stop
# 再起動
/etc/init.d/httpd graceful
# 強制再起動
/etc/init.d/httpd restart
}}
apachectlを利用する場合
#sh(bash){{
# 設定の確認
apachectl configtest
# 起動
apachectl start
# 停止
apachectl grafeful-stop
# 強制停止
apachectl stop
# 再起動
apachectl graceful
# 強制再起動
apachectl restart
}}
httpdから直接操作する場合
#sh(bash){{
_httpd=/usr/sbin/httpd
_conf=/etc/httpd/conf/httpd.conf
# 設定の確認
${_httpd} -t -f ${_conf}
# 起動
${_httpd} -k start -f ${_conf}
# 停止
${_httpd} -k graceful-stop -f ${_conf}
# 強制停止
${_httpd} -k stop -f ${_conf}
# 再起動
${_httpd} -k graceful -f ${_conf}
# 強制再起動
${_httpd} -k restart -f ${_conf}
}}
パッケージを利用する(DEB) †
標準リポジトリに含まれているため、パッケージマネジャーを利用しインストールする。
www-dataユーザが存在しない場合には自動で作成される。
#sh(bash){{
apt-get install apache2 apache2-dev
}}
構成
- /etc/init.d/apache2
- /etc/apache2/apache2.conf
- /usr/sbin/apache2
- /usr/sbin/apxs
インストーラを利用する(Windows) †
アーカイブサイト*2から該当のバージョンのインストーラを入手し実行する。