らをた広島

食べ歩きブログ

サーバーのSSL化 その3

ssl
ひとつの固定グローバルIPアドレスで複数のドメインのサーバーを実行できるバーチャルホストの導入。
# vi /etc/apache2/sites-available/ドメイン.jp.conf


ServerName www.ドメイン.jp
ServerAdmin webmaster@ドメイン.jp
DocumentRoot /home/ユーザーID/public_html
ErrorLog /var/log/apache2/ドメイン.jp.error.log
CustomLog /var/log/apache2/ドメイン.jp.access.log combined
LogLevel warn


# a2ensite ドメイン.jp

# vi /etc/apache2/apache2.conf
70行目にサーバー名追記
ServerName www.ドメイン.jp

# vi /etc/apache2/sites-enabled/000-default.conf
11行目管理者アドレス変更
ServerAdmin webmaster@ドメイン.jp

サーバーのドキュメントルートを変更したい場合は
DocumentRoot /home/ユーザーID/public_html

Options Indexes FollowSymLinks
AllowOverride None
Require all granted


最後に
# apt -y install resolvconf
# vi /etc/network/interfaces
ネームサーバー
dns-nameservers 192.168.*.* (サーバーのIPアドレス

# reboot 再起動

index-fig-08
SSLなう!にアクセスしてLet's Encrypt へ登録しSSL証明書発行する。

Let's Encryptの管理コマンドのインストール
# apt install python-certbot-apache
# certbot --apache

Let's Encryptの証明書を更新する
アパッチの停止
# apachectl stop
証明書の強制手動更新
# certbot renew --force-renew
ツラツラと更新成功しましたと表示される。
アパッチ再起動
# apachectl restart
本当は更新を自動化した方が良いに決まっているのだけどようわからんのでしばらくは90日に1度手動更新しようと思う(涙)

毎度のことながらこの記事は自分が忘備録として書いているだけなので正確性も保証しかねるし問題が起きても質問にも答えられないし責任も取れない。
debianはフリーのLinuxOSなのでそのへんは全て自己責任ということになるのを覚悟で実行してもらいたい。