さくらVPS(LAMP)にLet’s Encrypt(レッツエンクリプト)をインストール&更新設定メモ

さくらVPS( Cent OS 6.9 )に無料SSLのLet’s Encrypt(レッツエンクリプト)のインストールと更新設定の内容をメモします。

パッケージアップデート

 sudo yum update

Python2.7インストール

インストール

sudo yum install centos-release-scl
sudo yum install python27 python27-python-tools
sudo yum install dialog
scl enable python27 bash

バージョン確認

 python -V

上記コマンドで下記が表示され Python2.7 が入っていることが確認出来ましたが、なぜか Python2.6 に戻ってしまう現象がありました。

Python 2.7.16

Let’s Encrypt ダウンロードと証明書発行

ダウンロード

cd /var/
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt

証明書発行

./certbot-auto certonly --webroot -w /home/sites/www.analyzegear.co.jp/public_html/ -d analyzegear.co.jp,www.analyzegear.co.jp -m メールアドレス

正常に証明書の発行が完了すると次のメッセージが表示されます

IMPORTANT NOTES:
 Congratulations! Your certificate and chain have been saved at:
 /etc/letsencrypt/live/analyzegear.co.jp/fullchain.pem
 Your key file has been saved at:
 /etc/letsencrypt/live/analyzegear.co.jp/privkey.pem
 Your cert will expire on 2020-03-08. To obtain a new or tweaked
 version of this certificate in the future, simply run certbot-auto
 again. To non-interactively renew all of your certificates, run
 "certbot-auto renew"
 If you like Certbot, please consider supporting our work by:
 Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
 Donating to EFF:                    https://eff.org/donate-le

Virtual Hostの設定

<VirtualHost *:443>
    ServerName analyzegear.co.jp:443
    DocumentRoot /home/sites/analyzegear.co.jp/public_html

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/analyzegear.co.jp/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/analyzegear.co.jp/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/analyzegear.co.jp/chain.pem
</VirtualHost>

Apacheリロード

誤った設定をしていないか確認

 service httpd configtest

下記のように「OK」が返ってこれば大丈夫です。

Syntax OK

リロード

 service httpd reload

Let’s Encrypt の証明書を cron で自動更新

cron 設定ファイルを開く

 crontab -e

更新用コマンド登録

毎月1日の5時に実行するように登録

0 5 1 * * scl enable python27 "/var/letsencrypt/certbot-auto renew --agree-tos && service httpd reload"

正常に登録されれば

crontab: installing new crontab

とメッセージが表示されます

はまったところ

Pythonのバージョンが 2.7にならない(固定出来ない)

 scl enable python27 bash 

実行後は、Python 2.7 に変わるのだが、すぐに Python 2.6 に戻ってしまった

2.6 のままコマンドを実行すると

/var/letsencrypt/certbot-auto
WARNING: couldn't find Python 2.7+ to check for updates.
/var/letsencrypt/certbot-auto: line 919: python3: コマンドが見つかりません

とエラーが出てしまう。

対処法

/var/letsencrypt/certbot-auto renew --agree-tos && service httpd reload

で実行しようとしていたものを

scl enable python27 "/var/letsencrypt/certbot-auto renew --agree-tos && service httpd reload"

Python 2.7 にしてから実行するようにしました。

コメント

タイトルとURLをコピーしました