半人前技術者の成長記

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

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

ssh 公開鍵認証の設定

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

no image

SMTPサーバ(Postfix)の設定

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

no image

ランダム文字列をコマンドラインで生成

デフォルトだとCakePHPは、アラートを出すので、当たり前だけど。 CakePHPのSecurity.saltとchipseedを変更する際に便利なコマンド。 # 英数40桁 cat /dev/ur …

no image

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

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

no image

アクセスログからIPアドレスを抽出するコマンド

ApacheのアクセスログからIPアドレス部分のみを抜き出し、 重複したIPアドレスが何件あるのか、表示してくれるコマンド。 【コマンド】 cat /var/log/httpd/access_log …

右上部広告