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 】
相关推荐:
Python并发异常传播_错误处理解析【教程】
Laravel怎么实现微信登录_Laravel Socialite第三方登录集成
Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】
如何在云主机上快速搭建多站点网站?
Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制
linux写shell需要注意的问题(必看)
Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】
如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】
Laravel怎么在Controller之外的地方验证数据
悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音
laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法
Laravel如何记录自定义日志?(Log频道配置)
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
高性能网站服务器部署指南:稳定运行与安全配置优化方案
Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】
百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧
php json中文编码为null的解决办法
绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信
浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】
谷歌Google入口永久地址_Google搜索引擎官网首页永久入口
Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】
Laravel如何实现多对多模型关联?(Eloquent教程)
香港服务器选型指南:免备案配置与高效建站方案解析
Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复
如何在建站主机中优化服务器配置?
iOS UIView常见属性方法小结
Laravel如何处理异常和错误?(Handler示例)
Laravel如何处理表单验证?(Requests代码示例)
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?
Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解
如何在宝塔面板中修改默认建站目录?
Android自定义listview布局实现上拉加载下拉刷新功能
Laravel PHP版本要求一览_Laravel各版本环境要求对照
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
如何在阿里云ECS服务器部署织梦CMS网站?
如何快速查询网站的真实建站时间?
如何在阿里云服务器自主搭建网站?
Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】
Android GridView 滑动条设置一直显示状态(推荐)
Laravel定时任务怎么设置_Laravel Crontab调度器配置
Laravel如何优化应用性能?(缓存和优化命令)
Laravel如何升级到最新版本?(升级指南和步骤)
Laravel如何实现API速率限制?(Rate Limiting教程)
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
如何快速搭建高效香港服务器网站?
如何快速搭建FTP站点实现文件共享?
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
如何在阿里云香港服务器快速搭建网站?
JavaScript如何操作视频_媒体API怎么控制播放

