Tech Blog

CentOS7、ApacheでLet's Encryptをインストールする

2021-02-06

前提

  • CentOS7
  • Apache2.4がインストールされており80番ポートでWebサイトが確認できる。
  • filewalldが有効の場合は443ポートを公開する。
  • epelリポジトリが有効になっている。
  • パケットフィルタ(さくら)、セキュリティグループ(AWS)などのセキュリティ設定で、443ポートを公開する。
  • 独自ドメインを取得している
yum repolist all | grep -i epel

ssl_moduleが有効になっているか確認

Apache2.4をインストールした際に、デフォルトで有効になっているとは思いますが、 Apacheのssl_moduleが有効になっているか確認します。

httpd -M | grep ssl_module

Let's Encryptのインストール

python2-certbot-apacheのインストール

yum install certbot python2-certbot-apache
vim /etc/httpd/conf/httpd.conf

末尾に以下を追加します

NameVirtualHost *:80
 
<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/html
    ServerName junpeko.work
    RewriteEngine on
    RewriteCond %{SERVER_NAME} =junpeko.test
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

certbotを実行

certbot --apache -d junpeko.test

certbotのドキュメント

ドキュメント https://certbot.eff.org/lets-encrypt/centosrhel7-apacheを確認すると、

python2-certbot-apacheではなくsnapというパッケージを利用してSSLを適用するのが推奨のようです。

次回はこちらでやりたいと思います。