2017年8月12日土曜日

Apache HTTP Server 2.2をrpmからインストールする

検証のためにApache HTTP Server (httpd)をRHEL 6にインストールしようとした際に、微妙に依存関係のあるパッケージが多く、依存関係の解消が面倒だったので、忘れないようにメモしておく。

環境としては、RHEL 6.5を「基本サーバー」としてインストールしたものとなる。

インストール手順

まず、RHELのOSメディアをマウントする。今回はESXi 6.0の仮想化環境となるが、CD-ROMとしてマウントしているので、読み込み専用の旨のメッセージが表示される。

# mount /dev/cdrom /mnt
------------------------------
mount: ブロックデバイス /dev/sr0 は書き込み禁止です、読込み専用でマウントします
------------------------------

OSメディア内のPackagesフォルダにある、Apache HTTP Server (httpd)をインストールしてみると、なにやら4つほど依存関係のメッセージが表示されインストールに失敗する。

# cd /mnt/Packages
# rpm -ivh httpd-2.2.15-29.el6_4.x86_64.rpm
------------------------------
警告: httpd-2.2.15-29.el6_4.x86_64.rpm: ヘッダ V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
エラー: 依存性の欠如:
        apr-util-ldap は httpd-2.2.15-29.el6_4.x86_64 に必要とされています
        httpd-tools = 2.2.15-29.el6_4 は httpd-2.2.15-29.el6_4.x86_64 に必要とされています
        libapr-1.so.0()(64bit) は httpd-2.2.15-29.el6_4.x86_64 に必要とされています
        libaprutil-1.so.0()(64bit) は httpd-2.2.15-29.el6_4.x86_64 に必要とされています
------------------------------

上記依存関係を解消するためには、以下の通りパッケージをインストールしていけばよい。postgresql-libsが必要となるところがわかりづらい。

# rpm -ivh postgresql-libs-8.4.18-1.el6_4.x86_64.rpm
# rpm -ivh apr-1.3.9-5.el6_2.x86_64.rpm
# rpm -ivh apr-util-1.3.9-3.el6_0.1.x86_64.rpm
# rpm -ivh apr-util-ldap-1.3.9-3.el6_0.1.x86_64.rpm
# rpm -ivh httpd-tools-2.2.15-29.el6_4.x86_64.rpm

上記インストール後、再度httpdのインストールを試みると、以下の通り成功するはず。

# rpm -ivh httpd-2.2.15-29.el6_4.x86_64.rpm
------------------------------
警告: httpd-2.2.15-29.el6_4.x86_64.rpm: ヘッダ V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
準備中...                ########################################### [100%]
   1:httpd                  ########################################### [100%]
------------------------------