概要

./certbot-auto でSSL証明書をアップデートしようとしたら、pythonがらみのエラー。

エラー回復方法について、ステップ・バイ・ステップで書きました。

エラー内容

Installation succeeded.
/root/.local/share/letsencrypt/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

./certbot-autoを実行しようとしたら上記のエラー。

pythonのバージョンを上げることにした。

centos-release-SCLをインストール

#yum install centos-release-SCL

python27をインストール

# yum install python27
 

キャッシュを削除

 
python27をいれたのに!./certbot-autoを実行するとpython26が動いて同じエラーになる。
 
/root/.local/share/letsencrypt/ の中身を削除(キャッシュなので削除しても良いらしい)
再び./certbot-autoするが、またしてもpython26が動いている.
 

python27が動くように設定

#scl enable python27 bash (参考:Cent OS 6で手軽にPython 2.7を使う方法
 

動いた!しかし./Certbot-auto が今度はいろんなものをアップデート

=========================================================================================================
 パッケージ                      アーキテクチャ             バージョン                    リポジトリー  容量
=========================================================================================================
更新:
 mod_ssl                         x86_64                     1:2.2.15-56.el6.centos.3    updates     97 k
依存性関連での更新をします。:
 httpd                           x86_64                     2.2.15-56.el6.centos.3      updates     834 k
 httpd-tools                     x86_64                     2.2.15-56.el6.centos.3      updates     79 k

 

httpdもか!大丈夫かよ!とおもいつつ反射的にYES。

動いた!しかし違うエラー list index out of range

Traceback (most recent call last):Please see the logfile 'certbot.log' for more details.

File "/root/.local/share/letsencrypt/bin/letsencrypt", line 11, in <module> sys.exit(main())
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/certbot/main.py", line 861, 
in main args = cli.prepare_and_parse_args(plugins, cli_args) 
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/certbot/cli.py", line 814, 
in prepare_and_parse_args 
helpful = HelpfulArgumentParser(args, plugins, detect_defaults) 
File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/certbot/cli.py", line 442, 
in __init__ if self.args[0] == 'help': IndexError:
 list index out of range

 

なんか全然わからない。

しかし、list index out of range っておっしゃってるからには、配列がまずいんだろうと強気の仮説。

/root/.local/share/letsencrypt/lib/python2.7/site-packages/certbot/cli.py, line 442を編集

#        if self.args[0] == 'help':
#           self.args[0] = '--help'

442にやっぱり配列。引数のhelpとかでいちいち騒いでんじゃねえ!と一喝し、コメントアウト化。

そして、半べそ・涙で潤んだ瞳でモニターを見つめながら、しっとりと ./certbot-autoをタイプ…。

そしたらきれいに動きました。

ありがたや~~。