CentOS Stream9 初期設定 その4 apache SSL/TLS対応 Let’s Encrypt
「Let’s Encrypt」から無料のSSL/TLS証明書を取得します。
外部からアクセスされるのでDDNSなどで外部からドメインにアクセスできるようになっていることが前提になります。
DDNSについてはまた後日(書くかもしれない)
「Let’s Encrypt」はWeb 全体の安全性を改善することをミッションに掲げています。
Let’s Encrypt の詳細は公式サイトを参照ください。
⇒ https://letsencrypt.org/
証明書の有効期限は90日なので、90日以内に更新作業を再度実施する必要があります。
SSL/TLSの設定を有効化します
sudo dnf -y install mod_ssl sudo vi /etc/httpd/conf.d/ssl.conf #43行目 : コメント解除 DocumentRoot "/var/www/html" # 44行目 : コメント解除しサーバー名指定 ServerName ysfarmsvr.com:443 sudo systemctl restart httpd firewall-cmd --add-service=https firewall-cmd --runtime-to-permanent
Cerbotパッケージを使って自動更新を設定します。
最初にSnapd をインストールしておきます。
Snapdはパッケージ管理ツールです。
yumやdnfでもいいように感じますが、参考サイトでSnapdを使うように書いてあったのでそれに従ってみます。
sudo dnf --enablerepo=epel -y install snapd sudo ln -s /var/lib/snapd/snap /snap sudo systemctl enable --now snapd.service snapd.socket # インストール済 Snap パッケージ一覧 sudo snap list No snaps are installed yet. Try 'snap install hello-world'. # Snap リポジトリからパッケージをワード検索 snap find kubernetes Name Version Publisher Notes Summary kubernetes-worker 0.0.2 canonical✓ - A complete Kubernetes worker kubernetes-test 1.23.4 canonical✓ classic tests for kubernetes kubernetes-test-eks 1.10.3 canonical-cloud-snaps classic tests for kubernetes microk8s v1.23.4 canonical✓ classic Kubernetes for workstations and ap ..... .....以下続く・・・ [hello-world] パッケージをインストール sudo snap install hello-world hello-world 6.4 from Canonical✓ installed リストを表示:入ってる入ってる sudo snap list Name Version Rev Tracking Publisher Notes core 16-2.57.6 14399 latest/stable canonical✓ core hello-world 6.4 29 latest/stable canonical✓ -
証明書を取得するためのツール Certbot クライアントをインストールします。
sudo snap install certbot --classic certbot 1.32.2 from Certbot Project (certbot-eff✓) installed sudo ln -s /snap/bin/certbot /usr/bin/certbot sudo firewall-cmd --add-port=443/tcp --zone=public sudo firewall-cmd --add-port=443/tcp --zone=public --permanent
cerbotコマンドが通ることを確認します
sudo certbot --version certbot 1.32.2
バージョン情報が表示されたら成功です
SSLとcerbotが入ったら「Let’s Encrypt」に登録します。
sudo certbot --apache # 初回のみメールアドレスの登録と利用条件への同意が必要 Enter email address (used for urgent renewal and security notices) # 受信可能なメールアドレスを指定 (Enter 'c' to cancel): root@mail.ysfarmsvr.com # 利用条件に同意する (Y)es/(N)o: Y # 非営利団体 Electronic Frontier Foundation にもメールアドレスを登録するか否か (Y)es/(N)o: Y Which names would you like to activate HTTPS for? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: ysfarmsvr.com 2: xxx.xxx.jp 設定しているバーチャルホストの数だけ出てきますので設定したいホストの番号を指定します - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Deploying certificate Successfully deployed certificate for ysfarmsvr.com・・・・ 上記のようにsuccessになれば設定完了です