【nginx】phpMyAdminをHTTPS化(SSL443)設定
こんにちは!
インフラ関連のシステムエンジニアをやっているカユラ(@kayura_SE )です。
今回は、「【CentOS8】phpMyAdminをHTTPS化(SSL443)設定nginx+php+MySQL」について紹介したいと思います。
私自身いろいろと躓きましたため、上から順番に実施することで「phpMyAdmin」にログインできるような構成になっております。
「root」ユーザーで作業しているため、必要に応じて「sudo」をつけてください。
名称 |
Ver |
---|---|
OS |
CentOS8.6 or Linux8.6 or 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の初期設定が完了していることを前提とします。
www.kayura-se.com必要なパッケージのインストール
「openssl」をインストールします。
yum install -y openssl
サーバー証明書の準備
①秘密鍵を作成します。
openssl genpkey -algorithm RSA -out private.key
②CSRを作成します。
openssl req -new -key private.key -out csr.csr -days 365
Ignoring -days; not generating a certificate
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
ーーーーーーー
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 ←メールアドレス
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:未入力 ←パスワードですが、未入力で大丈夫です。
An optional company name []:未入力 ←パスワードですが、未入力で大丈夫です。
③出来たファイルを確認します。
第三者証明書発行機関に「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/
phpMyAdminの設定
「nginx」の設定vim /etc/nginx/conf.d/phpmyadmin.conf
新規にファイルを作成します。
■変更前
↓↓↓↓↓↓変更後↓↓↓↓↓↓
■変更後
「ServerHostName」と「192.168.1.180」の部分は、サーバー自身のIPまたはFQDNに変更してください。
サービスの再起動
「nginx」のサービスを再起動します。
systemctl restart nginx
【CentOS8】phpMyAdminをHTTPS化(SSL443)設定nginx+php+MySQLの手順は以上となります。
次回はphpMyAdminの活用方法について説明したいと思います。
現在悩んでいる方はTwitterでご連絡ください。
私も辛い日々を経験したのであなたの助けになりたいです。
カユラ(@kayura_SE )