🔥

【Let's Encrypt】CentOS6環境でSSLを発行させる

2023/06/12に公開

過去、とある案件でSSLの更新に失敗して大変なことになった時の記録です。
供養のためアップ。

yum のサポートを無理やり受ける

2020年11月頃に、CentOS6がyumのサポートから外されました。
回避策があったので以下に記載します。
バックアップはしっかり取りましょう。

https://node4u.info/2021/01/23/yumがupdateできない件(centos6)/

https://ex1.m-yabe.com/archives/5066

# バックアップの作成
$ 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を一時的に使えるようにします。

https://www.server-world.info/query?os=CentOS_6&p=python35
https://cpoint-lab.co.jp/article/202103/19362/

$ 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コマンドなら使えるようなので切り替え作業を行います。

https://cpoint-lab.co.jp/article/202103/19362/

# 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