読者です 読者をやめる 読者になる 読者になる

ボールを蹴りたいシステムエンジニア

ボール蹴りが大好きなシステムエンジニア、ボールを蹴る時間確保の為に時間がある時には勉強する。

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>

完了

起動スクリプトの設定は下記記事参照

toriaezu-engineer.hatenablog.com