🔥
【Let's Encrypt】CentOS6環境でSSLを発行させる
過去、とある案件でSSLの更新に失敗して大変なことになった時の記録です。
供養のためアップ。
yum のサポートを無理やり受ける
2020年11月頃に、CentOS6がyumのサポートから外されました。
回避策があったので以下に記載します。
バックアップはしっかり取りましょう。
# バックアップの作成
$ cp -p /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak
$ vi /etc/yum.repos.d/CentOS-Base.repo
# 修正個所↓
# baseurl の「mirrorlist」を「vault」にしてコメントアウトを外す
# mirrorlistをコメントアウトする
------------------
[base]
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
baseurl=http://vault.centos.org/centos/$releasever/os/$basearch/
[updates]
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
baseurl=http://vault.centos.org/centos/$releasever/updates/$basearch/
[extras]
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
baseurl=http://vault.centos.org/centos/$releasever/extras/$basearch/
------------------
# バックアップの作成
$ cp -p /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo_bak
$ vi CentOS-SCLo-scl-rh.repo
------------------
[centos-sclo-rh]
#mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=6&repo=sclo-rh
baseurl=http://vault.centos.org/centos/6/sclo/$basearch/rh/
------------------
# バックアップの作成
$ cp -p /etc/yum.repos.d/CentOS-SCLo-scl.repo /etc/yum.repos.d/CentOS-SCLo-scl.repo_bak
$ vi CentOS-SCLo-scl.repo
------------------
[centos-sclo-sclo]
baseurl=http://vault.centos.org/centos/6/sclo/$basearch/sclo/
#mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=6&repo=sclo-sclo
------------------
これでyum update
などのコマンドを試してみましょう。
一時的にpythonのバージョンを3.6にする
python2.7のサポートが終了したのを受けて、Let's Encrypt
も対応を終了させました。
仕方がないのでpython3.xを一時的に使えるようにします。
$ yum install -y https://repo.ius.io/ius-release-el6.rpm
$ yum install -y rh-python36 rh-python36-pip
$ scl enable rh-python36 bash
$ python -V
Python 3.6.12
certbot-auto の代わりに certbot を使えるようにする
実は2020年7月頃にcertbot-auto
コマンドそのものがサポート終了していたらしいです。
certbotコマンドなら使えるようなので切り替え作業を行います。
# certbot用のvirtual envを作成
$ sudo python3 -m venv /opt/certbot/
# venv内のpipを最新バージョンにアップデート
$ sudo /opt/certbot/bin/pip install --upgrade pip
# certbotをpipでインストール
$ sudo /opt/certbot/bin/pip install certbot
# pathが通るディレクトリにcertbotコマンドのリンクを追加
$ sudo ln -s /opt/certbot/bin/certbot /usr/bin/certbot
$ certbot --version
certbot 1.13.0
これでcertbot
コマンドが使えるはずです。
$ certbot renew
Discussion