1、下载windows 版本 Apache,进入/download.cgi,如图,选择ApacheHaus,点击下载。
2、解压并重命名文件夹为Apache。
3、进入conf文件夹,编辑httpd.conf,搜索Define SRVROOT,并修改apache实际的目录地址,比如E:\Apache。
4、启动cmd,cd到Apache的bin文件夹,输入httpd -k install ,完成Apache服务的安装。
5、双击bin目录下的ApacheMonitor.exe,点击右边的start启动服务器,如果正常,如下图:
6、卸载Apache,cd进入bin目录,使用httpd -k uninstall 移除服务。使用httpd -w -n "Apache2" -k start命令启动服务器可以显示启动过程中的日志,便于分析错误
7、如果启动失败,命令行通过httpd.exe -k start测试,可以看到错误提示。
8、开启虚拟机配置,打开httpd.conf,去掉一下两句前面的#号
#Include conf/extra/httpd-vhosts.conf (去掉前面的#号)#LoadModule ssl_module modules/mod_ssl.so (去掉前面的#号)#Include conf/extra/httpd-ssl.conf (去掉前面的#号)#LoadModule proxy_module modules/mod_proxy.so (去掉前面的#号)#LoadModule proxy_http_module modules/mod_proxy_http.so (去掉前面的#号)#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so (去掉前面的#号)
9、配置虚拟机路径权限
<Directory "${SRVROOT}/wwwroot">Options Indexes FollowSymLinksAllowOverride NoneRequire all granted</Directory>
10、编辑\conf\extra\httpd-vhosts.conf
<VirtualHost *:80>ServerAdmin webmaster@dummy-DocumentRoot "${SRVROOT}/wwwroot/你的域名"ServerName 你的域名ErrorLog "logs/你的域名-error.log"CustomLog "logs/你的域名-access.log" common</VirtualHost>
11、如果启用ssl证书的,还要编辑httpd-ssl.conf。将证书的3个文件上传到路径conf\ssl下。httpd-ssl.conf下面添加:
<VirtualHost *:443>SSLCertificateFile "${SRVROOT}/conf/ssl/你的证书_public.crt"SSLCertificateKeyFile "${SRVROOT}/conf/ssl/你的证书.key"SSLCACertificateFile "${SRVROOT}/conf/ssl/你的证书_chain.crt"# General setup for the virtual hostDocumentRoot "${SRVROOT}/wwwroot/你的路径"ServerName 你的域名:443ServerAdmin admin@ErrorLog "${SRVROOT}/logs/你的域名-error.log"TransferLog "${SRVROOT}/logs/你的域名-access.log"# SSL Engine Switch:# Enable/Disable SSL for this virtual host.SSLEngine on</VirtualHost>
12、开启.htaccess规则支持
打开Apache/conf/httpd.conf,找到 #LoadModule rewrite_module modules/mod_rewrite.so 去掉#号。
找到你网站目录的<Directory>段,比如我的网站目录是c:/www,找到<Directory “C:/www”>…</Directory>修改其中的 AllowOverride None 为 AllowOverride All
最后,重启apache。
附(http强制跳转https规则,非www强制跳转带www)
RewriteEngine On RewriteCond %{HTTP_HOST} ^ [NC] RewriteRule ^(.*)$ /$1 [L,R=301] RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ /$1 [L,R=301]