AlmaLinux 9.2 apacheサーバ Let’s Encrypt SSL証明書を取得する方法

環境
AlmaLinux release 9.2 (Turquoise Kodkod)

操作方法
1.open sslをインストールします。
# dnf install openssl-devel

2.パッケージ管理システムSnappyインストールを行います

# dnf install epel-release
# dnf upgrade
# dnf install snapd

スナップ通信ソケットを管理するsystemdユニットを有効化する

# systemctl enable --now snapd.socket

クラシックスナップのサポートを有効にする
# ln -s /var/lib/snapd/snap /snap

snapd のバージョンを更新します

# snap install core
# snap refresh core

バージョンを確認します

# snap --version

 

3.certbot パッケージインストールを行います

# snap install --classic certbot

/snap/bin/certbotへのシンボリックリンクを作成します

# ln -s /snap/bin/certbot /usr/bin/certbot

certbotを確認します
# ls -la /usr/bin/certbot

3.証明書を取得すします

# certbot certonly --webroot -w /var/www/html/[FQDN] -d [FQDN]

4.証明書を自動更新します

# certbot renew --dry-run

snap版certbotをインストールします。
証明書自動更新機能も合わせてインストールされます
# systemctl list-timers | less

snap.certbot.renew.timer のユニットファイルを確認します。
# vi /etc/systemd/system/snap.certbot.renew.timer

[Timer]
Unit=snap.certbot.renew.service
OnCalendar=*-*-* 03:15

実行時刻を指定します。

4.apacheのhttpsを設定します
# dnf -y install mod_ssl

ssl.conf ファイルを編集します
# vi /etc/httpd/conf.d/ssl.conf

/**43 行目 コメント解除して変更**/
DocumentRoot "/var/www/html/<FQDN>"

/**44 行目 コメント解除して変更**/
ServerName <ドメイン名>:443

/**85行目 コメントにしてその下に追加**/
# SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateFile /etc/letsencrypt/live/<FQDN>/cert.pem

/**93行目 コメントにしてその下に追加**/
# SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
SSLCertificateKeyFile /etc/letsencrypt/live/<FQDN>/privkey.pem

/**103行目 追加**/

SSLCertificateChainFile /etc/letsencrypt/live/<FQDN>/chain.pem

5.Apacheを再起動します
# systemctl restart httpd

# firewall-cmd --add-service=https --permanent
success
# firewall-cmd --reload
success

6.http通信を https へリダイレクト
.htaccessを/var/www/html/[FQDN]/ 配下に作成
以下の内容を記載します

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

 

AlmaLinux 9

Posted by arkgame