先日Let’s EncryptのログにWarningが出ていました。
1 2 3 4 5 6 7 8 9 |
WARNING: couldn't find Python 2.6+ to check for updates. Skipping upgrade because new OS dependencies may need to be installed. To upgrade to a newer version, please run this script again manually so you can approve changes or with --non-interactive on the command line to automatically install any required packages. /opt/eff.org/certbot/venv/lib/python2.6/site-packages/cryptography/__init__.py:26: DeprecationWarning: Python 2.6 is no longer supported by the Python core team, please upgrade your Python. A future version of cryptography will drop support for Python 2.6 DeprecationWarning Saving debug log to /var/log/letsencrypt/letsencrypt.log |
証明書の更新はできていますが、
Let’s Encrypt自身のアップグレードでWarningが出ていたようです。
アップグレードするには、現在インストールされているPython2.6はサポートが廃止される予定なので
まずはPythonをアップグレードしろとのこと。
しかしCentOS6の標準では2.6までしか入りませんのでリポジトリのインストールから始めます。
リポジトリのインストール
1 |
yum -y install centos-release-scl-rh |
Python2.7のインストール
1 |
yum -y install python27 |
これだけではpythonコマンド使用時のバージョンは2.7になりません。
2.7が自動的に有効になるように設定しましょう。
1 2 |
echo 'source /opt/rh/python27/enable' > /etc/profile.d/python27.sh source /etc/profile |
これで~/certbot-auto renewを実行すれば
Let’s EncryptのrenewコマンドでLet’s Encrypt自身のアップグレードもされるようになりました。
しかし、自動更新はたいていの場合、cronで設定されているかと思います。
cronで実行される場合はまだpython2.7が有効になっていません。
cronで実行するコマンドでpython2.7を有効にするには
crontabでの記述を次のようにします。
1 |
0 5 * * * ~/certbot-auto renew |
↓
1 |
0 5 * * * scl enable python27 "~/certbot-auto renew" |
(毎日AM5時にrenewを実行する場合)