はじめに
とあるホームページのリニューアルと共に、apacheもCentOS7標準の2.4.6から最新へアップデートする事にしました。
基本的な作業としては、IUSリポジトリからyum installするだけです。
手順
リポジトリの設定
最新パッケージを導入するようにiusリポジトリをインストールします。
yum install https://centos7.iuscommunity.org/ius-release.rpm
標準のままではiusリポジトリが有効化されたままになってしまい、他のパッケージまで最新にするのを防止(今まで通りの安定パッケージにしたい) する為無効化します。
設定ファイルは、/etc/yum.repos.d/ius.repoです。
その中の「enabled=1」を「enabled=0」に変更します。
古いapacheを削除
パッケージを削除するので、事前にconf関係をバックアップしておきます。
当環境の場合は、以下のファイルです。
・/etc/httpd/conf/httpd.conf
・/etc/httpd/conf.d/ssl.conf
・/etc/httpd/conf.d/vhost.conf
・/etc/php.ini
バックアップが完了すれば、標準のapache2.4.6を削除します。
yum remove httpd
ここで注意が必要です。
依存関係もパッケージも同時に削除されてしまいます。
今回は、mod_ssl、php、python2-certbot-apacheが削除され、以下のような表示になります。
再度インストールを行う必要があるので、控えておいた方がいいと思います。
削除中:
削除後にこのような表示がされます
httpd x86_64 2.4.6-90.el7.centos @base 9.4 M
依存性関連での削除をします:
mod_ssl x86_64 1:2.4.6-90.el7.centos @base 224 k
php x86_64 7.2.26-1.el7.remi @remi-php72 10 M
python2-certbot-apache noarch 1.0.0-1.el7 @epel 399 k
httpd-toolsがインストールされている場合は、こちらも事前に削除しておきましょう。
yum remove httpd-tools
インストール
リポジトリを指定して、httpdをインストールします。
yum install --disablerepo=base --disablerepo=updates --enablerepo=ius httpd
削除されたmod_sslをインストールします。
yum install --disablerepo=base --disablerepo=updates --enablerepo=ius mod_ssl
削除されたphpを再インストールします。
(今回はphp7.2にしているので、こちらの方法で行っています)
削除されたpython2-certbot-apacheをインストールします。
yum install --disablerepo=base --disablerepo=updates --enablerepo=ius python2-certbot-apache
各種設定
バックアップしたconfファイルを戻します。
まとめ
依存関係が削除されるのですが、設定ファイルさえバックアップすればすぐに元の環境に戻せると思います。
バックアップをしなければ最初から設定する事になり、かなり面倒な作業が発生する場合もありますので注意が必要です。
コメント