

ConoHa教室 Hello VPS ~WordPress公開までの道~ 7時間目 SSL証明書をインストールしてサイトをSSL化する
WordPressインストールに向けての最後の準備として、今回はLet’s EncryptのSSL証明書をインストールしてWebサイトをSSL化したいと思います。ドメインの設定も必要になるので簡単に紹介していきます。
- WordPressインストールに向けての準備は今回が最後!今日はSSL証明書をインストールするよ。
- あれ、なんかそれ前回インストールしませんでしたっけ・・・?
- 前回はSSLを使えるようにしただけなので、Webブラウザでアクセスしたときに警告が出ちゃったんだ。このはちゃんはWebサイトを見たときにあの警告が表示されたらどう思う?
- ビックリしちゃう!怖くなって閉じちゃうかも!!
- うん、そうだよね。だから警告が表示されないように、今回は正式に発行されたSSL証明書をインストールするよ。
- ※インストールするOSやソフトウェアのバージョン等により操作方法は異なるため、ご運用にあわせてご参考にしてください。
- ※既に別のソフトウェアをインストールやVPS内で設定済みの項目がある場合、影響を及ぼす恐れがありますのでご注意ください。
目次
1:ドメインの設定
Webサーバーをインストールした時点で暗号化されていないhttp通信は出来るようになっていますが、
暗号化されているhttps通信は出来ません。現在は個人情報の入力するフォーム等が設置されているWeb
サイトは数多くあり、常時SSL化が普及してきています。WebサイトのSSL化にはSSL証明書が必要となり、認証局での発行が必要になります。通常SSL証明書の発行には費用が発生しますが、「Let’s Encrypt」というサービスは無料でSSL証明書を発行することが出来ます。SSL証明書の発行には独自ドメインが必要となり、VPSと紐付ける必要があるので、先にドメインの設定について簡単に触れていきますね。
ConoHaではドメインの取得は行っていませんがDNSの機能が利用出来ます。ConoHaのDNS機能の利用に
あたりドメインの提供元でDNS(ネームサーバー)を次のものへ変更します。
ns-a1.conoha.io
ns-a2.conoha.io
ns-a3.conoha.io
DNSの変更が出来たら次にConoHaのコントロールパネルへログインしましょう!
コントロールパネルログイン画面

左のメニューの「DNS」をクリックして設定画面を開きます。

まずは、ここでドメインを登録します。
右上の「+ドメイン」をクリックして取得しているドメイン名を入力して「保存」します。

次にDNSレコードを追加します。
今登録したドメインがリストに表示されていると思いますので、ドメイン名をクリックします。

アコーディオンが開かれるので鉛筆のアイコンをクリックして編集出来る状態にします。
「+」アイコンをクリックして次の内容でDNSレコードを追加しましょう。
タイプ | :A(通常) |
---|---|
名称 | :@ |
TTL | :3600 |
値 | :<VPSのIPアドレス> |
入力が出来たら「保存」をクリックしてDNSレコードの追加は完了です。
- ※「https://www.example.com」のようなURLでご運用する場合は上のDNSレコードとあわせて
次のDNSレコードも追加してください。
タイプ | :A(通常) |
---|---|
名称 | :www |
TTL | :3600 |
値 | :<VPSのIPアドレス> |

Let’s EncryptのインストールにあたってApacheの設定を変更しておく必要があります。
それではいつもの黒い画面へ。Teratermで一般ユーザーでログイン、[su]コマンドでrootアカウントへ
切り替えましょう。
Apacheの設定ファイルは[/etc/httpd/conf/httpd.conf]になります。
# vi /etc/httpd/conf/httpd.conf
viコマンドで次の内容を追記します。どこに追記しても大丈夫です。
(今回は[Listen 80]と記載されている箇所の下に記述しました)
example.comは自分のドメインに書き換えてくださいね。
<VirtualHost *:80>
ServerAdmin root@example.com
DocumentRoot /var/www/html
ServerName example.com
</VirtualHost>

