2025年12月5日

Apache2のバージョンアップ手順について


神戸六甲の峰から六甲アイランドを望む
神戸六甲の峰から六甲アイランドを望む


Webサーバに関わるアプリはインターネットに最も晒される可能性があり,そのアプリに脆弱性が発見された場合は,できる限り早期にバージョンアップする必要があります。

特に,Apache2やNginxなどの場合はWebの中核を担うため,なおさらです。

そこで今回は,Ubuntu上で稼動するApache2のバージョンアップ方法を実証します。


【実証前提条件】
・サーバ : VPSサーバ (IPアドレス:IPv4固定値)
・Linux ディストリビューション : Ubuntu  24.04 LTS(lsb_release -a)
・Apache2 : 2.4.65(apache2 -v)

それでは始めます。





1.AptコマンドにApache2のリポジトリを追加

レンタルサーバなどではセキュリティチェックをよく受けることがあります。そういう時に脆弱性チェックに引っ掛かるのがWebサーバアプリです。

現在,WebサーバアプリはNginxが主流のようですが,Apache2にも良い機能がありますので,中小規模のサーバ向けには十分だと言えます。

このApache2をバージョンアップするには,まず最新のリポジトリを入手します。幸いにもそのリポジトリを提供するサイトを立ち上げておられる方がいますので,今回はそれを利用します。

Linux環境で次のコマンドを入力します。

Linuxコード

sudo add-apt-repository ppa:ondrej/apache2



  2. インストールできるApache2を確認

次のコマンドを入力して,インストール可能なバージョンを確認します。

Linuxコード

sudo apt show apache2



  3. Aptの最新版アップデート

定番の作業ですが,aptコマンドを最新版にします。次のコマンドを入力します。

Linuxコード

sudo apt update
sudo apt upgrade



  4. 最新のApache2をインストール

取得したバージョンのリポジトリをインストールします。

Linuxコード

sudo apt install apache2


 continueの許可yesを求められます。また,定義ファイルをDefaultにするかと聞かれる場合があるので注意します。


【注意】
インストールに伴い,いろいろなエラーが出現します。次のコマンドでApache2の設定にエラーがないかを確認します。


sudo apache2ctl -t


①エラー例
[ssl:warn] [pid 1789205:tid 1789205] AH02532: SSLProtocol: Protocol ‘all’ overrides already set parameter(s). Check if a +/- prefix is missing.という警告が出力

この「warning」エラーは,Apache/2.4.65バージョンで発生するようです。設定ファイルの記述間違いですので以下のように記述します。

 「/etc/apache2/mods-enabled/ssl.conf」の中の「SSLProtocol all all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1」表示において,「all」をひとつ削除します。

②その他のエラー例
/usr/lib/apache2/modules/libphp7.4.so: cannot open shared object file: No such file or directoryというエラーが出力

 今インストールされているPHPライブラリのバージョンを確認して適切なモジュールを設定してください。(詳しくはLinuxサーバ「Ubuntu」のOSバージョンアップ手順について」第4項を参照)

apache2: Syntax error on line 80 of /etc/apache2/apache2.conf: DefaultRuntimeDir must be a valid directory, absolute or relative to ServerRootというエラーが出力

 これは,「DefaultRuntimeDir」が定義されているファイルを「source」コマンドで指定してください。(詳しくはLinuxサーバ「Ubuntu」のOSバージョンアップ手順について」第4項を参照)

いろいろなエラーが出現する可能性がありますので,エラーメッセージが出た場合は,その都度,インターネットで調べるしかないと思います。



  5. バージョンの確認

目的のバージョンになっているかを,次のコマンドで確認します。

Linuxコード

apache2 -v


【表示例】

Server version: Apache/2.4.65 (Ubuntu)
Server built:   2025-XX-XXT00:00:00



  6. Apache2の再起動

Apache2を再起動して,新しいバージョンのApavhe2を立ち上げます。次のコマンドを入力します。

Linuxコード

sudo systemctl restart apache2



  7.まとめ

今回は,Apache2のバージョンアップ方法について,備忘録的に纏めました。

簡単な作業ですが,セキュリティ上重要ですので,脆弱性の有無などを定期的に確認し,対応しておくことが望ましいです。

Apache2はUbuntuのバージョンに従属するため確認が必要です。最新版をいれるにはUbuntuをバージョンアップしてから行う必要があるかもしれません。

アプリのバージョンアップでは,予期しないエラーが多数出現しますので,エラー処理についてはインターネット上でググる必要が生じると思います。


それでは,楽しいITリテラシーライフをお過ごしください。



 (ご注意)情報の正確性を期していますが,実施される場合には自己責任でお願いします。


0 件のコメント: