Windows Server 2016 上配置 APACHE+SSL+PHP+perl


Windows Server 2016 上配置 APACHE+SSL+PHP+perl

安装环境
谷歌云实例 Windows Server 2016
Apache     Apache/2.4.25 (win64-VC14)
PHP        php-5.6.30 (VC11 x64 Thread Safe)
PERL       ActivePerl-5.24 (Win64)
OpenSSL    openssl-1.0.2j-win64
VC14       Microsoft Visual C++ 2015(vcredist_x64)
VC11       Microsoft Visual C++ 2015(vcredist_x64)

1.安装 Apache
Apache/2.2 不支持php-5.3以后的版本,用最新的 Apache/2.4,由于是Win64-VC14版本,需安装 x64位版本的 VC2015运行库,即VC14
http://httpd.apache.org/download.cgi
http://www.apachelounge.com/download/VC14/binaries/httpd-2.4.25-win64-VC14.zip
解压到 D:\httpd
修改 D:\httpd\conf 和 D:\httpd\conf\extra 目录下的文件,替换 C:/apache24 到 D:/httpd

修改  D:\httpd\conf\httpd.conf 中的 Require all denied 字段 为 Require all granted  ,这样放权外网访问

2.安装 SSL
http://openssl.org
https://wiki.openssl.org/index.php/Binaries
https://slproweb.com/products/Win32OpenSSL.html
这里使用了 Apache/2.4.25  自带的 openssl ,在 D:\httpd\bin 目录 ,默认配置文件位于 C:/openssl-1.0.2j-win64/ssl/openssl.cnf
用命令建立 server.key 和 server.crt
set path=D:/httpd/bin
D:
cd D:/httpd/conf/
copy openssl.cnf openssl.conf
mkdir demoCA\newcerts
echo.>demoCA/index.txt
echo.>demoCA/serial
openssl genrsa -out server.key 1024
openssl req -new -x509 -key server.key -out server.crt -days 3650 -config openssl.conf    
修改 D:/httpd/conf/httpd.conf 文件,去掉下面两行前面的 #
#LoadModule ssl_module modules/mod_ssl.so
#Include conf/extra/httpd-ssl.conf
修改 D:/httpd/conf/extra/httpd-ssl.conf 文件,注释下面的行
#SSLSessionCache        "shmcb:d:/httpd/logs/ssl_scache(512000)"

3.安装 perl
下载后安装时选第三项会自动安装到 c:/perl64 ,无需做其它修改,以后加载.pl文件时,第一行指向 #!c:/perl64/bin/perl.exe
http://perl.org
http://www.activestate.com/activeperl/downloads
修改 D:/httpd/conf/httpd.conf 文件,去掉下行前面的 #
#LoadModule cgi_module modules/mod_cgi.so

4.安装 php
php 有两种版本,Thread Safe(TS) 和 Non Thread Safe(NTS) , TS 用于APACHE ,NTS 用于IIS
由于 VC11 x64 Thread Safe 需安装 x64位版本的 VC2012运行库,即VC11,在微软官方网站搜索安装。
http://windows.php.net/download/
http://windows.php.net/downloads/releases/php-5.6.30-Win32-VC11-x64.zip
解压到 D:/httpd/php-5.6.30 ,把 php.ini-production 改名为 php.ini
修改 D:/httpd/conf/httpd.conf 文件,增加下面的行
LoadModule php5_module "D:/httpd/php-5.6.30/php5apache2_4.dll"
PHPIniDir "d:/httpd/php-5.6.30"
AddType application/x-httpd-php .php .html .htm
如果出现找不到 D:/httpd/php-5.6.30/php5apache2_4.dll 文件的提示,可能是需要的VC运行库没有安装,或者是apache和php的版本不配。

5.到此配置结束,使用下面的命令启动服务
httpd -k install
httpd -k start
单是 httpd -k start 不能启动服务

最后还得在 本地防火墙 上放行 Apache ,同时在谷歌云上的    网络-->防火墙 设置上允许 tcp:80 ;tcp:443 允许任意目标访问
这样外界才能访问 WEB 服务器

原文链接:,转发请注明来源!

发表评论