今日は、ApacheでCentOS7にLet’s Encryptをインストールする方法を紹介します。 Let’s Encryptは、Internet Security Research Group(ISRG)によって開発され、すべての主要なブラウザが認識している、完全に無料で自動化された新しい認証局です。 Webサーバー用のTLS証明書を設定することが簡単に設定することができます。
Let’s Encryptは、Mozilla、Akamai、Cisco、EFFのよう団体によってサポートされ、Linux Foundationによって管理されています。
今回のチュートリアルでは、ApacheでCentOS7にSSLの暗号化証明書をインストールし、証明書を自動的に更新するよう設定する方法を紹介します。
環境
CentOS 7.4
epel-release 7-11
certbot 0.25.1
Apache 2.4.6
Apacheの設定・インストール
yumを最新にする
yumをアップデートするために下記のコマンドを打ちます。
yum -y update
Apacheインストールする
Apacheをインストールいするために下記のコマンを打ちます。
yum -y install httpd
mod_sslをインストールします
次にmod_sslをインストールします。mod_sslは、OpenSSLを使ってApacheをSSLに対応させるモジュールです。
yum -y install mod_ssl
Apacheの設定
まず、ドキュメントフォルダを作成します。
mkdir /var/www/leben
次にバーチャルホストの設定を行う場合には、下記のようにファイルを編集します。
→ドメインはこのブログのドメインとしています。
vi /etc/httpd/conf.d/leben-site.conf <VirtualHost *:80> ServerAdmin admin@test.com DocumentRoot "/var/www/leben" ServerName leben.mobi ServerAlias www.leben.mobi ErrorLog "/var/log/httpd/test.error_log" CustomLog "/var/log/httpd/test.access_log" common </VirtualHost>
次にドキュメントルートにindex.htmlファイルを追加しています。
vi /var/www/leben/index.html It works!
ドキュメントルートにindex.htmlファイルを作成すると、「It works!」と表示されたと思います。
最後、/var/www/lebenディレクトリがApacheが読み取れるように権限の変更を行います。
chown -R apache:apache /var/www/leben
certbotのインストール
まずにcertbotをインストールするには、EPELリポジトリが有効になっていることを確認してから、次のコマンドを実行する必要があります。
yum -y install epel-release
yum-utilsをインストールします。
yum -y install yum-utils
apache用のcertbotをインストールします。
yum --enablerepo=epel install certbot-apache
cerbotがインストールされました。次のコマンドで、cerbotを起動します。
certbot-apache
これで、Let’s Encryptの設定ができました。最後にLet’s Encryptは3ヵ月で切れてしまうため、3ヵ月起きにLet’s Encryptを自動更新するように設定します。
Let’s Encryptの自動更新
今回は、Let’s Encryptの更新にcrontabを使用します。
crontab -e * */12 * * * /usr/bin/certbot renew >/dev/null 2>&1
Let’s Encryptは、自動更新cronjobを1日2回実行することを推奨しています。これを行うには、上の行を追加し、crontabを保存して完成します。
Chrome 68(2018年7月リリース)からHTTPサイトというだけで警告表示されるようになりました。
また、SSL対応していない方は、ぜひ早めにSSL対応することをお勧めします。