通しで行うと結構手数が多いので、一つ一つしっかり確認しながら作業すること。
大まかに、以下のような手順になる。(注:Windowsの場合)

作業手順

サーバーの増設

  • その1.httpd-vhosts.confを修正
  • その2.system32フォルダ内・hostの修正

SSL有効化

  • その1.httpd-ssl.confの修正
  • その2.openssl-san.cnfの修正
  • その3.SSLサーバ証明書の作成(※Git Bashが別途必要)
  • その4.SSLサーバ証明書のインストール

XAMPPを再起動し、サーバーのURLにアクセス

サーバーの増設

その1.httpd-vhosts.confを修正

ファイルの場所▼

C:\xampp\apache\conf\extra\

以下の内容を末尾に追記

<VirtualHost *:80>
   DocumentRoot "フォルダのパス"
   ServerName サーバー名
</VirtualHost>

その2.system32フォルダ内・hostの修正

セキュリティの問題で普通にファイルを開いて修正ができないので、『ファイル名を指定して実行』から『cmd』でコマンドプロンプトを開き、以下をコピペして実行する。

powershell -NoProfile -ExecutionPolicy unrestricted -Command "start notepad C:\Windows\System32\drivers\etc\hosts -verb runas"

メモ帳で開いた末尾に、以下の内容を追記

127.0.0.1 サーバー名

SSL有効化

その1.httpd-ssl.confの修正

ファイルの場所▼

C:\xampp\apache\conf\extra\

以下の内容を末尾に追記

<VirtualHost *:443>
   DocumentRoot "フォルダのパス"
   ServerName サーバー名
   SSLEngine on
   SSLCertificateFile "conf/ssl.crt/ssl_xxx.crt"
   SSLCertificateKeyFile "conf/ssl.key/ssl_xxx.key"
</VirtualHost>

※『xxx』の部分はユニークな数字などを入れる

その2.openssl-san.cnfの修正

ファイルの場所▼

C:\xampp\apache\conf\

※初回は、openssl-san.cnfが存在しない。
openssl.cnfを複製してクローンを作った後ファイル名をopenssl-san.cnfに変更し、以下の内容を末尾に追記。

[ SAN ]
subjectAltName = @alt_names

[ alt_names ]
DNS.1 = サーバー名

二回目以降は下記のみ、末尾に追記。

DNS.xxx = サーバー名

※『xxx』の部分はユニークな数字などを入れる

その3.SSLサーバ証明書の作成

Git Bash(事前にインストールしておく)を起動し、以下の手順でコマンドを入力する。

(1)ディレクトリ移動

$ cd C:\xampp/apache/conf

(2)秘密鍵(ssl_xxx.key)と、サーバ証明書(ssl_xxx.crt)を作成

$ openssl req \
> -newkey rsa:4096 \
> -keyout ssl_xxx.key \
> -x509 \
> -nodes \
> -out ssl_xxx.crt \
> -subj "//CN=サーバ名" \
> -reqexts SAN \
> -extensions SAN \
> -config openssl-san.cnf \
> -days 3650

(3)エラーが出た場合はどこかに誤りがあるので、確認して再実行

成功すると、以下のように表示されて止まる。

Generating a RSA private key
............................++++
........................................
................++++
writing new private key to 'ssl_xxx.key'
-----

(4)生成された秘密鍵とサーバ証明書を所定のフォルダに移動

1.ssl_xxx.key(秘密鍵) を、以下へ。

C:\xampp\apache\conf\ssl.key

2.ssl_xxx.crt(サーバ証明書)を、以下へ。

C:\xampp\apache\conf\ssl.crt 
SSLファイル移動

※ドラッグアンドドロップでOK。

その4.SSLサーバ証明書のインストール

  1. C:\xampp\apache\conf\ssl.crt\ssl_xxx.crtをダブルクリック。
  2. 『証明書のインストール』ボタン(左)をクリック。
  3. 保存場所に『現在のユーザー』のラジオボタン(上)を選択して、『次へ』
  4. 『証明書をすべて次のストアに配置する』のラジオボタン(下)を選択。
  5. 『参照』ボタンから『信頼されたルート証明機関』を選択して、『次へ』
  6. 『完了』ボタンをクリック。

XAMPPを再起動し、サーバーのURLにアクセス

ApacheとMySQLを終了させてQuitの後再起動、再度ApacheとMySQLを開始した後、ブラウザなどからサーバーのURL(https://を付加)にアクセスする。

https://サーバー名

以上