以下、KAGOYAのCLOUD/2のVPSで、複数の独自ドメインを用いてSSLサイトを公開してみたので、その設定等の覚え書きを書き記す。
webサーバーの設定
httpdをインストール。
yum install httpd
設定ファイル「vhost.conf」を作成。
vi /etc/httpd/conf.d/vhost.conf
以下をコピペして保存。ドメインが複数ある時はその個数分をコピペ。
<VirtualHost *:80> ServerName ドメイン名 DocumentRoot /var/www/html/ドメイン名 ErrorLog logs/ドメイン名-error_log CustomLog logs/ドメイン名-access_log combined env=!no_log </VirtualHost>
httpdを再起動。
systemctl restart httpd
スポンサーリンク
SSL設定
無料のssl証明書Let’s Encryptのインストール
epelとcerbotをインストール(一部削除)。
yum install epel-release yum install certbot python-certbot-apache
以下を実行して証明書を取得(複数ドメインを登録する場合は複数回実行)。
certbot certonly -d ドメイン名 -m メールアドレス
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):
と聞かれるので、
httpsへリダイレクトしない設定なら1、する設定なら2、キャンセルするならC、を入力してエンターキー。
(1で実行して成功済み)
以下が表示されれば登録完了。
▼証明書とチェーンの場所
/etc/letsencrypt/live/ドメイン名/fullchain.pem
▼キーファイルの場所
/etc/letsencrypt/live/ドメイン名/privkey.pem
再びvhost.confを編集。
vi /etc/httpd/conf.d/vhost.conf
さっきコピペしたコードの下に以下をコピペして保存。ドメインが複数ある時はその個数分をコピペ。
<VirtualHost *:443> SSLEngine on SSLCertificateFile /etc/letsencrypt/live/ドメイン名/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/ドメイン名/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/ドメイン名/chain.pem DocumentRoot /var/www/html/ドメイン名 ServerName ドメイン名 ErrorLog logs/ドメイン名-error_log CustomLog logs/ドメイン名-access_log combined env=!no_log </VirtualHost>
httpdを再起動
systemctl restart httpd
Let’s Encryptの自動更新
cronをインストール(一部削除)。
yum -y install cronie-noanacron yum -y remove cronie-anacron
証明書は90日期限で30日前まで更新処理ができない。
なので、毎週木曜日の午前4時に証明書を更新処理するコマンドを作成する。
まずは、letsencryptというファイルを作る。
vi /etc/cron.d/letsencrypt
で、以下をコピペして保存。
00 4 * * 4 root /usr/bin/certbot-auto renew --quiet
cronを再起動
systemctl restart crond
以上ですべて完了。
てことで、こちらからは以上です。
コメント