3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

CentOS7.4 に 新しい Apache をビルドしてインストール

Posted at

CentOS 7.4 の 64bit版に脆弱性の対応で Apache2.4.53 をインストールしたいのですが、標準リポジトリからインストールできる Apache のバージョンは 2.4.6 です。
そのため、RPM を Apache の公式サイトからダウンロードしたソースを元に作成していきます。

パッケージ間の依存関係があるため先人の情報を参照しながら実行したため、備忘録として残しておきます。

依存関係にあるパッケージで、CentOS7.4.1708の標準リポジトリからインストールできるものについては、特別なものでない限り省略しています。

以下の各コマンドで、プロンプトが「#」で始まっているものは root ユーザーでの実行、「$」で開始しているものは一般ユーザーでの実行となります。

libuuid-develのインストール

Apache2.4.53 のRPMを作成するには、依存関係となるlibuuid-develが必要となります。
このlibuuid-develのインストールを、次に示すAPR1.5.2のRPMを作成する前に行っていないと、APR1.5.2のRPMの作成、インストールには成功しますが、Apache2.4.53 のRPMを作成する際に、以下のようなエラーになってしまいます。

エラー
/usr/lib64/libaprutil-1.so: undefined reference to `apr_os_uuid_get' collect2: error: ld returned 1 exit status

以下のコマンドを実行して、APR1.5.2のRPMを作成する前に、libuuid-develのインストールを行います。

コマンド
# yum install libuuid-devel

APR1.5.2のインストール

Apache2.4.53のRPMを作成するには、依存関係となるapr-develのバージョン1.4.0以上が必要となります。

CentOS7.4.1708の標準リポジトリからインストールできるapr-develのバージョンは1.4.8なのですが、こちらを使用した場合、ApacheのRPMの作成時に以下のようなエラーになってしまいます。

エラー
RPM ビルドのエラー: ファイルが見つかりません: /xxxxx/BUILDROOT/httpd-2.4.53-1.x86_64/usr/lib64/httpd/modules/mod_mpm_event.so

※パスの「xxxxx」の部分は、rpmbuildの実行環境により異なります。

CentOS7.4.1708の標準リポジトリからインストールできるAPRでは、eventのMPMのモジュールが作成できないため、APRの公式サイトからAPR1.5.2のソースをダウンロードしてRPMを作成し、インストールを行います。

※Apache2.4.53のRPMを作成する際に依存関係として必要なるapr-util-develは、CentOS7.4.1708の標準リポジトリからインストールできるものを利用可能ですが、apr-util-develのインストールには依存関係としてapr-develが必要となり、先にapr-util-develを標準リポジトリからインストールを行うと、apr-develも標準リポジトリのものがインストールされてしまうため、apr-util-develのインストールは、ここで紹介している手順によるapr-develのインストールが完了した後に行うようにします。

APR1.5.2のソースをダウンロード

以下のコマンドを実行して、APR1.5.2のソースのダウンロードを行います。

※ダウンロード元のURLは、APRの公式サイトから遷移できるアーカイブページにリンクがあります。

(新しいバージョンがリリースされた際にリンク切れにならないよう、ダウンロードページではなく、アーカイブページを使用するようにしています。)

コマンド
$ wget http://archive.apache.org/dist/apr/apr-1.5.2.tar.bz2

APR1.5.2のRPMを作成

以下のコマンドを実行して、APR1.5.2のRPMの作成を行います。

コマンド
$ rpmbuild -tb --clean apr-1.5.2.tar.bz2

以下のRPMが作成されます。

  • apr-1.5.2-1.x86_64.rpm
  • apr-devel-1.5.2-1.x86_64.rpm
  • apr-debuginfo-1.5.2-1.x86_64.rpm

APR1.5.2のインストール

以下のコマンドを実行して、APR1.5.2のインストールを行います。

apr-devel をインストールするには apr が必要となるため、一緒にインストールを行います。

コマンド
# rpm -Uvh apr-1.5.2-1.x86_64.rpm apr-devel-1.5.2-1.x86_64.rpm

apr-util-develのインストール

APRのインストールの冒頭に記載したように、apr-util-develのインストールは、apr-develのインストール後に行います。

以下のコマンドを実行して、apr-util-develのインストールを行います。

コマンド
# yum install apr-util-devel

distcache-develのインストール

Apache2.4.53のRPMを作成するには、依存関係となるdistcache-develが必要となります。

CentOS7.4.1708の標準リポジトリにはdistcache-develが存在しないため、ここではFedoraのdistcacheのSRPMをダウンロードしてRPMを作成し、インストールを行います。

distcacheのSRPMをダウンロード

以下のコマンドを実行して、distcacheのSRPMのダウンロードを行います。

※ダウンロード元のURLは、Fedoraのアーカイブページにリンクがあります。

コマンド
$ wget https://archive.fedoraproject.org/pub/archive/fedora/linux/releases/18/Everything/source/SRPMS/d/distcache-1.4.5-23.src.rpm

distcacheのRPMを作成

以下のコマンドを実行して、distcacheのRPMの作成を行います。

コマンド
$ rpmbuild --rebuild --clean distcache-1.4.5-23.src.rpm

以下のRPMが作成されます。

  • distcache-1.4.5-23.x86_64.rpm
  • distcache-devel-1.4.5-23.x86_64.rpm
  • distcache-debuginfo-1.4.5-23.x86_64.rpm

distcache-develのインストール

以下のコマンドを実行して、distcache-develのインストールを行います。

distcache-develをインストールするにはdistcacheが必要となるため、一緒にインストールを行います。

コマンド
# rpm -Uvh distcache-1.4.5-23.x86_64.rpm distcache-devel-1.4.5-23.x86_64.rpm

mailcapのインストール

Apache2.4.53のインストールを行うには、依存関係となる/etc/mime.typesが必要となります。

/etc/mime.typesが含まれているパッケージは、以下のコマンドで確認できます。

コマンド
# yum provides /etc/mime.types :(略) mailcap-2.1.41-2.el7.noarch : Helper application and MIME type associations for file types リポジトリー : base 一致 : ファイル名 : /etc/mime.types

この結果により/etc/mime.typesは、mailcapに含まれていることが分かります。

以下のコマンドを実行して、mailcapのインストールを行います。

コマンド
# yum install mailcap

Apache2.4.53のインストール

Apacheの公式サイトからApache2.4.53のソースをダウンロードしてRPMを作成し、インストールを行います。

Apache2.4.53のソースをダウンロード

以下のコマンドを実行して、Apache2.4.53のソースのダウンロードを行います。

※ダウンロード元のURLは、Apacheの公式サイトから遷移できるアーカイブページにリンクがあります。

(新しいバージョンがリリースされた際にリンク切れにならないよう、ダウンロードページではなく、アーカイブページを使用するようにしています。)

コマンド
$ wget http://archive.apache.org/dist/httpd/httpd-2.4.53.tar.bz2

Apache2.4.53のRPMを作成

以下のコマンドを実行して、Apache2.4.53のRPMの作成を行います。

コマンド
$ rpmbuild -tb --clean httpd-2.4.53.tar.bz2

以下のRPMが作成されます。

  • httpd-2.4.53-1.x86_64.rpm
  • httpd-devel-2.4.53-1.x86_64.rpm
  • httpd-manual-2.4.53-1.x86_64.rpm
  • httpd-tools-2.4.53-1.x86_64.rpm
  • mod_authnz_ldap-2.4.53-1.x86_64.rpm
  • mod_lua-2.4.53-1.x86_64.rpm
  • mod_proxy_html-2.4.53-1.x86_64.rpm
  • mod_socache_dc-2.4.53-1.x86_64.rpm
  • mod_ssl-2.4.53-1.x86_64.rpm
  • httpd-debuginfo-2.4.53-1.x86_64.rpm

Apache2.4.53のインストール

以下のコマンドを実行して、Apache2.4.53のインストールを行います。

コマンド
# rpm -Uvh httpd-2.4.53-1.x86_64.rpm

別途PHPのRPMを作成する場合等、httpd-develが必要となるときは、以下のコマンドを実行して、httpd-develのインストールを行います。

コマンド
# rpm -Uvh httpd-devel-2.4.53-1.x86_64.rpm

多分これで大丈夫です。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?