CentOS7のApache(httpd)を、2.4.6から2.4.39へバージョンアップしてみた(ら、httpdが起動できなくなった)
※以下1〜8の手順を実施した後に、httpdを起動できない事象に見舞われました。詳細は9の手順以降に記載。結論から言うと、httpdとmod_sslは同時にインストールした方が良さそうです。バラバラにインストールすると、依存関係でコケます。(yum updateで全部上げればいいんですけどね。httpd周りだけ上げたい方向け)
前置き
CentOS7.6にもともと入っているApache(httpd)は、2.4.6です。しかしこの2.4.6が少々古く脆弱性情報がバンバン出ておりますので、最新バージョンへアップせねばなりません。恥ずかしながら結構つまづいたので、備忘録です。
Linuxド初心者なので、「httpdのバージョンアップか〜、yum updateかな〜」ととりあえずyum update httpdを実施したところ、2.4.6のまま変わらず。なぜかわらなかったのか原因は後で考えるとして(おい)、ググったところどうやら単純なupdateではなく、httpdの再インストールが必要のようです。ガリガリの本番環境なので、嫌だな〜(泣)と思いながら、httpdの再インストールを実施することにしました。
何より困ったのが、ネットにいろんな情報が溢れていて、どれが適切なのか分からないことです。(今SEに求められているのは、ググる力だと痛感する日々・・・)いろいろ悩んだ結果、以下のサイト様が今回は良いと思い、参考にさせていただきました。
事前バックアップ
httpdの再インストールですので、httpdのバックアップが必要です。/etc/httpdをまるっと/etc/httpd_bkupしとくのが良いですね。
手順(参考サイトそのままと言っていい)
1.リポジトリを追加しました
yum install https://centos7.iuscommunity.org/ius-release.rpm
2.Apache 2.4.6を削除しました
# yum remove httpd
3.IUSリポジトリからインストールしました(が、できない)
# yum install --disablerepo=base --disablerepo=updates --enablerepo=ius httpd
4.衝突しているということことで、httpd-toolsをアンインストールしました(5の手順でインストールするときにhttpd-toolsは一緒にインストールされます)
# yum remove httpd-tools
5.IUSリポジトリからインストールしました
# yum install --disablerepo=base --disablerepo=updates --enablerepo=ius httpd
6.バージョン確認しました(2.4.39になってる!OK!)バージョン確認しました(2.4.39になってる!OK!)
# httpd -v
7.httpd.confの設定しました。これはバックアップした/etc/httpd_bkupから、/etc/httpd/confに既存ファイルをコピーする。
8.その他
・mod_sslインストール:実は本番環境ではサーバに自己証明書を入れているのですが、2のApache削除手順にてmod_sslがアンインストールされてしまったため、再インストールしました。これは参考サイトと同じですね。ssl_confも新しいものが入っているため、バックアップした/etc/httpd_bkupから既存のssl_confを持ってきます。
(追記)9.mod_sslインストール後、起動できない!泣
手順9を実施したところ、httpdが起動できなくなりました。ssl_logを見ると、依存関係が原因っぽかったので、httpdをアンインストールして、mod_sslと同時にインストールすることに。
# yum -y install --disablerepo=base,extras,updates --enablerepo=ius httpd httpd-devel mod_ssl
以下のサイト様を参考にしました。
https://www.rem-system.com/httpd-ius-install/
これで改めてhttpd.confとssl.confを更新したら、無事にバージョンが2.4.39に更新された状態で、httpdを起動することができました。。簡単に手順1〜9にまとめてますが、結構数時間あれこれ悩んだ。yum updateするのみが簡単ですが、どうしてもhttpdのみ上げたい場合は、手順9がとても重要ですね。
以上(足りない情報は後日追記します)
この記事が気に入ったらサポートをしてみませんか?