Linux

CentOS 8 の certbot コマンドがエラーになっていたので対応しました

投稿日:

1. はじめに

以下の記事で導入した certbot コマンドですが、いつの頃からかエラーが発生していました。

CentOS

CentOS 8 で Snap から certbot パッケージをインストールする

2021.01.05

こうなると、サーバー証明書の更新が失敗して、正常にWebサイトが表示されません。

2. 原因

以前の記事では、以下のようにシンボリックリンクを作成していました。

$ sudo ln -s /snap/bin/certbot /usr/bin/certbot

ところが、いつの間にか python3-certbot というパッケージが、/usr/bin/certbot を上書きしてしまったようで、/usr/bin/certbot は、/usr/bin/certbot-3 のシンボリックリンクになっていました。

/usr/bin/certbot-3 を実行するとエラーが発生するのも気になりますが、今回は関係なさそうなのでとりあえず放っておきます。

3. 対応

今回問題が起きた CentOS 8 では、/etc/cron.d/letsencryp ファイルに certbot コマンドを記述して定期実行させ、サーバー証明書を更新させていました。

その certbot コマンドの部分は、今まで /usr/bin/certbot と記述していたのですが、ここを /var/lib/snapd/snap/bin/certbot に書き換えました。

一部抜粋しますと、こんな感じです。

0 1 4 * * root /var/lib/snapd/snap/bin/certbot renew \
        --cert-name www.example.com \
        --pre-hook "systemctl stop httpd.service" \
        --post-hook "systemctl start httpd.service"

これで、しばらく様子を見ようと思います。

4. おわりに

Certbot の公式ページ「Certbot Instructions | Certbot」には、今だに /usr/bin/certbot というシンボリックリンクを作成する記述がありますが、これは微妙なところです。そのうちまた python のパケージに上書きされてしまう可能性があります。

📂-Linux
-

執筆者:labo

関連記事

Linux

【Linux】man コマンドの基本的な使い方

Linux をコマンドラインで使う場合、man コマンドでマニュアルを読むことができます(man は manual の略です)。 このページでは、この manコマンドの簡単な使い方について説明します。 …

Linux

Bash: コマンド履歴のインクリメンタル検索でハイライトされないようにする

Bashにおいて、コマンド履歴のインクリメンタル検索でハイライトされないようにする方法を紹介します。

Linux

標準エラー出力を標準出力に向けるコマンド

Linux のターミナルにおいて、標準エラー出力を標準出力に向けるコマンドの記述方法を紹介します。

CentOS

CentOS 8 を CentOS Stream に移行するコマンド

目次1. 突然の CentOS 8 終了宣言2. CentOS Stream に移行するコマンド3. 2021年5月:移行作業を行いました4. 参考 1. 突然の CentOS 8 終了宣言 Cent …

Linux

Ubuntu ではユーザー名に大文字が使えません(デフォルトでは)

Ubuntu で ユーザーを追加するには adduser というコマンドを使います。 例えば、”foo” という名前のユーザーを追加するには、以下のコマンドになります。 $ a …