CentOS7にApache(httpd)2.4の「最新版」をインストールする方法

Apache

CentOS7にApache(httpd)2.4の「最新版」をインストールする

このページではLinuxにおけるWebサーバーのApache(httpd)2.4の最新版をインストールする方法を詳しく紹介します。

この「最新版」というところがポイントになり通常のyumインストールと違うところです。

CentOS7のApacheの「最新版」

まず前提として注意したいのが同じapache2.4の間でもかなりの差があるということです。

「普通にCentOS7でyumでインストールしたらapache2.4入るよ?最新版だよ?」と思うかもしれません。

いえ、それでは古すぎます。

CentOS7の初期リポジトリ(base)のhttpd2.4は実は2013年にリリースした2.4.6なのです。現在apacheの公式は 2.4.47(2021/4リリース)と40回以上のマイナーバージョンアップの差があります。

apache2.4はリリースされてから10年近く立ち超ロングランのソフトウェアバージョンです。アップデートはなるべくキャッチアップしながらインストールするのが良いと思います。

参考までにapacheのバージョンの歴史

古いバージョンのApacheを削除

現在、古いバージョンのhttpdがインストールされていれば削除しておきます。

#systemctl stop httpd                   ←httpd停止
#systemctl disable httpd.service    ←自動起動無効
#yum remove httpd*                    ←削除

※removeしても/etc/conf, /etc/conf.d以下のファイルは残ります

リポジトリを追加する

CentOS7に最新のhttpdをインストールするには以下の2つのリポジトリを使います

  • epelレポジトリ(Fedoraが提供するRedHat向けのパッケージ開発プロジェクト)
  • iusレポジトリ(Linux向けのパッケージ開発の有志プロジェクト)

epelリポジトリのインストール

epelリポジトリのインストールします。

# yum install epel-release

指定なしでは次からyumでこのリポジトリを使わないように無効にします。

# vi /etc/yum.repos.d/epel.repo
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch&infra=$infra&content=$contentdir
failovermethod=priority
enabled=1                    ←ここを0にする
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

iusリポジトリのインストール

iusレポジトリのインストールします。

# yum -y install https://repo.ius.io/ius-release-el7.rpm

指定なしでは次からyumでこのリポジトリを使わないように無効にします。

# vi /etc/yum.repos.d/ius.repo
[ius]
name = IUS for Enterprise Linux 7 - $basearch
baseurl = https://repo.ius.io/7/$basearch/
enabled = 1                    ←ここを0にする
repo_gpgcheck = 0
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-IUS-7

事前に必要なライブラリを追加する

httpdのインストールを実行する前に事前準備として、baseとepelリポジトリからそれぞれ以下のライブラリのインストールが必要です

# yum -y install centos-logos.noarch mailcap openldap-devel expat-devel libdb-devel openssl perl

# yum --enablerepo=epel -y install nghttp2 brotli

httpd本体インストール

httpd本体をiusリポジトリからインストールします。

# yum  -y install --disablerepo=base,extras,updates --enablerepo=ius httpd httpd-devel mod_ssl

インストールの確認

インストールされているか確認してみます。
@iusはiusリポジトリからインストール済という意味です。

# yum list | grep httpd
httpd24u.x86_64                             2.4.46-1.el7.ius           @ius     ←インストールできている
httpd24u-devel.x86_64                       2.4.46-1.el7.ius           @ius     
httpd24u-filesystem.noarch                  2.4.46-1.el7.ius           @ius     
httpd24u-mod_ssl.x86_64                     1:2.4.46-1.el7.ius         @ius     
httpd24u-tools.x86_64                       2.4.46-1.el7.ius           @ius     
httpd.x86_64                                2.4.6-97.el7.centos        updates  
httpd-devel.x86_64                          2.4.6-97.el7.centos        updates  
httpd-manual.noarch                         2.4.6-97.el7.centos        updates  
httpd-tools.x86_64                          2.4.6-97.el7.centos        updates  

httpdの起動

httpdを起動します

# systemctl start httpd                      ←httpdの起動

ブラウザで確認

ブラウザで確認してみましょう。

デスクトップ環境であればhttp://localhost/でアクセスします。

初期状態では以下のような画面が表示されるはずです。

httpdの自動起動設定

OSが再起動しても自動的にhttpdが起動するようにします。

# systemctl enable httpd.service        ←自動起動ON

apache2の設定をする

apache2の各設定をするには以下のファイルを編集する必要があります。

/etc/httpd/httpd.conf
/etc/httpd/conf.d/以下のconfファイル

くわしくは以下の記事を参考にしてください。

関連記事

CentOS7の初期リポジトリはPHPもそうですが、今となっては初期状態でのyumインストールはかなり古いものです。他にも最新版をインストールする記事を消化しますのでよろしければ参考にしてみてください!

コメント

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