certbot-autoコマンドで簡単に更新できるのも利点なのですが、
こういうコマンドって諸刃の剣で、ちゃんと動かなくなると悲惨です。
certbot-autoも時々エラーを吐いて動いてくれないことがあり、
いつも実行時はドキドキなのですが、この度のはひどかった。
Python 2.7を使っているサーバでcetbot-autoを実行すると最後に以下のようなエラーが。
Certbot has problem setting up the virtual environment. We were not be able to guess the right solution from your pip output. Consult https://certbot.eff.org/docs/install.html#problems-with-python-virtual-environment for possible solutions. You may also find some support resources at https://certbot.eff.org/support/ .実はPython 2.xは今年始めにサポートが打ち切られており、
もしかしてそのせいかもと思いPython 3.xを試してみることに。
"/usr/bin"ディレクトリを見ると2.7と3.4mが入っていたので
3.4mに切り替えてみようとして
# update-alternatives --config python update-alternatives: error: no alternatives for pythonとか言われてしまいました。
仕方がないので
# update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1 # update-alternatives --install /usr/bin/python python /usr/bin/python3.4m 2を実行後にもう一度試して無事切り替えることに成功。
しかしcetbot-autoの実行結果は
Creating virtual environment... Traceback (most recent call last): File "/usr/bin/virtualenv", line 2, inで、なんか詰んだ感じ。import virtualenv ImportError: No module named 'virtualenv' Traceback (most recent call last): File " ", line 27, in File " ", line 19, in create_venv File "/usr/lib/python2.7/subprocess.py", line 540, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['virtualenv', '--no-site-packages', '--python', '/usr/bin/python2.7', '/opt/eff.org/certbot/venv']' returned non-zero exit status 1
ただ証明書の期限が迫っており諦めるわけにも行かず
ネットで調べていてぶち当たったのがcertbotにあるバグの情報。
ということでPythonを2.7に戻して以下を実行。
# cd /usr/local/src/ # mkdir certbot2 # cd certbot2/ # wget https://raw.githubusercontent.com/certbot/certbot/75499277be6699fd5a9b884837546391950a3ec9/certbot-auto # chmod +x certbot-auto # ./certbot-auto --no-self-upgrade無事更新できました。
やれやれだぜ。
0 件のコメント:
コメントを投稿