本ブログはアフィリエイト広告を利用しています。

CentOS7にApache httpd 2.4 (2.4.54)をインストール

apache-httpd プログラミング

脆弱性の問題等もあるしApache httpdのインストール方法を再確認します。
httpdとかは1回インストールするとその後はそこまで頻繁にアップデートしないことが多々あるので・・・。

必要なライブラリをダウンロード

httpdのインストールに必要なApache関連のライブラリをダウンロードします。
必要なライブラリは以下です。
インストールするライブラリは2022/08/20日現在の最新バージョンを使用していきます。

Apache httpdをダウンロード

$ cd /usr/local
$ wget https://dlcdn.apache.org//httpd/httpd-2.4.54.tar.gz
$ tar xvfz httpd-2.4.54.tar.gz

APR, APR-utilをダウンロード

$ cd httpd-2.4.54/srclib
$ wget https://dlcdn.apache.org//apr/apr-1.7.0.tar.gz
$ wget https://dlcdn.apache.org//apr/apr-util-1.6.1.tar.gz
$ tar xvfz apr-1.7.0.tar.gz
$ tar xvfz apr-util-1.6.1.tar.gz

Apache httpdインストールのコマンド実行時にエラーとなるため事前にフォルダ名を変更する

$ mv apr-1.7.0/ apr
$ mv apr-util-1.6.1/ apr-util

不要なファイルを削除

$ rm -f apr*tar.gz

Apache httpd インストール

$ cd /usr/local/httpd-2.4.54
$ ./configure -prefix=/usr/local/httpd-2.4.54 --enable-so --enable-shared --enable-ssl --enable-rewrite --enable-expires --enable-deflate --enable-headers --with-included-apr --enable-substitute --with-included-apr-util

-- 省略 --

configure: summary of build options:

    Server Version: 2.4.54
    Install prefix: /usr/local/httpd-2.4.54
    C compiler:     gcc -std=gnu99
    CFLAGS:          -g -O2 -pthread
    CPPFLAGS:        -DLINUX -D_REENTRANT -D_GNU_SOURCE
    LDFLAGS:
    LIBS:
    C preprocessor: gcc -E


$ make

-- 省略 --

make[4]: Leaving directory `/root/work/httpd-2.4.54/modules/mappers'
make[3]: Leaving directory `/root/work/httpd-2.4.54/modules/mappers'
make[2]: Leaving directory `/root/work/httpd-2.4.54/modules'
make[2]: Entering directory `/root/work/httpd-2.4.54/support'
make[2]: Leaving directory `/root/work/httpd-2.4.54/support'

make[1]: Leaving directory `/root/work/httpd-2.4.54'

$ make install

-- 省略 --


Installing configuration files
Installing HTML documents
Installing error documents
Installing icons
Installing CGIs
Installing header files
Installing build system files
Installing man pages and online manual
make[1]: Leaving directory `/root/work/httpd-2.4.54'

インストール時に出るエラー

このエラーが出たらこちらを参照してください。
zlibが見つからなかった場合の対処法です。

checking for zlib location… not found

checking whether to enable mod_deflate… configure: error: mod_deflate has been requested but can not be built due to prerequisite failures

もう1つ。このエラーが出たらこちらを参照してください。
OpenSSLのバージョンが古かった場合の対処法です。

configure: WARNING: OpenSSL version is too old

no

checking whether to enable mod_ssl… configure: error: mod_ssl has been requested but can not be built due to prerequisite failures

インストールしたバージョンを有効にする

上記手順ではまだ以前のhttpdバージョンのままなのでsystemdのUnit設定ファイルを編集していきます。
今まであまり意識していなかったのですが下記URLによると/usr/lib/systemd/system/etc/systemd/systemでは使い道が異なるので /etc/systemd/system (管理者によるカスタマイズファイル置き場)にUnitファイルを作成します。
https://weblabo.oscasierra.net/centos7-systemd-files/

$ vi /etc/systemd/system/httpd.service

[Unit]
Description=Apache 2.4.54
After=syslog.target network.target

[Service]
Type=forking

ExecStart=/usr/local/httpd-2.4.54/bin/apachectl -k start
ExecStop=/usr/local/httpd-2.4.54/bin/apachectl -k stop
ExecReload=/usr/local/httpd-2.4.54/bin/apachectl -k graceful

[Install]
WantedBy=multi-user.target

設定ファイルを有効化します。

$ systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /etc/systemd/system/httpd.service.

$ systemctl start httpd
$ systemctl status httpd
● httpd.service - Apache 2.4.54
   Loaded: loaded (/etc/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2022-08-19 10:00:34 PDT; 5s ago
  Process: 109177 ExecStart=/usr/local/httpd-2.4.54/bin/apachectl -k start (code=exited, status=0/SUCCESS)
 Main PID: 109183 (httpd)
    Tasks: 82
   CGroup: /system.slice/httpd.service
           tq109183 /usr/local/httpd-2.4.54/bin/httpd -k start
           tq109184 /usr/local/httpd-2.4.54/bin/httpd -k start
           tq109185 /usr/local/httpd-2.4.54/bin/httpd -k start
           mq109186 /usr/local/httpd-2.4.54/bin/httpd -k start

Aug 19 10:00:34 localhost.localdomain systemd[1]: Starting Apache 2.4.54...
Aug 19 10:00:34 localhost.localdomain apachectl[109177]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using ... message
Aug 19 10:00:34 localhost.localdomain systemd[1]: Started Apache 2.4.54.
Hint: Some lines were ellipsized, use -l to show in full.

これでインストール完了です。

以上です。

コメント

タイトルとURLをコピーしました