#22 CentOS6 certbot-auto の代替方法(pip)

icon incmplt が 2021/06/29 10:38 に投稿 ( icon incmplt が 2021/06/29 10:52 に編集 <更新履歴> )
  投稿を編集(サインイン)
  ストック
  アンケート回答

  目次

CentOS 6 は、サポートが終了しているためOSのアップグレードが必要である。
また、Let's Encrypt で使用する certbot-auto(もしくは letsencrypt-auto) の venv で参照するリポジトリが TLS1.0/1.1を停止したため、今まで使用していた certbot-autoが利用できなくなるシーンもある。

暫定的な certbot の更新 : 概要

certbot-auto が動作しなくなった場合、以下の 暫定的な方法で更新を延命することができる。

  • pyenv などで python 3.6 以上の環境を構築する
  • pip3 で certbot モジュールをインストールする
  • certbot-auto で更新していたコマンドを certbot に置き換える

CentOS6に python 3.6 以上の環境を構築して、 pythonの certbot モジュールを使用することで暫定的に証明書の更新を延命できる。

ただし、前述の通り CentOS 6 は、 サポートが終了しているため、可及的速やかにOSの更新、環境の移設を行うことが必要である。

certbot の置き換え 手順

以下の操作で CentOS6 に Python 3.6 以降をインストールし、cerbot を置き換えることができる。

pyenv 環境の作成

pyenv を使用するために コンパイラならびに関連のライブラリをインストールする。

yum install gcc gcc-c++ make git openssl-devel bzip2-devel zlib-devel readline-devel sqlite-devel bzip2 sqlite
 zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel

次ぎに、pyenv を クローンする。

git clone git://github.com/yyuu/pyenv.git ~/.pyenv

以下の内容を .bashrc に追記し反映する。

export PYENV_ROOT="${HOME}/.pyenv"
if [ -d "${PYENV_ROOT}" ]; then
    export PATH=${PYENV_ROOT}/bin:$PATH
    eval "$(pyenv init -)"
fi

設定の反映は以下のコマンドを実行する。

source ~/.bashrc

pyenv が正しく認識されているかを確認するために、以下のコマンドを実行する。

pyenv --version

pyenv でインストールできる python のバージョンを確認する。

# pyenv install --list | more
Available versions:
  2.1.3
  2.2.3
  2.3.7
  2.4
  2.4.1
  2.4.2
...
  3.5.4
  3.6.0
  3.6-dev
  3.6.1
  3.6.2
  3.6.3
  3.6.4
  3.7.0a4
  3.7-dev
  anaconda-1.4.0
  anaconda-1.5.0
  anaconda-1.5.1
  anaconda-1.6.0
  anaconda-1.6.1
...

今回は、python 3.6以上が必要となるので、以下のコマンドで python 3.6.4 をインストールする

pyenv install 3.6.4

インストールが完了したら、以下のコマンドで、使用する python を変更する。
ここでは、間違いを少なくするため global で指定している。

pyenv global 3.6.4

certbot のインストール

python 3.6が使えるようになったら、以下の pip コマンドで certbot をインストールする。

pip3 install certbot

これで Python 3.6 系の certbot がインストールできたので、今までの certbot-auto を certbot に置き換えて、証明書の更新を実行する。

certbot-autoコマンドの代わりにcertbotコマンドを指定することで、問題なくSSL証明書の更新や取得が利用可能になる。

Let’se Encrypt の設定(/etc/letsencrypt) を変更する必要もない。

 添付ファイル     - [0]


 コメント追加