シェルスクリプトマガジン

第22回 WebサーバーをHTTPSに対応させる(Let’s Encrypt)

Let’s Encryptから証明書を取得する

Ubuntuには、Let’s Encryptから証明書を取得するソフトウエア(「letsencrypt」パッケージや「ppa:certbot/certbot」で公開されているパッケージ)が用意されています。しかし、2018年1月下旬時点において、これらはうまく使えません。「https://github.com/certbot/certbot」から入手できる「Certbot」だけが動作します。
それでは、Certbotをインストールして証明書を取得しましょう。その前に、インターネット上でユニーク(唯一無二)に割り当てられた(ドメイン付き)ホスト名が必要です。このホスト名を簡単に付けるには、連載第10回で紹介した「DDNS」(Dynamic Domain Name Service)を利用します。また、同じ回で紹介したDMZまたはポートフォワーディングの設定も必要で、ポートフォワーディングではTCP「443」番ポートを追加します。
ホスト名を用意してWebサーバーをインターネットに公開できる状態にしたら、/etc/apache2/sites-enabled/000-default.confファイルを再度エディタで開き、先ほど書き換えた行の「Ubuntu ServerのIPアドレス」をホスト名に変更して保存します。

次のようにApacheを再起動して設定を反映します。

スマートフォンを無線LANではなく、モバイル通信でインターネットにアクセスするように設定します。そのスマートフォンのWebブラウザーを開いて「https://ホスト名/」にアクセスして図5のページが開くことを確認します。

図5 スマートフォンからHTTPSでアクセス(正式な証明書がない場合)