ソフトウェアの構成
Windows Server上でWebサーバを構築するために、以下のソフトウェア構成で
項目 | ソフトウェア名 |
---|---|
OS | Windows Server 2016の64bit |
ミドルウェア | Visual Studio 2019 の Microsoft Visual C++ |
ミドルウェア | Apacheのバージョン2.4.48 |
ミドルウェア | OpenSSLのバージョン1.1.1 |
Apacheのインストール及びサービスを起動
Apacheを用いてWebサーバを構築するために、各ソフトウェアをインストールします。
(1) Apacheのインストールための準備として、「Visual Studio 2019 の Microsoft Visual C++ 再頒布可能パッケージ」のインストーラをダウンロードするために、以下のWebサイトにアクセスします。
(2) 「その他のツールとフレームワーク」の「Visual Studio 2019 の Microsoft Visual C++ 再頒布可能パッケージ」の「x64」にチェックを付けて、「ダウンロード」をクリックします。
(3) ダウンロードしたインストーラ(VC_redist.x64.exe)を実行して、「実行」をクリックします。
(4) 「インストール」をクリックします。
(5) 「閉じる」をクリックします。
(6) Apacheのインストーラをダウンロードするために、以下のWebサイトにアクセスします。
(7) 「Apache 2.4.48 Win64」のインストーラをダウンロードするために「httpd-2.4.48-win64-VS16.zip」をクリックします。
(8) ダウンロードしたファイルを展開して、その中にある「Apache24」をCドライブ直下に移動します。
(9) コマンドプロンプトを起動して、Apacheをインストールするために以下のコマンドを実行します。
cd "C:\Apache24\bin"
httpd.exe -k install
(10) 「C:\Apache24\bin」フォルダの中にある「ApacheMonitor」を実行します。
(11) 右下に表示されている「ApacheMonitor」のアイコンを右クリックで選択して、「Open Apache Monitor」をクリックします。
(12) 「Apache Monitor」の画面にて、「Start」をクリックします。
(13) 「The Apache2.4 service has started」というメッセージが表示されていることを確認します。
(14) ブラウザを起動して、「http://127.0.0.1/」にアクセスすると、「It works!」という文字が表示されていることを確認します。
補足:「C:\Apache24\htdocs」フォルダの中にある「index.html」の内容がWebページとして表示されています。
opensslコマンドの設定
通信を暗号化するための自己証明書を作成するための準備として、opensslコマンドを使用できるように準備します。
(1) opensslコマンドをダウンロードするために、以下のWebサイトにアクセスします。
(2) 「Win64 OpenSSL v1.1.1k」の「MSI」をクリックします。
(3) ダウンロードした「Win64OpenSSL-1_1_1k.msi」を実行します。
(4) 「I accept the agreement」にチェックを付けて、「Next」をクリックします。
(5) インストールディレクトリはそのままにして、「Next」をクリックします。
(6) 「Next」をクリックします。
(7) 「The OpenSSL binaries (/bin) directory」にチェックを付けて、「Next」をクリックします。
(8) 「Install」をクリックします。
(9) 寄付する金額を選択して、「Finish」をクリックします。今回は寄付しないため、全てのチェックを外して、「Finish」をクリックします。
(10) 以下の手順(16)でパスを設定するために、インストールディレクトリの場所(openssl.exeがある場所)を確認します。インストールディレクトリがデフォルトままの場合は「C:\Program Files\OpenSSL-Win64\bin」がインストールディレクトリになっています。
(11) コントロールパネルを起動します。その後、表示方法を「小さいアイコン」に変更して、「システム」をクリックします。
(12) 「コンピュータ名、ドメインおよびワークグループの設定」の「設定の変更」をクリックします。
(13) 「詳細設定」タブの「環境変数」をクリックします。
(14) 「Path」をクリックして、「編集」をクリックします。
(15) 「新規」をクリックします。
(16) OpenSSLのインストールディレクトリ(C:\Program Files\OpenSSL-Win64\bin)を入力して、「OK」をクリックします。
自己証明書の作成およびApacheの設定
Webサーバへの通信を暗号化(https)にするために、自己証明書などを作成して、Apacheを設定する手順を記載します。
(1) コマンドプロンプトを起動します。
(2) 以下のコマンドを実行して、「秘密鍵」を作成します。コマンド実行後、パスフレーズを入力します。
openssl genrsa -aes128 2048 > server.key
(3) 以下のコマンドを実行して、「公開鍵」を作成します。
openssl req -new -key server.key > server.csr
※コマンド実行後、公開鍵の設定情報として以下の項目を設定します。
Country Name (2 letter code) [AU]: ←国名。日本の場合は、JP
State or Province Name (full name) [Some-State]: ←都道府県名。
Locality Name (eg, city) []: ←市町村。
Organization Name (eg, company) [Internet Widgits Pty Ltd]: ←組織名
Organizational Unit Name (eg, section) []: ←部門名
Common Name (e.g. server FQDN or YOUR name) []: ←コモンネーム。
Email Address []: ←Eメールアドレス
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: ←パスワード
An optional company name []: ←パスワード
(4) 以下のコマンドを実行して、「オレオレ証明書」を作成します。コマンド実行後、パスフレーズを入力します。
openssl x509 -in server.csr -days 365000 -req -signkey server.key > server.crt
(5) 以下のコマンドを実行して、「秘密鍵」のパスワードを無いようにします。コマンド実行後、パスフレーズを入力します。
openssl rsa -in server.key -out nopass.key
(6) 作成した「server.crt」と「nopass.key」を「C:\Apache24\conf\ssl」にコピーします。
(7) 「C:\Apache24\conf」の中にある「httpd.conf」の以下の行をコメントアウトします。
LoadModule ssl_module modules/mod_ssl.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
Include conf/extra/httpd-ssl.conf
(8) 「C:\Apache24\conf\extra」の中にある「httpd-ssl.conf」の以下の行を変更します。
ServerName 【WebサーバのFQDN又はIPアドレス】:443
SSLCertificateFile "${SRVROOT}/conf/ssl/server.crt"
SSLCertificateKeyFile "${SRVROOT}/conf/ssl/nopass.key"
(9) 設定ファイルにエラーがないか確認するために、以下のコマンドを実行します。コマンドの出力結果が「Syntax OK」であることを確認します
C:\Apache24\bin\httpd.exe -w -t -f "C:\Apache24\conf\httpd.conf" -d "C:\Apache24\."
クライアント証明書のインポート
自己証明書にて通信を暗号化する場合、クライアント側にクライアント証明書をインポートしていないと、以下のような警告画面が表示されます。
(1) Webサーバにアクセスするクライアントに「公開鍵(server.crt)」をコピーします。
(2) 「server.crt」を実行します。
(3) 「ローカル コンピューター」にチェックを付けて、「次へ」をクリックします。
(4) 「証明書をすべての次のストアに配置する」にチェックを付けて、証明書ストアに「信頼されたルート証明機関」を選択します。その後、「次へ」をクリックします。
(5) 「完了」をクリックします。
(6) 「OK」をクリックします。