半人前技術者の成長記

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

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

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

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

no image

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

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

no image

ssh 公開鍵認証の設定

接続先のサーバーにローカルで作成した公開鍵を設置する方法が一般的な方法ですが、毎回鍵を作り直す手間があります。 そこで、今回はサーバー上の秘密鍵をローカルに転送し、利用することにしました。 鍵の作成 …

no image

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

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

no image

SMTPサーバ(Postfix)の設定

仕事でも個人でも、SMTPサーバを利用する機会ができたので、 デフォルトのSendmailではなく、Postfixをインストールして 設定してみたいと思い、Postfixに挑戦。 基本的には、Post …

右上部広告