はじめに
Apache2.4系をソースインストール際の手順についてまとめました。
大きく、2.2系と比べてインストールする際の手順での違いは、apr及びapr-util等が同梱されていないため、Apache公式サイトからダウンロードし、合わせてインストールする必要があります。またpcreもpcreのサイトよりダウンロードしてインストールします。
前提条件
・gccのコンパイラがインストールされていること
・/usr/local/srcに資材があること(※)本手順での例
・/opt配下に必要パッケージをインストールする(※)本手順での例
・httpsの設定を行うため、opensslも合わせてインストールする
・本手順で使用しているapr等のバージョンは、執筆時のバージョン(注)
apr
- aprのソースがあるディレクトリに移動する。
# cd /usr/local/src
- aprのソースを展開する。
# tar xzvf apr-1.6.3.tar.gz
- 展開されたaprのディレクトリに移動する。
# cd apr-1.6.3/
- コンフィグレを実行する。
# ./configure --prefix=/opt/apr-1.6.3
- コンパイルを実行する。
# make
- インストールを実行する。
# make install
- aprがインストールされたことを確認する。
# ls -l /opt
apr-util
- apr-utilのソースがあるディレクトリに移動する。
# cd /usr/local/src
- apr-utilのソースを展開する。
# tar xzvf apr-util-1.6.1.tar.gz
- 展開されたapr-utilのディレクトリに移動する。
# cd apr-util-1.6.1
- コンフィグレを実行する。
# ./configure --prefix=/opt/apr-util-1.6.1 --with-apr=/opt/apr-1.6.3
- コンパイルを実行する。
# make
- インストールを実行する。
# make install
- apr-utilがインストールされたことを確認する。
# ls -l /opt
pcre
- pcreのソースがあるディレクトリに移動する。
# cd /usr/local/src
- pcreのソースを展開する。
# tar xzvf pcre-8.38.tar.gz
- 展開されたpcreのディレクトリに移動する。
# cd pcre-8.38
- コンフィグレを実行する。
# ./configure --prefix=/opt/pcre-8.38
- コンパイルを実行する。
# make
- インストールを実行する。
# make install
- pcreがインストールされたことを確認する。
# ls -l /opt
openssl
- opensslのソースがあるディレクトリに移動する。
# cd /usr/local/src
- opensslのソースを展開する。
# tar xzvf openssl-1.1.0g.tar.gz
- 展開されたopensslのディレクトリに移動する。
# cd openssl-1.1.0g
- コンフィグレを実行する。
# ./config --prefix=/opt/openssl --shared
- コンパイルを実行する。
# make
- インストールを実行する。
# make install
- opensslがインストールされたことを確認する。
# ls -l /opt
- /etc/profileに以下のパスを追記する。
export LD_LIBRARY_PATH=/opt/openssl/lib
httpd
- httpdのソースがあるディレクトリに移動する。
# cd /usr/local/src
- httpdのソースを展開する。
# tar xzvf httpd-2.4.29.tar.gz
- 展開されたhttpdのディレクトリに移動する。
# cd httpd-2.4.29
- コンフィグレを実行する。
# ./configure \ --with-apr=/opt/apr-1.6.3 --with-apr-util=/opt/apr-util-1.6.1 --with-pcre=/opt/pcre-8.38 \ --bindir=/usr/bin --sbindir=/usr/sbin --datadir=/var/www --enable-mime-magic \ --enable-proxy --enable-proxy-ajp --enable-rewrite \ --enable-ssl --with-ssl=/opt/openssl
- コンパイルを実行する。
# make
- インストールを実行する。
# make install
- httpdがインストールされたことを確認する。
# ls -l /usr/local/
起動スクリプト
以下のファイルを配備します。
/etc/systemd/system/httpd.service
[Unit]
Description=Apache Web Server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/sbin/apachectl -k start -f /usr/local/apache2/conf/httpd.conf
ExecStop=/usr/sbin/apachectl -k stop -f /usr/local/apache2/conf/httpd.conf
ExecReload=/usr/sbin/apachectl graceful -f /usr/local/apache2/conf/httpd.conf
PrivateTmp=true
LimitNOFILE=infinity
[Install]
WantedBy=multi-user.target
参考
コンフィグレのオプションで、apacheのインストール場所を分けて、起動スクリプトでhttpd.confの指定場所を変更すれば、apacheを複数インスタンスで起動することができます。