ConoHaのVPSにSSLを導入する

VPSにLet’s Encryptを導入して、WebサイトをSSL化する手順です。

この記事では、VPSインスタンスの建て方~SSLへのリダイレクト設定まで紹介します。

 

 

 

 

 

【環境】

OS:CentOS7 64bit

Apache:2.4

※VPSの環境は2017年6月現在の時点です。使用したテンプレートは後述。

 

【参考サイト】

CentOS 7 + Apache 2.4 に Let’s Encrypt の証明書を導入する手順

CentOS7でLet’s Encryptを使う

WordPressサイトを移行したらトップページ以外が404 Page not foundになってしまった場合の対処法

 

 

 

①インスタンスを建てる

 

こんな感じで、テンプレートはLAMPを選択。

 

②Certbotクライアントをインストール

 

以下のコマンドを2つ実行。

yum install epel-release
yum install certbot python-certbot-apache

 

 

③SSL/TLS証明書の作成

 

以下のコマンドをそれぞれ実行。

certbot certonly –webroot -w /var/www/html/ -d <ドメイン名>

<ドメイン名> …… SSL化したいドメイン

 

以下のメッセージが出たら、SSL証明書の有効期限が近づいた時に連絡を受け取りたいメールアドレスを入力。

Enter email address (used for urgent renewal and security notices) (Enter ‘c’ to
cancel):<メールアドレス>

 

以下は「a」で同意。

——————————————————————————-
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf. You must agree
in order to register with the ACME server at
https://acme-v01.api.letsencrypt.org/directory
——————————————————————————-
(A)gree/(C)ancel: a

 

以下は「n」で良い。

——————————————————————————-
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let’s Encrypt project and the non-profit
organization that develops Certbot? We’d like to send you email about EFF and
our work to encrypt the web, protect its users and defend digital rights.
——————————————————————————-
(Y)es/(N)o: n

 

こんな感じのが出たらOK。

Obtaining a new certificate
Performing the following challenges:
http-01 challenge for www.mywebsite.jp
Using the webroot path /var/www/www.mywebsite.jp for all unmatched domains.
Waiting for verification…
Cleaning up challenges
Generating key (2048 bits): /etc/letsencrypt/keys/0000_key-certbot.pem
Creating CSR: /etc/letsencrypt/csr/0000_csr-certbot.pem

IMPORTANT NOTES:
– Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/www.mywebsite.jp/fullchain.pem. Your cert
will expire on 2017-07-16. To obtain a new or tweaked version of
this certificate in the future, simply run certbot again. To
non-interactively renew *all* of your certificates, run “certbot
renew”
– Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
– If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let’s Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

 

 

④証明書の情報をApacheに設定

 

/etc/httpd/conf.d/ssl.conf ←サーバーのこのパスにあるファイルを修正する。

それぞれ以下の3行に該当する行の情報を書き換える。

SSLCertificateFile /etc/letsencrypt/live/<ドメイン名>/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/<ドメイン名>/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/<ドメイン名>/chain.pem

<ドメイン名> …… さっき指定したドメイン

 

 

⑤SSLでアクセスするための設定

 

 

◆SSLのポートを開放

 

以下のコマンドを2つ実行

sudo firewall-cmd –add-port=443/tcp –zone=public
sudo firewall-cmd –add-port=443/tcp –zone=public –permanent

 

◆リダイレクトされるようにする

 

/var/www/html/ の直下に .htaccess ファイルを作成して、中身を以下に。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</IfModule>

 

※注意:最終行には改行を入れて下さい。

 

 

/etc/httpd/conf/httpd.conf のファイルの中身を書き換え。

<Directory “/var/www/html”>
AllowOverride All
</Directory>

COnoHaVPSは AllowOverride が All になってないので、All にする。

これで .htaccess のリダイレクトが正しく反映されるようになる。

 

 

⑥Webサーバーの再起動

 

systemctl restart httpd

これで、https://~ にアクセスできるようになったはず。

ただし、証明書の有効期限は90日で切れるので、定期的に以下のコマンドで更新する必要がある。

certbot renew

※更新後はWebサーバーの再起動も必要。

 

 

 

 

 

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください