証明書

ここでは /etc/apache2/ssl ディレクトリに証明書を置くことにします。

$ sudo ls -al ssl/
total 16
drwxr-xr-x 2 root root 4096 Dec 19 21:49 .
drwxr-xr-x 9 root root 4096 Dec 19 21:47 ..
-rw-r--r-- 1 root root 1334 Dec 19 21:46 server.crt
-rw-r--r-- 1 root root 1675 Dec 19 21:47 server.key

設定

デフォルトのSSL/TSL用設定ファイルは以下になります。

/etc/apache2/sites-available/ default-ssl.conf

修正前にバックアップを作成しておきます。

cd /etc/apache2/sites-available/
cp default-ssl.conf default-ssl.conf.org

バックアップを作成したら default-ssl.conf を編集します。 ここでは証明書を/etc/apache2/sslに置くので証明書のパスを修正します。

SSLCertificateFile      /etc/apache2/ssl/server.crt
SSLCertificateKeyFile   /etc/apache2/ssl/server.key

修正したら、以下のコマンドを実行してdefault-ssl.confを有効にします。

a2ensite default-ssl
成功すると、以下のように /etc/apache2/sites-enabled ディレクトリに、 default-ssl.conf へのシンボリックリンクが作成されています。
# ls -al sites-enabled/
total 8
drwxr-xr-x 2 root root 4096 Dec 19 22:07 .
drwxr-xr-x 9 root root 4096 Dec 19 21:47 ..
lrwxrwxrwx 1 root root   35 Dec 17 21:07 000-default.conf -> ../sites-available/000-default.conf
lrwxrwxrwx 1 root root   34 Dec 17 21:48 auth-basic.conf -> ../sites-available/auth-basic.conf
lrwxrwxrwx 1 root root   35 Dec 19 22:07 default-ssl.conf -> ../sites-available/default-ssl.conf

SSLモジュールの有効化

a2enmod コマンドでSSLモジュールを有効にします。

a2enmod ssl

実行すると以下のようになります。

$ sudo a2enmod ssl
Considering dependency setenvif for ssl:
Module setenvif already enabled
Considering dependency mime for ssl:
Module mime already enabled
Considering dependency socache_shmcb for ssl:
Enabling module socache_shmcb.
Enabling module ssl.
See /usr/share/doc/apache2/README.Debian.gz on how to configure SSL and create self-signed certificates.
To activate the new configuration, you need to run:
  systemctl restart apache2

モジュールの有効後、以下を実行してapacheを再起動します。

sudo systemctl restart apache2
再起動に成功したら https でアクセスできるかを確認します。