1. 現在のバージョンを確認
Apacheの実行ファイルが配置されているディレクトリに移動し、現在のバージョンを確認します。
cd /usr/local/apache/bin/
./httpd -v
表示されたバージョンが要件を満たさない場合は、次のステップに進みます。
2. Apacheサービスの停止
引き続きbinディレクトリ内で、サービスを安全に停止します。
./httpd -k stop
3. 設定ファイルのバックアップ
アップグレード後のトラブルに備えて、既存のApacheディレクトリをリネームしてバックアップします。
mv /usr/local/apache /usr/local/apache-backup
4. 最新版Apacheのダウンロード
公式サイトより、対象OSに合ったバイナリまたはソースコードを取得します。
https://httpd.apache.org/download.cgi
本手順ではLinux環境を想定し、ソースコードアーカイブ(.tar.gz)をダウンロードします。
5. アーカイブの展開
ダウンロードしたファイルを展開します。
tar -zxvf httpd-2.4.x.tar.gz
cd httpd-2.4.x
6. ソースコードのコンパイルとインストール
ソースコードはそのままでは使用できないため、コンパイルしてインストールする必要があります。
設定オプションの指定
以下のコマンドでコンフィグレーションを行います。実行時は1行で入力してください(改行は可読性のためのみ)。
./configure --prefix=/usr/local/apache \
--sysconfdir=/usr/local/apache/conf \
--enable-so \
--enable-ssl \
--enable-cgi \
--enable-rewrite \
--with-zlib \
--with-pcre \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--enable-modules=most \
--enable-mpms-shared=all \
--with-mpm=prefork
※ --prefix と --sysconfdir は、以前のインストール先と一致させることが重要です。パスが異なると、設定ファイルの相対パスが破損する可能性があります。
コンパイルとインストール
make
make install
正常に完了すれば、/usr/local/apache に新バージョンのファイル群が生成されます。
7. 設定ファイルの復元
バックアップしたディレクトリから、重要な設定ファイルを新環境にコピーします。
cp -r /usr/local/apache-backup/conf/httpd.conf /usr/local/apache/conf/
cp -r /usr/local/apache-backup/conf/extra/*.conf /usr/local/apache/conf/extra/
特に、ポート設定、SSL証明書パス、VirtualHost定義などは、元の設定と一致させる必要があります。
8. Apacheの再起動
新環境でサービスを起動します。
/usr/local/apache/bin/httpd -k start
起動エラーが発生した場合、error_log を確認し、復元した設定ファイル内の不整合を修正してください。
9. トラブルシューティング:ポート80の競合
起動時に「Address already in use」エラーが発生する場合、他のプロセスが80番ポートを占有しています。
netstat -tlnp | grep :80
出力結果からPIDを確認し、不要なプロセスを終了します。
kill -9 15729
再試行すると、Apacheが正常に起動します。