Windows Apache2.4 VC9(ApacheHaus)详细安装配置教程
发布时间 - 2026-01-11 03:05:14 点击率:次1,Apache下载
选择一个版本,点击Download
点击File For Microsoft Windows
由于Apache HTTP Server官方不提供二进制(可执行)的发行版,所以我们选择一些贡献者编译完成的版本,我们选择第一个ApacheHaus
点击ApacheHaus,进入下载页
选择其中一个版本,如果你的Windows还没安装对应的VC环境的话,选择对应的VCRedistribute版本下载安装。我选择Apache 2.4VC9版,因为我的电脑中已经安装了VC9的环境。
点击JumpLinks下第一行的某一个版本,下载对应压缩包。
2,配置Apache之一--httpd.conf
解压后进入里面Apache22(最后两位数字可能不同)文件夹,使用文本编辑器(推荐ultraedit)打开conf文件夹中的httpd.conf配置文件
找到ServerRoot选项,设置Apache目录,大约在35行左右,将其改成你的Apache程序的文件夹,例:
ServerRoot "C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22"
找到Listen选项,设置端口,大约46行,一般不修改,使用默认80,在开启服务器前请保证80端口未被占用
找到DocumentRoot选项,修改服务器根目录,例:
DocumentRoot "F:/"
请保证此目录存在,否则服务器无法正常启动
修改Directory,保证其与服务器根目录相同,只修改下面的第一行中引号部分
<Directory "F:/"> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.2/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None # # Controls who can get stuff from this server. # Order allow,deny Allow from all </Directory>
找到ScriptAlias选项,设置服务器脚本目录,大约326行,一般将其设置为Apache目录下的cgi-bin文件夹
ScriptAlias /cgi-bin/ "C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22/cgi-bin"
找到随后的Directory选项,设置脚本目录,大约342行,需要将其设置为和前面的ScriptAlias目录相同
<Directory "C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory>
3,配置Apache之二--ssl配置
如果你这使启动服务,一般会出现下面的消息对话框:
提示
Windows不能在本地计算机启动Apache2.2。有关更多信息,查阅系统日志文件。如果这是非Microsoft服务,请与厂商联系,并参考特定服务器错误代码1。
确定此问题的原因:
右键 计算机,点击管理->Windows日志->应用程序,显示如下
这是由于SSL配置不正确所产生的,下面说一下解决办法。
打开Apache程序目录下的conf/extra/httpd-ahssl.conf文件,配置VirtualHost选项,有三处名为VirtualHost的选项,均需修改。
第一个在107行左右。
在110行左右,将其中的SSLCertificateFile改为:Apache所在目录/conf/ssl/server.crt
在111行左右,将SSLCertificateKeyFile改为:Apache所在目录/conf/ssl/server.key
在112行左右,将DocumentRoot改为你的服务器根目录
在126行左右,将CustomLog改为:Apache所在目录/logs/ssl_request.log,这个不改的话也会错。一般会出现如下错误:
Apache2.2服务由于下列服务特定错误而终止:函数不正确。
改成的效果:
<VirtualHost _default_:443>
SSLEngine on
ServerName localhost:443
SSLCertificateFile C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22/conf/ssl/server.crt
SSLCertificateKeyFile C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22/conf/ssl/server.key
DocumentRoot F:/
# openssl req -new > server.csr
# openssl rsa -in privkey.pem -out server.key
# openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 2048
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory "/Apache22/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-5]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog "C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22/logs/ssl_request.log" \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</virtualhost>
主要改上文四处地方
在130行和152行还有另外两个VirtualHost,均需修改上述的四个选项
例:
130行
<VirtualHost *:443>
SSLEngine on
ServerName serverone.tld:443
SSLCertificateFile C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22/conf/ssl/serverone.crt
SSLCertificateKeyFile C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22/conf/ssl/serverone.key
DocumentRoot F:/
# openssl req -new > serverone.csr
# openssl rsa -in privkey.pem -out serverone.key
# openssl x509 -in serverone.csr -out serverone.crt -req -signkey serverone.key -days 2048
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory "/Apache22/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-5]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog "C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22/logs/ssl_request.log" \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" env=HTTPS
</virtualhost>
第152行
<VirtualHost *:443>
SSLEngine on
ServerName servertwo.tld:443
SSLCertificateFile C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22/conf/ssl/servertwo.crt
SSLCertificateKeyFile C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22/conf/ssl/servertwo.key
DocumentRoot F:/
# openssl req -new > servertwo.csr
# openssl rsa -in privkey.pem -out servertwo.key
# openssl x509 -in servertwo.csr -out servertwo.crt -req -signkey servertwo.key -days 2048
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory "/Apache22/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-5]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog "C:/Users/myPC/Downloads/httpd-2.2.31-x86-r3/Apache22/ssl_request.log" \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</virtualhost>
上述的两个VirtualHost均需修改四处
这样,Apache就算配置完了,如果还有问题,可能还需配置./conf/extra/httpd-ssl.conf,配置方法和配置VirtualHost的相似
4,启动Apache HTTP Server
使用Windows命令行以管理员身份进入Apache程序的文件夹下的bin文件夹,输入httpd -k install,完成Apache服务的安装。
然后双击bin目录下的ApacheMonitor.exe,点击右边的start启动服务器,如果正常,如下图:
测试一下:
5,其它
卸载Apache HTTP Server:
管理员身份进入bin目录,使用httpd -k uninstall 移除服务
使用httpd -w -n "Apache2" -k start命令启动服务器 可以显示启动过程中的日志,便于分析错误。
# Apache2.4
# VC9
# CentOS 7中 Apache Web 服务器安装配置教程
# Apache 服务器最新版下载、安装及配置教程图解(Windows版)
# CentOS7下 Apache的安装配置方法
# Win7安装和配置Apache2.4服务器的详细方法
# 详解CentOS7安装配置Apache HTTP Server
# 详解Ubuntu下安装和配置Apache2
# linux网站服务Apache的安装与配置方法详解
# Apache HTTP 安装和配置下载详解
# 将其
# 这是
# 第一个
# 均需
# 设置为
# 目录下
# 不正确
# 还没
# 也会
# 两位
# 右键
# 能在
# 你这
# 请与
# 更多信息
# 双击
# 之二
# 其中一个
# 脑中
# 压缩包
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
php打包exe后无法访问网络共享_共享权限设置方法【教程】
zabbix利用python脚本发送报警邮件的方法
JS去除重复并统计数量的实现方法
iOS发送验证码倒计时应用
如何在阿里云香港服务器快速搭建网站?
如何在建站之星绑定自定义域名?
nginx修改上传文件大小限制的方法
VIVO手机上del键无效OnKeyListener不响应的原因及解决方法
Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】
香港服务器部署网站为何提示未备案?
Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】
如何登录建站主机?访问步骤全解析
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
如何基于云服务器快速搭建个人网站?
Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?
Laravel如何自定义分页视图?(Pagination示例)
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
如何快速生成ASP一键建站模板并优化安全性?
悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤
如何用VPS主机快速搭建个人网站?
Laravel如何使用Blade模板引擎?(完整语法和示例)
JavaScript模板引擎Template.js使用详解
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
Laravel如何实现API速率限制?(Rate Limiting教程)
如何快速登录WAP自助建站平台?
Laravel的.env文件有什么用_Laravel环境变量配置与管理详解
Laravel中间件如何使用_Laravel自定义中间件实现权限控制
Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】
EditPlus中的正则表达式 实战(4)
如何快速使用云服务器搭建个人网站?
🚀拖拽式CMS建站能否实现高效与个性化并存?
Android使用GridView实现日历的简单功能
详解阿里云nginx服务器多站点的配置
Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例
jQuery中的100个技巧汇总
LinuxShell函数封装方法_脚本复用设计思路【教程】
如何用5美元大硬盘VPS安全高效搭建个人网站?
利用python获取某年中每个月的第一天和最后一天
香港服务器租用费用高吗?如何避免常见误区?
Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】
如何自定义建站之星模板颜色并下载新样式?
LinuxCD持续部署教程_自动发布与回滚机制
敲碗10年!Mac系列传将迎来「触控与联网」双革新
Python文本处理实践_日志清洗解析【指导】
如何在橙子建站上传落地页?操作指南详解
制作企业网站建设方案,怎样建设一个公司网站?
php485函数参数是什么意思_php485各参数详细说明【介绍】
Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】
Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】
Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道

