📌
【Let's Encrypt】snapd でのSSL導入手順
snapdのインストール
$ yum -y install snapd
snapのバージョンは確認はsnap --version
snapdの有効化
$ systemctl start snapd
$ systemctl enable snapd
シンボリックリンク設定
$ ln -s /var/lib/snapd/snap /snap
snapdが最新であることの確認
$ snap install core;
$ snap refresh core ;
yumでcertbotをインストールしていた場合は削除
$ yum -y remove certbot
snapでcertbotをインストール
$ snap install --classic certbot
certbotコマンドを有効化設定
$ ln -s /snap/bin/certbot /usr/bin/certbot
既にSSL証明書が発行済みの場合は削除
$ rm -rf /etc/letsencrypt/archive/対象ドメイン
$ rm -rf /etc/letsencrypt/live/対象ドメイン
$ rm -rf /etc/letsencrypt/renewal/対象ドメイン.conf
SSL証明書の発行
$ certbot certonly -m example@mail.jp --agree-tos --non-interactive --webroot -w /path/to/webroot -d ドメイン名 -d www.ドメイン名
# phpMyAdminのSSLも同時に発行する場合
$ certbot certonly -m example@mail.jp --agree-tos --non-interactive --webroot -w /path/to/webroot -d ドメイン名 -d www.ドメイン名 -w /usr/share/phpMyAdmin -d phpmyadmin.ドメイン名
SSL証明書の確認
指定したドメイン名でSSLが発行されているか確認します。
$ ll /etc/letsencrypt/live/
confファイルの修正
$ vi /etc/nginx/conf.d/hoge.conf
server {
listen 80;
server_name hoge.jp www.hoge.jp;
root /path/to/hoge/webroot;
# 追記ここから
return 301 https://www.hoge.jp$request_uri;
}
server {
listen 443;
server_name www.hoge.jp ssl http2;
if ($host !~ ^www.hoge.jp) {
return 301 https://www.hoge.jp$request_uri;
}
ssl on;
ssl_certificate /etc/letsencrypt/live/hoge.jp/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/hoge.jp/privkey.pem;
# 追記ここまで
location / {
index index.php index.html index.html;
try_files $uri $uri/ /index.php?$args;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
再起動
$ systemctl restart nginx
Discussion