2026年5月19日
2026年5月19日
ApacheでSSL/TLSを有効にする方法
はじめに
この記事では、Webサイトの安全性を高めるためにApache HTTP ServerでSSL/TLSを有助する方法について説明します。最近ではHTTPSが必須とされつつあり、ユーザーからの信頼を得るためにも適切なセキュリティ措置を講じる必要があります。
症状・背景
このテーマが必要になる主な場面:
- ウェブサイトの安全性を向上させたい
- HTTPSを使用してSSL/TLS証明書を導入したい
- 既存のApacheサーバーにHTTPSを追加したい
手順・設定方法
ステップ1: SSL/TLS証明書を取得
まず、ウェブサイト用のSSL/TLS証明書が必要です。無料のオプションとしてはLet's Encryptが有名で、自動化されたインストールと更新が可能です。
# Let's Encryptを使用して証明書を取得
sudo apt update
sudo apt install letsencrypt
# 証明書を取得する
sudo letsencrypt certonly --webroot -w /var/www/html -d example.com
ステップ2: SSL/TLS設定をApacheに追加
次に、Apacheの設定ファイル(通常は/etc/apache2/sites-available/default-ssl.confや/etc/httpd/conf.d/ssl.conf)を開き、SSL/TLS用の設定を追加します。
# Apacheの設定ファイルを開く
sudo nano /etc/apache2/sites-available/example.com-ssl.conf
# SSL/TLS設定を追加
<VirtualHost *:443>
ServerName example.com
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
</VirtualHost>
ステップ3: ApacheのSSLモジュールを有効にする
ApacheがSSL/TLS機能を使用できるように、必要なモジュールを有効化します。
# SSLモジュールを有効化
sudo a2enmod ssl
# 新しい設定ファイルを有効化
sudo a2ensite example.com-ssl.conf
ステップ4: Apacheの再起動と確認
最後に、Apacheを再起動して新しい設定が反映されるようにします。また、HTTPS接続が正常に行われているか確認します。
# Apacheを再起動
sudo systemctl restart apache2
# ウェブブラウザでHTTPS接続を試す
https://example.com/
注意事項
- 証明書の管理: 証明書は定期的に更新する必要があります。Let's Encryptの場合、自動化された更新が可能ですが、手動でも簡単に実行できます。
- パフォーマンスへの影響: SSL/TLSによる暗号化処理はCPUリソースを消費します。大規模なウェブサイトではパフォーマンスに影響を与える可能性があります。
- セキュリティ上の注意: 証明書の取得と管理は厳重に行い、不正アクセスや窃取を防ぐ必要があります。
まとめ
1. SSL/TLS証明書の取得: Let's Encryptを使用して無料で証明書を取得します。
2. Apache設定ファイルの編集: SSL/TLS用の設定を追加し、証明書情報を指定します。
3. モジュールの有効化: 必要なSSLモジュールを有効化します。
4. Apacheの再起動: 新しい設定が反映されるようにApacheを再起動します。
関連記事: