Help us understand the problem. What is going on with this article?

【apache】conohaのUbuntu18.04にLet's EncryptでSSL設定するまで

ubuntuでSSL設定するのが初めてだったのでまとめました

前提

(1) httpで設定したドメインにアクセスできる状態にあること
(2) ubuntuのバージョンは18.04であること

ubuntuのバージョンが18.04
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.1 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.1 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

(3) apacheのバージョンは2.4.29であること

apacheのバージョンが2.4.29
$ apache2 -v
Server version: Apache/2.4.29 (Ubuntu)
Server built:   2018-10-10T18:59:25

手順

ファイアウォールの穴あけ

ubuntuではファイアウォールの穴あけが必要らしいので、port443をあける。

$ sudo ufw status
To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere                  
80                         ALLOW       Anywhere                  
3306                       ALLOW       Anywhere                                 
22 (v6)                    ALLOW       Anywhere (v6)             
80 (v6)                    ALLOW       Anywhere (v6)             
3306 (v6)                  ALLOW       Anywhere (v6)

$ sudo ufw allow 443
$ sudo ufw reload
$ sudo ufw status
To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere                  
80                         ALLOW       Anywhere                  
3306                       ALLOW       Anywhere                  
443                        ALLOW       Anywhere                  
22 (v6)                    ALLOW       Anywhere (v6)             
80 (v6)                    ALLOW       Anywhere (v6)             
3306 (v6)                  ALLOW       Anywhere (v6)             
443 (v6)                   ALLOW       Anywhere (v6)  

これでファイアウォールの設定は完了。

Let's Encryptで証明書発行

インストールする。

$ sudo apt install certbot

証明書等の作成をする。以下のコマンドを叩けばおk。ドキュメントルートやドメイン、メールアドレスは自分の環境に合わせてください。
www.sample.jpも必要であれば-d www.sample.jpも-d sample.jpの後に入れてください。

$ certbot certonly --webroot --webroot-path /var/www/html/ -d sample.jp -m yourmail@info

このコマンドの後に2,3問質問されるので答えていけば、/etc/letsencrypt/live/sample.jp以下に必要なファイル群が生成されます。

$ ls /etc/letsencrypt/live/sample.jp/
cert.pem  chain.pem  fullchain.pem  privkey.pem  README

これでLet's Encryptの設定は終わりです。
ちなみにこの証明書は90日間しか有効じゃないので、90日たったら更新してください。

apacheの設定変更

apacheのsslの設定ファイルを設定する

$ vi /etc/apache2/sites-available/default-ssl.conf

<VirtualHost _default_:443>
                ServerAdmin webmaster@sample.jp ←変更
                DocumentRoot /var/www/html
                ServerName sample.jp ←変更
                ServerAlias www.sample.jp ←wwwも必要であれば
                SSLCertificateFile      /etc/letsencrypt/live/sample.jp/cert.pem ←変更
                SSLCertificateKeyFile   /etc/letsencrypt/live/sample.jp/privkey.pem ←変更
                SSLCertificateChainFile /etc/letsencrypt/live/sample.jp/chain.pem ←変更

上記設定変更を完了後にssl有効化して、apacheを再起動する。

$ a2enmod ssl
$ a2ensite default-ssl
$ service apache2 restart

うまくいっていればこれでhttpsアクセスできるようになっています。
Let's Encryptの自動更新についてはまた今度〜

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした