SSL証明書を Let’s Encrypt に乗り換えよう (6)

Let’s Encryptの自動更新設定を毎月1日にして、初めての1日が訪れましたが、案の定失敗していました。。。

失敗内容を時系列に列挙すると、

・CentOS 6 標準のPython 2.6 だとLet’s Encryptクライアントが動かなくなってしまった。もともとエラーは出ていたようですが、前回の自動更新設定以降にバージョンアップが行われたっぽい。

・で、Python 2.7を入れてみたが、今度はyumが動かなくなってしまい、結局 yumはPython2.6を割り当てた。yumを2.6にしてしまうと、Let’s Encryptもyumを使っているようで意味なし。

SCLを使用した解決方法(一時的に違うバージョンを使う方法)を先人が見つけてくれていたのでありがたく使わせていただくと、手動更新はOK!しかし、cronを使った自動更新ではSCLを実行しているはずなのにPythonのバージョンが標準と変わらず結局実行できない。

・いろいろ調べたら、SCLをcronから定期実行させるときは書き方が違うようだ。

・書き換えたらうまく動いたかのように見えたが、ドメインを複数指定(-d ji0vwl.net -d www.ji0vwl.net )するとなぜかエラーが出るので一つ(-d ji0vwl.net)にしてみたらOKとなった!手動だと2ついけるので理由は不明。出たエラーは、There were too many requests of a given type :: Error creating new cert・・・

ということで、めちゃくちゃはまってしまい、結局解決がGW最終日の夜中になってしまいました。本当は、yumをPython2.7で動かせれば完璧なのですが、自分のスキルが低すぎて手に負えないため、不本意ながら小手先の対処としました。

 

対処1:SCLで、一時的にPython2.7.5を使用できるようにする

$ sudo -i

# yum install centos-release-SCL

# yum install python27 python27-python-tools

 

対処2:crontabを編集し、SCL経由でLet’s Encryptを実行させる

# crontab -e

 

# run-parts
#1 4 1 * * /root/letsencrypt/letsencrypt-auto certonly –renew-by-default –webroot -w /var/www/html -d ji0vwl.net -d www.ji0vwl.net
1 4 1 * * scl enable python27 “/root/letsencrypt/letsencrypt-auto certonly –renew-by-default –webroot -w /var/www/html -d ji0vwl.net”
6 4 1 * * service httpd restart

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

リンクが含まれる投稿はサイト管理者の承認後に表示されます(スパム対策)