LoginSignup
1
0

More than 1 year has passed since last update.

[Laravel-adminを導入しよう!その4] [CentOS Stream8 & Nginx] 無料のSSL証明書「Let's Encrypt」でSSL化する

Last updated at Posted at 2022-04-26
  1. [Laravel-adminを導入しよう!その1] ConoHa VPSにCentOS Stream8をインストールしVSCodeでSSH接続できるようにする - Qiita
  2. [Laravel-adminを導入しよう!その2] CentOS Stream8にNginx、PHPをインストールする - Qiita
  3. [Laravel-adminを導入しよう!その3] CentOS Stream8にLaravel9(PHP8、Nginx、MariaDB)をインストールする - Qiita
  4. [Laravel-adminを導入しよう!その4] [CentOS Stream8 & Nginx] 無料のSSL証明書「Let's Encrypt」でSSL化する - Qiita ←本記事
  5. [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化するまでの流れ

  1. snapdをインストール
  2. Certbotをインストール
  3. 証明書を発行し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接続できているか確認しましょう😉

参考サイト

CentOSサーバにCertbotを使ってLet's Encrypt SSL証明書を適用する

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0