目次

Raspbian(buster)へのマルチドメインおよびサーバー証明書の構成メモ

サーバー証明書をLet’s Encryptからcertbotを使って取得設定するには、ドメイン名がDNSによって名前解決されており、なおかつドメインを運用するサーバにHTTPでアクセス可能になっている必要がある。

ドメイン取得とDNS設定

ダイナミックDNSなどでドメインを取得し、DNSでの名前解決ができていることを確認する。 NATの影響が煩わしい場合はIPv6(AAAAレコード)を設定したほうがいいかもしれない。

ドメイン例

Apache2設定

まず、Apache2にドメイン設定を行う。Ubuntu系での設定例は下記の通り。

Domain name Document root Apache conf
www.domain1.jp /var/www/html/domain1.jp /etc/apache2/sites-available/www.domain1.jp.conf
www.domain2.com /var/www/html/domain2.com /etc/apache2/sites-available/domain2.com.conf

設定例

domain1.jp.conf
ServerName www.domain1.jp
DocumentRoot /var/www/html/domain1.jp

ドメイン設定の有効化

設定ファイルを作成したら、設定の有効化を行う。

$ sudo a2ensite www.domain1.jp
$ ls -ltr /etc/apache2/sites-enabled/

設定ファイルに対するシンボリックリンクが設定されていれば、有効化されている。

サーバー証明書設定

サーバーへのhttpでのアクセスができていれば、certbotでサーバー証明書の発行から、ApacheのSSL設定までを行う。

$ sudo certbot certonly --webroot -w /var/www/html/www.domain1.jp -d www.domain1.jp -w /var/www/html/www.domain2.com -d www.domain2.com