LinuxにApache2.4をソースからインストール(APRとAPR-Utilもインストール)
環境
CentOS7 Apache2.4 APR1.5.2 APR-Util-1.5.4 pcre8.32
APRとAPR-Util、PCREというものを事前にインストールする必要があるらしい。
APRはOSとソフトウェアとの違いを吸収するものらしい。
これらは以前のApcheバージョンには含まれていたが、2.4からは分離された為に別途インストールが必要になったらしい。
「らしい」ばっか。。。
手順
依存ライブラリをインストール
yum install -y pcre-devel yum install -y openssl-devel yum install -y openldap openldap-servers openldap-client
APRダウンロード
[root@localhost src]# cd /usr/local/src/ [root@localhost src]# wget http://ftp.jaist.ac.jp/pub/apache//apr/apr-1.5.2.tar.gz [root@localhost src]# tar zxvf apr-1.5.2.tar.gz
APR-util ダウンロード
[root@localhost src]# cd /usr/local/src [root@localhost src]# wget http://ftp.jaist.ac.jp/pub/apache//apr/apr-util-1.5.4.tar.gz [root@localhost src]# tar zxvf 1.5.2tar.gz
上記いずれも最新版は下記リンク先より
http://apr.apache.org/download.cgi
Apacheインストール
ダウンロードと解凍
[root@localhost proxy]# cd /usr/local/src/ [root@localhost src]# wget http://ftp.jaist.ac.jp/pub/apache//httpd/httpd-2.4.25.tar.gz [root@localhost src]# tar xzf httpd-2.4.25.tar.gz [root@localhost src]# cd httpd-2.4.25/
APR関連ファイルをApache側に配置
[root@localhost httpd-2.4.25]# cp -pr ../apr-1.5.2/ ./srclib/apr [root@localhost httpd-2.4.25]# cp -pr ../apr-util-1.5.4/ ./srclib/apr-util
./configure --prefix=/usr/local/apache2.4 \ --with-included-apr \ --enable-so \ --enable-mods-shared=all \ --enable-ssl \ --enable-rewrite \ --enable-proxy \ --enable-proxy-balancer \ > configure.log
下記エラーが発生時はyumでpcre-develをインストールする。
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
下記エラー発生時はyumでopenssl-develをインストールする。
checking whether to enable mod_ssl... configure: error: mod_ssl has been requested but can not be built due to prerequisite failures
下記エラーが出た場合はaprのconfigureファイルを修正する。
rm: cannot remove 'libtoolT': No such file or directory
[root@localhost httpd-2.4.25]# vi srclib/apr/configure
修正前
$RM "$cfgfile"
修正後
$RM -f "$cfgfile"
waringログの場合はスルーしても大丈夫かもしれませんが、必要に応じて確認します。
configure: WARNING: apr/apr-util is compiled without ldap support configure: WARNING: apr/apr-util is compiled without ldap support configure: WARNING: Your APR does not include SSL/EVP support. To enable it: configure --with-crypto configure: WARNING: nghttp2 version is too old
インストール
[root@localhost httpd-2.4.25]# make [root@localhost httpd-2.4.25]# make install
Apache設定
ここでは最低限の設定を行う
[root@localhost httpd-2.4.25]# vi /usr/local/apache2.4/conf/httpd.conf
ServerName localhost:80
使用するモジュールはコメントアウトを外す
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
起動、停止
[root@localhost httpd-2.4.25]# ps ax| grep http 21051 ? Ss 0:00 /usr/local/apache2.4/bin/httpd -k start 21052 ? Sl 0:00 /usr/local/apache2.4/bin/httpd -k start 21053 ? Sl 0:00 /usr/local/apache2.4/bin/httpd -k start 21054 ? Sl 0:00 /usr/local/apache2.4/bin/httpd -k start 21137 pts/2 R+ 0:00 grep --color=auto http [root@localhost httpd-2.4.25]# /usr/local/apache2.4/bin/apachectl stop
アクセス確認
[root@localhost httpd-2.4.25]# curl http://localhost/ <html><body><h1>It works!</h1></body></html>
完了
起動スクリプトの設定は下記記事参照