CentOS7でLet’s Encryptの更新に失敗してるっぽいので対処する

技術記録

 なんだかLet’sEncryptから更新ができてないっぽい連絡が来たので色々試したのでまとめておく。これ参考にしたいなら一旦最後まで読んでからにしてください。

2021.07.06 追記:さらに修正しましたので、こちらの記事読み終わった後に読むと助けになります。

前提環境

  • CentOS Linux release 7.9.2009 (Core)
  • Let’sEncrypt

やったこと

とりあえず通常通りrenewしてみる

SHELL:

# certbot renew
bash: certbot: コマンドが見つかりません

certbotくらい入れてた気がするけどないっぽいのでyumで入れてみる

SHELL:

# yum install certbot
パッケージ certbot は利用できません。
エラー: 何もしません

よくわからんが、うまくいかなかった。

certbotの公式を見るとちょっと入れるものが変わってた?

公式サイトを見るとsnapdなるものを入れろと書いてあるので、順番にそれをこなしていくことにする。

まずはsnapdのインストール

SHELL:

# yum install snapd
パッケージ snapd は利用できません。
エラー: 何もしません

なんかうまくいかなかったので、一個前のcontinuous release (CR) repositoryを有効にする手順をしてみる。

SHELL:

# yum-config-manager --enable cr
// なにやらたくさんの設定情報が出てくる

多分うまくいった。ので、もう一度snapdのインストールを試す…がうまくいかなかった(さっきと同じ状況に)

ってかもしかして今更だけどepel-release有効になってない…?インストールはされてるのは確認してたけど…

とおもったけど、ダメ元というかもし入ってなかった場合のことを考えて、ここのインストール手順を試してみたら入ってしまったので最新バージョンですって書いてあったのはフェイクかもしれない。

SHELL:

# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm -y
更新:
  epel-release.noarch 0:7-13                                                    

完了しました!

// は???????

まあ、入ったからいいや レポリストを確認する。

SHELL:

# yum repolist
// 色々出てくるけど入ってなかったので無効になってそう

# yum-config-manager --enable epel
//有効にした

# yum repolist
!epel/x86_64                      Extra Packages for Enterprise Linux 6 - 12,581
// RHEL6????

これで今度こそ大丈夫?一応yum update –skip-broken でアップデートかけてから次に進む。

SHELL:

# yum install snapd
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: ty1.mirror.newmediaexpress.com
 * epel: d2lzkl7pfhq30w.cloudfront.net
 * extras: ty1.mirror.newmediaexpress.com
 * nux-dextop: mirror.li.nux.ro
 * remi-php72: ftp.riken.jp
 * remi-safe: ftp.riken.jp
 * updates: ty1.mirror.newmediaexpress.com
パッケージ snapd は利用できません。
エラー: 何もしません

わかんね。

SHELL:

# certbot-auto certonly --webroot -w /var/www/html -d ******.*** --email ***@***.com
IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/******.***/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/******.***/privkey.pem
   Your cert will expire on 2021-07-06. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot-auto
   again. To non-interactively renew *all* of your certificates, run
   "certbot-auto renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

あれ?普通に通った?ってかこれ普通にcertbot入ってるけどコマンドが違っただけか?ちょっと待てよとrenewのコマンドを確認してこっちでやったら普通に通ったわ…この二日間何やってたんだろう…

SHELL:

# certbot-auto renew
...>8...all renewals succeeded. ...>8...

できてんじゃん。

というわけで、コマンドが違ってたってだけの話でした。以上!閉廷!!!

fig.1 できた

おまけ cronで自動化

面倒な作業はやりたくないので自動化しておく。

SHELL:

# vim /root/certbot_renew.sh

/bin/systemctl stop httpd
/bin/certbot-auto renew
/bin/systemctl start httpd

# crontab -e

0 4 1 * * root /bin/sh /root/certbot_renew.sh

うまく動くかは未検証なので、これは自力で調べなおしてください。なぜかもともとApacheしか入ってないはずなのにnginxの記述になってたので…

2021.07.06 追記:さらに修正しましたので、こちらの記事読み終わった後に読むと助けになります。

参考文献

あらためてEPELリポジトリの使い方をまとめてみた: https://qiita.com/yamada-hakase/items/fdf9c276b9cae51b3633
無料でHTTPS化できる「Let’s Encrypt」をやってみた ※install.sh付き: https://qiita.com/daiki44/items/a3616390f277722b97e0

タイトルとURLをコピーしました