半人前技術者の成長記

挫折と妄想を膨らませながら成長するだろう技術者の日記

Linux

Apache killer対応版のインストール

投稿日:

今のところ被害は受けていないが、Apache killerの対応したバージョンにアップした方が
安全なのでアップデートを行ったときの作業手順です。

今回、rpmパッケージが出ていないと思いrpmパッケージを自作することから調べ、
途中で起動スクリプト(/etc/init.d配下)ではプロセスファイルが無いために
起動はできるが停止ができないというトラブルに合った。
しかし、調べてみるとapache killerに対応したrpmがリリースされているいうことで
yumからアップデートを行い、事なきを得た。

方法論としては、2通り、1つ目は簡単なyum updateで対応済みのrpmパッケージをインストールする方法、
2つ目はrpmbuildを使ってtar.gzからrpmパッケージをインストールする方法になります。

■yum
この方法はとっても簡単で下記の通りで終わりです。

# yum update httpd

設定ファイルが差し変わるのでバックアップを取るか、通常/etc/httpd/confと/etc/httpd/conf.dに新しいファイルが
作成されているので元のファイルに戻す。

■rpmbuild
まず、apache httpdのtar.gzをダウンロードする。
次にrpmbuildコマンドでrpmを作成する。

# rpmbuild -ta httpd-2.2.21.tar.gz

これを行った時にライブラリが足りないというエラーが出て、作成が止まる。

エラー: ビルド依存性の失敗:
apr-devel は httpd-2.2.21-1.i386 に必要とされています
apr-util-devel は httpd-2.2.21-1.i386 に必要とされています
openldap-devel は httpd-2.2.21-1.i386 に必要とされています
db4-devel は httpd-2.2.21-1.i386 に必要とされています
expat-devel は httpd-2.2.21-1.i386 に必要とされています
pcre-devel >= 5.0 は httpd-2.2.21-1.i386 に必要とされています
/usr/bin/apr-1-config は httpd-2.2.21-1.i386 に必要とされています
/usr/bin/apu-1-config は httpd-2.2.21-1.i386 に必要とされています
openssl-devel は httpd-2.2.21-1.i386 に必要とされています

なので、次に必要なライブラリをインストールします。

# yum install apr-devel apr-util-devel openldap-devel db4-devel expat-devel pcre-devel distcache-devel –enablerepo=remi –enablerepo=epel –enablerepo=rpmforge

再度、rpmbuildを行うとmakeなどが走って、
完了後、/usr/src/redhat/RPMS/rpmsに4つのファイルが作成されます。

  • httpd-2.2.21-1.i386.rpm
  • httpd-devel-2.2.21-1.i386.rpm
  • httpd-manual-2.2.21-1.i386.rpm
  • mod_ssl-2.2.21-1.i386.rpm

次に、作成されたrpmパッケージをrpmコマンドを使ってインストールします。

# rpm -iUvh httpd-2.2.21-1.i386.rpm mod_ssl-2.2.21-1.i386.rpm httpd-manual-2.2.21-1.i386.rpm httpd-devel-2.2.21-1.i386.rpm
エラー: 依存性の欠如:
apr >= 1.4.2 は httpd-2.2.21-1.i386 に必要とされています
apr-util >= 1.3.10 は httpd-2.2.21-1.i386 に必要とされています
apr-devel >= 1.4.2 は httpd-devel-2.2.21-1.i386 に必要とされています
apr-util-devel >= 1.3.10 は httpd-devel-2.2.21-1.i386 に必要とされています
libtool は httpd-devel-2.2.21-1.i386 に必要とされています

また、ここでライブラリの依存でエラーになりました。
ビルドが出来ているので恐らく大丈夫だろう(普通はダメだよね)と思い、
強制インストールすることにしました。

# rpm -iUvh httpd-2.2.21-1.i386.rpm mod_ssl-2.2.21-1.i386.rpm httpd-manual-2.2.21-1.i386.rpm httpd-devel-2.2.21-1.i386.rpm –force –nodepes

その後は、/etc/init.dにある起動スクリプトが停止ができないこと以外は特に問題が無かったが、
起動スクリプトが使えないのも困るというか、面倒なのでリポジトリのapacheに入れ直しました。

<参考サイト>
Apache 2.2.21 をrpmbuildしようとして失敗したことについて
Apacheセキュリティホール対策アップデート yum対応可能

pc

pc

-Linux
-, , , ,

執筆者:

関連記事

no image

Ubuntu10.04でのAutofsを使ったNFSのマウント

Ubuntu10.04でBUFFALO TeraStation(TS-HTGL/R5)のNFSを Autofsを使ってマウントした。 やり方は、Huuah.com(英語)に書かれていた方法を参考にしま …

no image

rsyslogでログをリモートサーバに送信

クラウドや仮想環境を使ってWebサーバの複数台構成が当たり前になっています。 複数台構成になると各サーバ毎に保存されているログをわざわざ各サーバにログインして確認するのは面倒です。 また、クラウドなど …

no image

負荷監視ツール Cactiインストール

サーバの負荷監視ツールのcacti(カクタイ)を導入した時の作業手順です。 まず、yumを使ってcactiをインストール。 # yum install cacti –enablerepo= …

no image

コマンドラインからHipChatにメッセージを送信する

HipChatへコマンドラインからメッセージを投稿する方法になります。 メールでアラートを送信する方法が主に使われている方法ですが、最近のメールサーバは送信元のチェックが厳しくなったので送信したメール …

no image

直下で使われているディスク容量を出す方法

duは、ディレクトリ内のファイル容量を表示するLinuxコマンドです。 -kオプションを使うと指定ディレクトリ以降のディレクトリの容量を出力されるが、大量のファイルやディレクトリがある場合に行数が多く …

右上部広告