目次
【nginx】phpMyAdminをHTTPS化(SSL443)設定
こんにちは!インフラ関連のシステムエンジニアをやっているカユラ(@kayura_SE)です。
本記事では、CentOS8環境でnginxを使ってphpMyAdminをHTTPS化(SSL443)する手順を解説します。上から順に実施することでHTTPS接続でphpMyAdminにログインできる構成になっています。「root」ユーザーで作業しているため、必要に応じて「sudo」をつけてください。
| 名称 | バージョン |
|---|---|
| OS | CentOS8.6 / AlmaLinux8.6 / RHEL8.6 |
| PHP | 7.2.24-1.module_el8.3.0+2010+7c76a223 |
| PHP-FPM | 7.2.24-1.module_el8.3.0+2010+7c76a223 |
| phpMyAdmin | 5.2.0-1.el8.remi |
| nginx | 1:1.14.1-9.module_el8.3.0+2165+af250afe |
| MySQL | 8.0.30 |
前提
以下の手順でphpMyAdminの初期設定が完了していることを前提とします。
あわせて読みたい


【CentOS8】phpMyAdminインストール手順(nginx+php+MySQL)での設定
【CentOS8】phpMyAdminインストール手順(nginx+php+MySQL)での設定を行う方法をまとめました。
必要なパッケージのインストール
openssl をインストールします。
yum install -y openssl
サーバー証明書の準備
① 秘密鍵を作成する
openssl genpkey -algorithm RSA -out private.key
② CSRを作成する
openssl req -new -key private.key -out csr.csr -days 365
以下の対話形式で必要な情報を入力します。
Country Name (2 letter code) [XX]: JP ← 国
State or Province Name (full name) []: TOKYO ← 都道府県
Locality Name (eg, city) [Default City]: Minato-ku ← 都市
Organization Name (eg, company) [Default Company Ltd]: SE-Blog ← 会社名
Organizational Unit Name (eg, section) []: Personal ← 組織単位
Common Name (eg, your name or your server's hostname) []: ServerName ← Webアクセス時のサーバー名
Email Address []: xxxx@xxx ← メールアドレス
A challenge password []: 未入力でOK
An optional company name []: 未入力でOK
③ 作成されたファイルを確認する
第三者証明書発行機関に「csr.csr」を送付し、証明書を取得してください。
ls -l
-rw-r--r-- 1 root root 1334 3月 4 23:29 csr.csr
-rw------- 1 root root 1704 3月 4 22:31 private.key
④ オレオレ証明書を作成する(任意)
検証環境や内部環境向けに自己署名証明書を作成する場合は以下を実行します。
openssl req -new -key private.key -x509 -days 365 -out mycert.crt
phpMyAdminのHTTPS化
証明書と秘密鍵の配置
cp mycert.crt /etc/pki/tls/certs/ cp private.key /etc/pki/tls/private/
nginx の設定(/etc/nginx/conf.d/phpmyadmin.conf)
「ServerHostName」と「192.168.1.180」の部分はサーバー自身のIPアドレスまたはFQDNに変更してください。
■変更前
■変更後
サービスの再起動
systemctl restart nginx
まとめ
本記事ではnginxを使ってphpMyAdminをHTTPS化(SSL443)する手順として、openssl によるCSR・証明書の作成から nginx 設定ファイルの変更までを解説しました。同様の設定で困っている方はTwitterでご連絡ください。
カユラ(@kayura_SE)

コメント