CentOS Stream9へSSL証明書取得(Let's Encrypt)


はじめに

先日、レンタルサーバにSSLを設定して欲しいというお願いをされまして。
そこら辺はじめてだったのと、昨今のレンタルサーバといえばワンクリックでSSLが導入できるものが多いこともあり、珍しいなあと思ったのでその際の手順をメモ書き程度に残しておこうと思います。
(あらゆる説明、および証明書取得後のApacheの設定などは省きます)

手順

  1. EPELインストール

    sudo dnf config-manager --set-enabled crb
    sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
    sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-9.noarch.rpm
    
  2. Snappy インストール

    sudo dnf --enablerepo=epel -y install snapd
    sudo systemctl enable --now snapd.socket
    sudo ln -s /var/lib/snapd/snap /snap
    
  3. core インストール

    sudo snap install core
    
  4. cerbot インストール

    sudo snap install --classic certbot
    sudo ln -s /snap/bin/certbot /usr/bin/certbot #シンボリックリンク作成
    
  5. 証明書を取得
    certbot certonly --webroot -w [対応ドメインのDocumentRoot] -d [証明書を取得したいFQDN] -m [登録するメールアドレス]

    certbot certonly --webroot -w /var/www/html -d hogehoge.com -m [email protected]
    certbot certonly --standalone -d hogehoge.com
    

おわりに

実は、証明書をcronなりで定期更新するようにしないとなあと思ってたのですが、Snapdからインストールしたcertbotクライアントならば、更新は自動で実行されるとのことで。
めちゃ便利ですね。

ところで、夫がインフラ側の人間なので、今回の対象サーバであるCentOS Streamについて聞いてみたところ、いや今はAlmaLinuxがいいぞ、とのこと。
いずれそちらも触ってみたいです。

参考

SSL証明書を取得する (Let's Encrypt)
【CentOS Stream 9】certbotをインストールしてみた
CentOS Stream 9 LAMPサーバインストールメモ【Apache2.4+MySQL8.0+PHP8.0】