- [Laravel-adminを導入しよう!その1] ConoHa VPSにCentOS Stream8をインストールしVSCodeでSSH接続できるようにする - Qiita
- [Laravel-adminを導入しよう!その2] CentOS Stream8にNginx、PHPをインストールする - Qiita
- [Laravel-adminを導入しよう!その3] CentOS Stream8にLaravel9(PHP8、Nginx、MariaDB)をインストールする - Qiita
- [Laravel-adminを導入しよう!その4] [CentOS Stream8 & Nginx] 無料のSSL証明書「Let's Encrypt」でSSL化する - Qiita ←本記事
- [Laravel-adminを導入しよう!その5] Laravel-adminをインストールしSSL化する - Qiita
サーバー構成
OS: CentOS Stream8
Nginx: 1.20.2
PHP: 8.1.5
MariaDB: 10.3.28
Laravel: 9.9.0
概要
本シリーズは、VPS上に構築したCentOSに、IT資産管理ツールを構築することを最終目的としています。
IT資産管理ツールのUIは、Laravelの管理画面ライブラリである「Laravel-admin」を使用します。
前回の記事では、MariaDBとLaravelのインストールまでしました。
今回は、無料SSL証明書「Let's Encrypt」を使ったHTTPS化の手順説明をします。
Certbotをインストールする
SSL化をするにあたって下記サイトがとても参考になりました。
SSL化するまでの流れ
- snapdをインストール
- Certbotをインストール
- 証明書を発行しNginxに適用
snapdをインストール
# root権限でログイン
sudo su
# EPELを一時的に有効にしてsnapdをインストール
dnf --enablerepo=epel install snapd
# サービスの有効化
systemctl enable --now snapd.socket
# 古いsnapとの互換性を保つためシンボリックリンクを設定
ln -s /var/lib/snapd/snap /snap
# インストールできたか確認
snap --version
# ↓こんな結果が表示されればOK
snap 2.55.3-1.el8
snapd 2.55.3-1.el8
series 16
centos 8
kernel 4.18.0-373.el8.x86_64
Cerbotをインストール
# snap coreのインストールとリフレッシュ
snap install core
snap refresh core
# Cerbotのインストール
snap install --classic certbot
# コマンドのPathを通す
ln -s /snap/bin/certbot /usr/bin/certbot
# インストールできたか確認
certbot --version
Let’s Encryptの発行と適用
事前に、証明書を適用するサーバーのドメインの疎通確認をしておきます。
# 1. 「dig {申請したいドメイン名}」の形式でコマンドを入力します
dig example.jp
;; ANSWER SECTION:
example.jp. 3600 IN A xxx.xxx.xxx.xxx
# 2. ログイン中サーバーのグローバルIPを表示
curl ifconfig.me
xxx.xxx.xxx.xxx # digコマンド結果と同じグローバルIPが表示されていればOK
# 3. 申請したいドメイン名のサイトでHTTP接続ができるか確認
curl -I http://example.com
HTTP/1.1 200 OK # ステータスコードが200番台=HTTP接続できているのでOK
ここまできたら、いよいよ発行と適用をします。
今回はNginxのconfigを自動変更するので、事前にconfigをバックアップしておきます。
# Nginxのconfigをバックアップ
cp -p /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
# 証明書の発行と適用を開始(対話型の設定確認が始まります)
certbot --nginx
# 証明書有効期限の通知先メールアドレスを求められるので入力します
Enter email address (used for urgent renewal and security notices)
(Enter 'c' to cancel): hogehoge@example.jp
利用規約の同意 → yと入力しEnter
キャンペーン情報を受け取るか → nと入力しEnter
申請したいドメイン名の入力 → ドメイン名の先頭の数字を入力しEnter
以上で、HTTPS化の作業が完了しました。
ブラウザでサイトにアクセスし、HTTPS接続できているか確認しましょう😉