[FreeBSD 10]Let’s Encrypt その後

Pocket

証明書の有効期間が3ヶ月なので無事更新されるか楽しみにしてたら、証明書の期限が切れているのを発見。確認したら更新スクリプトを書いただけで安心して cron 登録を忘れるというまさかの失態!

しゃあないので、手動で走らせたらこけた。

# sh /root/cron/letsencrypt.sh
Traceback (most recent call last):
  File "/usr/local/bin/letsencrypt", line 5, in 
    from pkg_resources import load_entry_point
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py",
 line 2927, in 
    @_call_aside
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py",
 line 2913, in _call_aside
    f(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py",
 line 2940, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py",
 line 637, in _build_master
    return cls._build_from_requirements(__requires__)
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py",
 line 650, in _build_from_requirements
    dists = ws.resolve(reqs, Environment())
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py",
 line 829, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'acme==0.5.0' distribution was 
not found and is required by letsencrypt

pkg upgrade でパッケージの更新をかけても py27-letsencrypt のバージョンは変わらず。google先生にお伺いを立ててみてもいまいち有効な解決策がヒットしなかったのだが、日本語の総合ポータルサイト

「Let’s Encrypt クライアント」の名称は、「Certbot クライアント」に変更されました。

の記載を見つけて(前回の時点ですでにあった気もする)もしやと思い確認してみると

# pkg info | grep letsencrypt
py27-letsencrypt-0.5.0,1       Let's Encrypt client

↑これは現在インストール済みのやつ。

# pkg search letsencrypt
letsencrypt.sh-0.2.0           Pure BASH/ZSH Lets Encrypt client

↑これは単なる更新スクリプトのパッケージっぽい。使い物にならなかった。

# pkg search certbot
py27-certbot-0.8.1,1           Let's Encrypt client

↑パッケージの名称が変わったあげくにバージョン上がってますわ。
古いのを消してからインストールし直して解決。

# pkg delete py27-letsencrypt
# pkg install py27-certbot

コマンドも letsencrypt から certbot に変更されている。

# certbot renew --dry-run

-------------------------------------------------------------------------------
Processing /usr/local/etc/letsencrypt/renewal/www.example.jp.conf
-------------------------------------------------------------------------------
** DRY RUN: simulating 'certbot renew' close to cert expiry
**          (The test certificates below have not been saved.)

Congratulations, all renewals succeeded. The following certs have been 
renewed:
  /usr/local/etc/letsencrypt/live/www.example.jp/fullchain.pem (success)
** DRY RUN: simulating 'certbot renew' close to cert expiry
**          (The test certificates above have not been saved.)

スクリプトも修正。

[letsencrypt.sh]
3c3
< /usr/local/bin/letsencrypt renew --quiet
---
> /usr/local/bin/certbot renew --quiet

cron登録も今度こそちゃんとしました。

[/etc/crontab]
0       0       1       3,6,9,12       *       root    letsencrypt.sh

※本当はフルパスで書いてますよ。

この記事にコメントする

Powered by WordPress, WP Theme designed by WSC Project. ログイン