設定が完了したら、httpdを再起動しましょう。
# systemctl restart httpd

2:SSL証明書のインストール
DNSの設定が出来たので、Let’s EncryptのSSL証明書のインストールをしていきましょう。
SSL証明書のインストールにあたり、前回のphpMyAdminの設定の際にインストールした「mod_ssl」が必要なので、インストールされていない方は次のコマンドを実行してください。
# yum install mod_ssl
インストール後
# systemctl restart httpd
それでは、Let’s Encryptのインストールをしていきましょう!
まずは次のコマンドでcertbotをインストールします。
# yum install certbot python2-certbot-apache
Is this okの箇所は[y]でEnterです。

Complete!が表示されたら完了です。
次にcertbotコマンドで次のように実行します。
examle.comの部分は自分のドメインに書き換えてくださいね。
# certbot --apache -d example.com

実行すると英語のメッセージが流れ、何度か質問されることになります。

こちらはLet’s Encryptからのメールを受け取るためのメールアドレスを入力してEnterを押します。
利用できるメールアドレスを入力してくださいね。

こちらは規約への同意を聞かれています。
[A]を入力してEnterを押します。

こちらはLet’s Encryptパートナーにメールアドレスを公開していいかどうかの質問です。
[Y][N]どちらでもかまいません。公開したくない時は[N]にします。

ここでは[2]を選択します。[2]を選択するとhttpでアクセスした時に自動でhttpsへリダイレクトされるようになります。

これでインストールは完了になりますので、httpdを再起動します。
# systemctl restart httpd
それでは早速Webブラウザを使って自分のドメインでアクセスを試してみましょう!
https://example.com/index.php
前回作成したPHPのファイルです。

Google Chromeの場合はアドレスバーの横に鍵のマークと「保護された通信」と表示されており、証明書の詳細を確認することが出来ます。

「証明書(有効)」をクリックすると証明書の詳細が表示されます。
Let’s Encryptがインストールされていることが確認出来ますね。

3:SSL証明書の更新
Let’s Encryptは証明書の有効期限が3ヶ月となっていますので期限が来る前に更新をする必要があります。
次のコマンドで証明書の更新が出来ます。
# certbot renew
こちらのコマンドの場合は証明書の有効期限が30日未満の場合のみ実行出来ます。
有効期限に関わらず更新をする場合は↓のコマンドになります。
# certbot renew --force-renew

ここまできたみなさんにとってはコマンド自体はとても簡単ですが、有効期限を忘れてしまうと更新が出来なくなってしまいます。そこでcronというサービスを使って自動で定期的に更新作業をするように設定してみましょう!
cronでコマンドを自動実行する時は[/etc/crontab]を編集します。
追加する内容は次の通りです。
0 0 * * * root /usr/bin/certbot renew
これは「毎日0時にrootアカウントでcertbot renewというコマンド実行する」という内容になります。有効期限が30日以上のときは更新されないですし、30日未満になれば実行されますね。
それではviコマンドで編集しましょう。
# vi /etc/crontab

これで証明書の更新も自動になるので安心ですね。
最後に5時間目で作成したindex.phpは不要になるので削除しておきましょう。削除はrmコマンドです。
# rm /var/www/html/index.php

今回はここまでにしたいと思います。VPSはいつものようにシャットダウンしておきましょう。
# shutdown -h now
これでWordPressのインストールに向けて全ての準備が整いました!
次回はいよいよ最終回。WordPressのインストールをしましょう!
- やったー!ついに次で最後ですね!WordPressをインストールしてこのはもVPSマスターに・・・!
- yumコマンドを使ったインストールもお手の物だし、viコマンドで設定を編集するのも出来るようになったし最初と比べると成長したよね。
- えっへん!どんなもんだい!!!
- この調子で最後にさくっとWordPressのインストールしちゃおう!