Let's Encryptを使ったUbuntu上のApache2 SSL設定

Ubuntu上でのApache2のSSL設定について説明します。

Apache2のインストール

最初にApache2をインストールします。これは以下のコマンドで行えます。

sudo apt-get update
sudo apt-get install apache2

SSL証明書の取得

次に、SSL証明書を取得します。これには複数のオプションがありますが、Let's EncryptなどのフリーのCAを利用するのが最も簡単な方法です。

Apache2のSSL設定

取得したSSL証明書をApache2に設定する必要があります。証明書ファイルとキーファイルを適切な場所に配置し、以下の設定を行ってください。

sudo nano /etc/apache2/sites-available/default-ssl.conf
<IfModule mod_ssl.c>
        <VirtualHost _default_:443>
                ServerAdmin webmaster@localhost

                DocumentRoot /var/www/html

                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined

                SSLEngine on
                SSLCertificateFile /path/to/cert.pem
                SSLCertificateKeyFile /path/to/key.pem

                <FilesMatch "\.(cgi|shtml|phtml|php)$">
                        SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                        SSLOptions +StdEnvVars
                </Directory>

                BrowserMatch "MSIE [2-6]" \
                               nokeepalive ssl-unclean-shutdown \
                               downgrade-1.0 force-response-1.0

                BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown

        </VirtualHost>
</IfModule>

Apache2の再起動

最後に、Apache2を再起動して設定を反映させます。これは以下のコマンドで行えます。

sudo systemctl restart apache2

これで、Ubuntu上のApache2にSSLが正常に設定されました。