前回はApacheでWebサーバを構築した。
今回は、証明書の取得・自動更新のために、Automated Certificate Management Environment(ACME)プロトコルのクライアント(certbot)をインストールする。HTTPSに対応すべく、Let’s Encryptにて証明書を取得するためだ。
まずは、certbotのサイトへ行って、手順を確認する。
Instractionページで、ApacheとCentOS/RHEL 8を選択すると、手順が表示される。
本当はマルチドメインな証明書を作りたかったが、DNSの関係で手間がかかるようなので、気が向いたら変更することにする。
手順では、EPEL→Snappy→certbotという順に環境を構築していく。
まずは、Extra Packages for Enterprise Linux (EPEL)を使えるようにする。
# dnf install epel-release # dnf upgrade
そして、snap形式のソフトウェアパッケージをインストールするために、次のパッケージをインストールする。
# yum install snapd
自動起動の設定と、ついでに即時起動を行う。
# systemctl enable --now snapd.socket
古いバージョンとの互換性を保つためにシンボリックリンクを作成する。
# ln -s /var/lib/snapd/snap /snap
snappyのコア部分をインストール。
# snap install core error: too early for operation, device not yet seeded or device model not acknowledged # snap install core 2021-01-03T00:45:26+09:00 INFO Waiting for automatic snapd restart… core 16-2.48 from Canonical✓ installed
何故か1回目はエラーとなったが、2回目は成功。文言の通り、何か処理をしていたのだろうか。
そして、念の為、最新版にする。
# snap refresh core snap "core" has no updates available
no updates availableなので、最新状態。
これで、やっとSnappy環境が整った。
まずはdnfでインストールされたcertbotをアンインストールする。
# dnf remove certbot 一致した引数がありません: certbot 削除対象のパッケージはありません。 依存関係が解決しました。 行うべきことはありません。 完了しました!
インストールされてなかったようだ。
では、改めてSnappyでcertbotをインストール。
# snap install --classic certbot certbot 1.10.1 from Certbot Project (certbot-eff✓) installed
certbotが確実に実行できるように、シンボリックリンクを作成する。
# ln -s /snap/bin/certbot /usr/bin/certbot
証明書の取得と自動更新をするための環境は整った。
次回は、実際に証明書を取得してHTTPSでのWebページ閲覧ができるようにしたい。