CentOSのマイナーバージョンをアップデートする - CentOS 7, Cent OS 8
CentOSのマイナーバージョンをアップグレードするには「yum update」を使います。
sudo yum update
CentOSが、最新のマイナーバージョンに更新されます。
カーネルを含めてCentOSのすべての依存しているすべてのパッケージが最新のものになります。
本番環境のアップデートは開発環境で試してから
本番環境のアップデートをいきなり行うと、環境が壊れて大変なことになります。
まず最初に、開発環境で、環境をアップデートして、重要なアプリケーションが動くことを確認してください。
# Apacheの再起動 sudo systemctl reload httpd # Apacheの再起動の確認 sudo systemctl status httpd # Mariadbの再起動 sudo systemctl restart mariadb # Mariadbの再起動の確認 sudo systemctl status mariadb # Postfixの再起動 systemctl restart postfix # Postfixの確認 systemctl status postfix # Webアプリケーションの再起動 hypnotoad myapp.pl
開発環境で正しく動くことを確認したら、本番環境で実行です。
Apacheの起動に失敗しました
Apacheのバージョンがアップグレードされて、設定ファイルの互換性がない部分で、エラーが出ている可能性があります。
Apacheのステータスを確認してみましょう。
systemctl status httpd
エラーのサンプルです。
Feb 04 08:13:28 tk2-261-xxxxx.vs.sakura.ne.jp systemd[1]: Starting The Apache HTTP Server... Feb 04 08:13:28 tk2-261-xxxxx.vs.sakura.ne.jp httpd[21879]: AH00526: Syntax error on line 16 of /etc/httpd/conf.d/autoindex.conf: Feb 04 08:13:28 tk2-261-xxxxx.vs.sakura.ne.jp httpd[21879]: Invalid command 'IndexOptions', perhaps misspelled or defined by a module not included in the server configuration Feb 04 08:13:28 tk2-261-xxxxx.vs.sakura.ne.jp systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE Feb 04 08:13:28 tk2-261-xxxxx.vs.sakura.ne.jp kill[21881]: kill: cannot find process "" Feb 04 08:13:28 tk2-261-xxxxx.vs.sakura.ne.jp systemd[1]: httpd.service: control process exited, code=exited status=1 Feb 04 08:13:28 tk2-261-xxxxx.vs.sakura.ne.jp systemd[1]: Failed to start The Apache HTTP Server. Feb 04 08:13:28 tk2-261-xxxxx.vs.sakura.ne.jp systemd[1]: Unit httpd.service entered failed state. Feb 04 08:13:28 tk2-261-xxxxx.vs.sakura.ne.jp systemd[1]: httpd.service failed.
なんでしょうね「/etc/httpd/conf.d/autoindex.conf」って。Aapcheがバージョンアップされて、勝手に違う設定ファイルが読み込まれているのかな?
こんなエラーも。
Feb 04 08:42:55 vs01 systemd[1]: Starting The Apache HTTP Server... Feb 04 08:42:55 vs01 httpd[26387]: [Tue Feb 04 08:42:55.096137 2020] [so:warn] [pid 26387] AH01574: module systemd_module is already loaded, skipping Feb 04 08:42:55 vs01 httpd[26387]: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:443 Feb 04 08:42:55 vs01 systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE Feb 04 08:42:55 vs01 kill[26388]: kill: cannot find process "" Feb 04 08:42:55 vs01 systemd[1]: httpd.service: control process exited, code=exited status=1 Feb 04 08:42:55 vs01 systemd[1]: Failed to start The Apache HTTP Server. Feb 04 08:42:55 vs01 systemd[1]: Unit httpd.service entered failed state. Feb 04 08:42:55 vs01 systemd[1]: httpd.service failed.
あれ、443ポートがすでにバインドされている??? もしや、デフォルトのssl.confが勝手に読み込まれてしまっている?
こういうことがあるので、まず最初に開発環境で試してから、本番環境もアップデートしましょう。
CentOSのバージョンの確認
以下のコマンドで、最新版にアップデートされているか確認してみましょう。
cat /etc/redhat-release
最新版になっていますね。
CentOS Linux release 7.7.1908 (Core)