【Let’s Encrypt】RHEL 10 + Apache 2.4にLets Encryptをインストールする(2025年11月Snap版)

1 はじめに

本記事は、2025年11月に、 RHEL 10  + Apache 2.4での Let's Encrypt のインストールと
SSLサーバー証明書の取得を実施した時の記録を整理したものです。

今までの方式でのLet's Encryptインストール、 その後の“certbot”実行では、
RHEL 10でのSSLサーバー証明書は発行はできませんでした。

それに代わる“Snap” を利用した方式では、
その後のcertbot実行でSSLサーバー証明書を正常に発行することができました。
本記事は、自分の備忘録としてこのことを残すことを第一の目的として記述しました。

Snap (旧称・Snappy)とは
カノニカル社が 設計・開発したソフトウェアデプロイメントシステムかつパッケージ管理システム
で、元々はUbuntu Phoneオペレーティングシステム用に設計・開発されたものだそうです。

パッケージは“Snap”と呼ばれ、Snapを使うツールは“Snapd”と呼ばれます。

本記事を記述するにあたって、いくつかのWebページを参考にしました。
参考にしたWebページを4章に示します。

2 Let's Encryptのインストール

Let's Encrypt / certbot”は、以降、certbotと簡略して示すことにします。

2.1 事前に行っておくべきこと

certbotをインストールする前に、下に示すことが行われていなければなりません。
当たり前のことといえば、ごく当たり前の事前条件です。

DNSにドメインの、IPv4ではAレコードIPv6ではAAAAレコードが登録されている。
Apache 2.4がすでにインストールされている。
③ ルーター、およびファイアウォールで、80番ポートがオープンしていること。

2.2 SnapによるLet's Encrypt / certbotのインストール

Snapによるcertbotのインストールは、次の3ステップで行います。

Step 1: RHEL 10用のEPELレポジトリを有効にする
Step 2: Snapをインストールする
Step 3: certbotをインストールする

2.2.1 RHEL 10用のEPELレポジトリを有効にする

下に示すページにしたがって、RHEL 10用のepel-releaseをインストールして、
EPELリポジトリを有効にします。

Getting started with EPEL

2.2.2 Snapをインストールする

Snapは、下に示す手順でインストールし有効化します。

上に示す1~2行目は、Snapのインストールと有効化です。
3行目は、Snapがインストールされた“/var/lib/snapd/snap”のディレクトリパスを、
簡易的なディレクトリパスとして扱うためのシンボリックリンクです。

5~6行目では、snapdのバージョンが最新であることを確認します。
コマンドラインで上の2つのコマンドを実行して、
最新バージョンのsnapdを使用していることを確認します。

インストール済みのパッケージは、“snap list”コマンドで確認することができます。

2.2.3 certbotをインストールする

certbotは、下に示すWebページで示されている手順にしたがってインストールします。

Certbot Instructions | EFF

dnfyumなどのOSのパッケージマネージャーを使用してcertbotパッケージをインストールして
いる場合は、1行目のコマンドで、Snap版certbotをインストールする前にそれらを削除します。

certbotコマンドを実行するときに、OSのパッケージマネージャーからのインストール版ではなく
Snap版が使用されるようにします。

2行目で、Snap版certbotをインストールします。

3行目で、dnf版のように、“/usr/bin/certbot”としてcertbotコマンドを実行できるようにします。

3 SSLサーバー証明書の発行とApacheへの登録

3.1 サーバー証明書の発行

SSLサーバー証明書は、Let's Encryptの“certbot”クライアントを実行して発行します。

ここでは、Apache httpdDocumentRootが“/var/www/www.mywebsite.jp”に
設定されていると仮定して話を進めます。
実際のDocumentRootの設定に合わせて読み替えてください。

3.1.1 certbotクライアント

SSLサーバー証明書を発行するためには、
certbotクライアントは、下に示すように少なくとも次の2つのオプションを指定して実行します。

これで証明書の発行は終了です。 参考として、図3.1-1にcertbotの実行例を示します。

2つのオプション以外にも、
SSLサーバー証明書の発行に際しては、表3.1-1に 示すオプションの利用が可能です。

なお、certbotクライアントの利用可能な全オプションについては、
certbot -h all”コマンドで確認することができます。
従来あった“certbot command:  https://letsencrypt.jp/command/”のページは、無くなりました。

図3.1-2に“certbot help”、または“certbot -h
コマンドによるオプションの表示例を示します。

3.1.2 SSLサーバー証明書が保存される場所

Let's Encryptで発行されるSSLサーバー証明書は、
サーバー証明書中間CA証明書の2つの証明からなります。

中間CA証明書とは、
電子証明書(デジタル証明書)を発行する認証局が、
自分自身の認証のために発行する電子証明書の1つです。
中間証明書」とも言います。 CAとは「Certification Authority」の略で、認証局を意味します。

電子証明書はインターネット上で本人証明を行うために使用されており、
この証明書を発行する「信頼できる第三者」のことを認証局と言います。

他にも、暗号化用の秘密鍵も発行します。

サーバー証明書や秘密鍵は“/etc/letsencrypt/archive/”以下に保存され、
表3.1-2に示すパスにシンボリックリンクが作成されます。

シンボリックリンクのリンク先は、
SSLサーバー証明書を更新するたびに新しい証明書に変更されます。

3.2 Apache 2.4への設定

SSLサーバー証明書が発行されたら、Apache 2.4に設定を追加します。

ssl.conf”の次に示す項目に、それぞれ設定します。

SSLCertificateFile
SSLCertificateKeyFile
SSLCertificateChainFile(設定しなくても、大丈夫なようです)

[/etc/httpd/conf.d/ssl.conf]
...
SSLCertificateFile /etc/letsencrypt/live/<サーバーのドメイン名>/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/<サーバーのドメイン名>/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/<サーバーのドメイン名>/chain.pem
...

これでApache httpdを再起動して完了です。

3.3 SSL証明書の自動更新

Snap版certbotを使用している場合、
certbotの自動更新プロセスは、Snapのサービス管理によってハンドルされます。
cronによる“certbot renew”コマンドを直接入力する代わりに、
Snapのサービス管理にフックを設定します。

Snap版certbotが更新を行う際、
/etc/letsencrypt/renewal-hooks/deploy/”ディレクトリ内のスクリプトが自動的に実行されます。

Snap版certbotで自動更新を設定する手順は、以下のようになります。

. フックスクリプトの作成

Apache、およびSSL証明書を利用しているpostfixdovecot
また他のサービスを再起動するためのスクリプトを作成します。

例えば、“/etc/letsencrypt/renewal-hooks/deploy/restart-services.sh”という
パスにスクリプトを作成し、以下の内容を記述します。

このスクリプトに実行権限を与えます。

. 自動更新の確認

snap.certbot.renew.timer”が、有効になっていることを確認します。
以下のコマンドで確認できます。

このコマンドで“snap.certbot.renew.timer”がリストに表示され、
次の実行時刻が設定されていることを確認します。

これにより、証明書が更新された後にApachePostfixなどのサービスが再起動され、
新しい証明書が正しく使用されるようになります

以上

本記事の元となっているWordで作成したPDFを
ページ最後に貼り付けました。

少しでも役に立てていただければ、うれしく思います。

このPDFファイルは、自由に配布されてもかまいません。
ただし、再配布の際には、
入手元著者名は明らかにしてください

なお、上のPDFファイルの内容、また本文中の記述に、
誤字や脱字、誤った内容の記述など見つかりましたら、
下に示すフォームでご連絡いただければ幸いです。

お問い合わせ