たまにはキャッチーなタイトルを。「さくらの」とは言っていますが、epelの有効化以外は、CentOS7一般の手順と一緒です。epel-relesaseはプリインストールされているんですが、無効化されているため、certbot公式の手順がうまくいきません。apacheとmod_sslはインストール済みの状態を想定しています。
まずは、epelの有効化をします。
/etc/yum.repos.d/epel.repo
[epel]
(略)
enabled=1
(略)
続いてcertbotをインストールします。
yum install python-certbot-apache
ssl.confの最後尾(/VirtualHostの直前)に以下の設定を追加します。ホスト名やディレクトリは適宜読み変えてください。
/etc/httpd/conf.d/ssl.conf
ServerName foobar.net
<Directory /opt/foobar.net/pub>
AllowOverride All
Require all granted
</Directory>
certbotを起動します。ssl.confの設定が正しければ、ウィザードの指示に従って簡単に完了できると思います。
certbot
これでServerNameで指定したFQDN(foobar.net)のSSL証明書の作成と導入が完了です!ブラウザからアクセスして有効な証明書がインストールされていることを確認してください。
SSLだけで運用したい(暗号化無しでは使わないで欲しい)場合、以下のようにリダイレクトを設定します。
/etc/httpd/cond.d/foobar.conf
<VirtualHost *:80>
ServerName foobar.net
ServerAlias www.foobar.net
Redirect "/" "https://foobar.net/"
</VirtualHost>
証明書の更新も自動化しておきます。certbotで生成した証明書は3ヶ月で期限が切れるため、その前に必ず更新が走るように設定しておく必要があります。下記例では毎月2回更新していますが、renewコマンドは”必要に応じて"しか更新処理を行わないため、毎日起動するようにしておいても構いません。
0 0 1,15 * * certbot renew