HTTPS://~のテスト環境を作るためにxamppのsslを有効化する
ネットではxampp7.1系でsslを有効化する手順があるが、xampp7系はデータベースがMariaDBになってしまっているためロリポップのサーバー環境に合わない。
そこで7系の手順をお手本にしながら1.8.3でsslを有効化する。
1.8.3で手を加えるファイルは以下
C:\xampp\php\php.ini
C:\xampp\apache\conf\extra\httpd-ssl.conf
phpでopensslを有効にする
PHP5.5.15
C:\xampp\php\php.iniの1009行目のコメントアウトを外す
PHP5.6.21
C:\xampp\php\php.iniの907行目のコメントアウトを外す
extension=php_openssl.dll
Apacheのssl設定
C:\xampp\apache\conf\extra\httpd-ssl.confファイル末尾に以下を追加
<VirtualHost *:443>
DocumentRoot "C:/xampp/htdocs"
ServerName localhost
SSLEngine on
SSLCertificateFile "conf/ssl.crt/my-server.crt"
SSLCertificateKeyFile "conf/ssl.key/my-server.key"
</VirtualHost>
xampp/apache/conf/openssl.cnfをコピーしてopenssl-san.cnfにリネームする
openssl-san.cnfファイルの末尾に以下を記述
[ SAN ] subjectAltName = @alt_names [ alt_names ] DNS.1 = localhost DNS.2 = <他に認証したいドメインがあれば> DNS.3 = <他に認証したいドメインがあれば>
GitBashをダウンロードして使えるようにする
GitBashを使いsslサーバー証明書(my-server.crtとmy-server.key)を作成する
GitBashのコマンド
# C:\xampp\apache\conf へ移動
$ cd /c/xampp/apache/conf
# my-server.crt, my-server.key の2つのファイルを生成
$ openssl req \
-newkey rsa:4096 \
-keyout my-server.key \
-x509 \
-nodes \
-out my-server.crt \
-subj "//CN=localhost" \
-reqexts SAN \
-extensions SAN \
-config openssl-san.cnf \
-days 3650
これで、xampp/apache/conf/内にmy-server.crtとmy-server.keyが作成される
作成した証明書を設置する
my-server.key → C:\xampp\apache\conf\ssl.key
openssl-san.cnf → C:\xampp\apache\conf\ssl.crt
証明書を認証する
openssl-san.cnf my-server.crtをダブルクリックすると証明書のインストール開始
「証明書をすべて次のストアに配置する」を選択し、
「信頼されたルート証明機関」フォルダを選ぶ 「次へ」
「ユーザーが選択した証明書ストア」を選択し「完了」
セキュリティ警告が出るので「はい」をクリック
https://localhostにアクセスできるようになる
※firefoxでは不可(google chrom使用)
※実際の作業は、まずネットの情報を元にxampp7.1系でできることを確認し、その後xampp1.8.3での作業を行った。my-server.keyとopenssl-san.cnfは7系で作成したものを使用した。
※openssl-san.cnfで作成されたmy-server.crtを直接C:\xampp\apache\conf\ssl.crt内にコピーした。
追記 2019.3.10 windows10にてmy-server.crtをダブルクリック
「証明書のインストール」をクリック
「現在のユーザー」を選択、「次へ」をクリック
「証明書をすべて次のストアに配置する」を選択し、「参照」ボタンをクリック
「信頼されたルート証明機関」を選択し「OK」→「次へ」
「完了」
セキュリティー警告が出るので「はい」をクリック
「正しくインポートされました」→「ok」