Apacheのインストール
Apache2.4.41(64bit)をダウンロードし準備する
2014年末頃からWindows版インストーラがThe Apache Software Foundation.から配布されなくなったため WindowsへApacheをインストールする場合、ソースコードを自分でコンパイルするかサードパーティが配布しているバイナリを 使用する必要あり。
https://www.apachelounge.com/download/から
Apache 2.4.41 Win64 >「httpd-2.4.41-win64-VS16.zip」をダウンロード
Visual C++ 再頒布可能パッケージのインストール
ApacheはWindows®Visual Studio C ++でビルドされているので、WindowsでApacheを動かすにはWindowsにVisual Studio ランタイムがインストールされている必要があります。
Visual Studioがインストールされていない場合は 対応している(※)Visual Studioの Visual C++ 再頒布可能パッケージ(vc_redist_x64/86.exe)をダウンロードしてインストールしてください。
※
VC16はVisual Studio C ++ 2019でビルド ランタイム要
VC15はVisual Studio C ++ 2017でビルド ランタイム要
VC14はVisual Studio C ++ 2015でビルド ランタイム要
例)VC14の場合、Visual Studio 2015 Update 1 の Visual C++ 再頒布可能パッケージ(64bit版 vc_redist.x64.exe・32bit版 vc_redist.x86.exe)をhttps://www.microsoft.com/ja-JP/download/details.aspx?id=48145
ダウンロードした「httpd-2.4.41-win64-VS16.zip」を解凍
解凍するとhttpd-2.4.41-win64-VC16というフォルダができます。
Apache24というフォルダをまるごとC直下にコピー(「c:\apache24」フォルダへ展開)
Apacheの設定
Directoryの構成
C:\
|
Apache24
|
usr
|
var
∟ ssl
∟ cgi-bin
∟ Directory
■ httpd.confの修正 ■
C:\Apache24/conf/http.conf 修正
コメントを取る
LoadModule rewrite_module modules/mod_rewrite.so
SSL httpd-ssl.conf
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule ssl_module modules/mod_ssl.so
ローカルサーバIP書き換える
#ServerName localhost:80
ServerName 127.0.0.1:80
ローカルのパソコン環境に合わせて変更
デフォルトのDocumentRootは"C:/Apache24/htdocs"
#DocumentRoot "${SRVROOT}/htdocs"
#<Directory "${SRVROOT}/htdocs">
DocumentRoot "C:/var/ssl"
<Directory "C:/var/ssl">
文字を追加する コメントを外す <Directory C:/var/ssl 内>
CGIを使う場合やSSIを使う場合は追加と変更
※サーバでSSIを許可するにはhttpd.confファイルまたは.htaccessファイルに次のディレクティブを指定
#↓Options Indexes FollowSymLinks
Options Indexes FollowSymLinks MultiViews ExecCGI Includes
AddType text/html .html
AddOutputFilter INCLUDES .html
<IfModule dir_module 内>
必要に応じて追加
#DirectoryIndex index.html
DirectoryIndex index.html index.shtml index.php index.cgi
cgi-binのディレクトリを変更
#ScriptAlias /cgi-bin/ "${SRVROOT}/cgi-bin/"
ScriptAlias /cgi-bin/ "C:/var/ssl/cgi-bin/"
#<Directory "${SRVROOT}/cgi-bin">
<Directory "C:/var/ssl/cgi-bin">
<Directory C:/var/ssl/cgi-bin内>に追加
/cgi-bin/ディレクトリ内の画像を処理するように設定
AddHandler image/gif .gif
AddHandler image/jpg .jpg
<IfModule mime_module 内>
PHPとCGIを使う場合は追加
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-cgi .cgi
AddType application/x-httpd-cgi .pl
#↓コメントを取る
AddHandler cgi-script .cgi
#↓コメントを取る
AddHandler type-map var
#↓2行コメントを取る 拡張子htmlでもincludes (SSI)を利用できるように
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
#コメントを取る
Include conf/extra/httpd-ssl.conf
■ C:\Apache24/conf/extra/httpd-ssl.conf 修正 ■
C:/var/sslのフォルダーは用意する
#コメントを取る
#DocumentRoot "${SRVROOT}/htdocs"
DocumentRoot "C:/var/ssl"
Windows10のSSL設定
コントロールパネル>システムとセキュリティ>システム
システムの詳細設定
システム環境変数のPathをクリックして 編集を選択。
1)新規にC:\Apache24\binを追加
2)新規に追加
変数:OPENSSL_CONF
値:C:\Apache24\conf\openssl.cnf
Win32 OpenSSLでのCSR作成
コマンドプロンプトのアイコンを右クリックし「管理者として実行」を選択します。
Win32 OpenSSL Lightの場合は、setコマンドでopensslの設定ファイルを特定してから、opensslコマンドを実行します。
コマンドを実行
C:\WINDOWS\System32> set OPENSSL_CONF=C:\Apache24\conf\openssl.cnf
レジストリを修正
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Apache2.4\ImagePath
"c:\apache24\bin\httpd.exe" -k runservice"
--->c:\apache24\bin\httpd.exe" -D SSL -k runservice
-D SSLを追加する
apache 2.4での証明書構成
sslの設定
1.秘密鍵(server.key)の生成
コマンドプロンプトのアイコンを右クリックし「管理者として実行」を選択します。
Apacheインストールディレクトリのbinに移動
cd C:\Apache24\bin
コマンドを実行
C:\Apache24\bin>openssl.exe genrsa -out ..\conf\server.key 1024
これでC:\Apache24\confに秘密鍵(server.key)が生成されます
2.公開鍵(server.csr)の生成
C:\Apache24\bin>openssl.exe req -new -key ..\conf\server.key -out ..\conf\server.csr -config ..\conf\openssl.cnf
Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:Tokyo
Locality Name (eg, city) []:City
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Company
Organizational Unit Name (eg, section) []:Section
Common Name (e.g. server FQDN or YOUR name) []:127.0.0.1
Email Address []:foo@bar.com
3.証明書(server.crt)の生成
C:\Apache24\bin>openssl.exe x509 -in ..\conf\server.csr -out ..\conf\server.crt -req -signkey ..\conf\server.key -days 365
これでC:\Apache24\confに証明書(server.crt)が生成
コマンドプロンプト Apache起動
c:\> c:\apache24\bin\httpd.exe
Apacheを実行すると「Windowsセキュリティの重要な警告」が表示されるので Apacheが通信できるよう ネットワーク上での通信を許可。
任意のブラウザーを起動し、アドレスに「http://localhost/」又は「http://127.0.0.1/」と入力します。 ブラウザに「It Works!」と表示されればApacheが正常に動作。
サービスへ登録 コマンドプロンプト管理者権限
ApacheをPCにインストールします。インストーラー版では無いのでコマンドプロンプトからインストールします
c:\> c:\apache24\bin\httpd.exe -k install -n "apache2.4"
Apacheの起動や停止が簡単に行える[Apache Monitor]をスタートアップに登録。
ApacheMonitor.exeが[bin]フォルダの中にあるので、ショートカットを作成し、それを次のパスに配置。
< C:\Users\[ユーザ名]\AppData\Roaming\Microsoft\Windows\スタート メニュー\プログラム\スタートアップ >
これでApache MonitorがPCを起動するたびにタスクトレイに常駐。
※AppDataフォルダはデフォルトは隠しフォルダになっていますので、隠しフォルダを表示する設定。
最後にコマンドプロンプトで httpd.confエラーチェック
>C:\Apache2.4\bin>httpd -t
実行する
Windows 10でApache HTTPD Serverが起動しない場合
Windows 10 Pro
Windows Server 等を導入している場合、IISのサービスがすでに起動している状態なのでIIS を停止します
コンピュータの管理
サービスとアプリケーション>サービス
World Wide Web Publishing Service (W3SVC) 自動-->手動へ変更
Web Deployment Agent Service (WAS) 自動-->手動へ変更
コントロールパネル
プログラムと機能>Windowsの機能の有効化または無効化
でインターネットインフォメーションサービスにチェックを取りOKを選択