Windows 下搭建 Apache Http Server 文件系统(详细)

举报
小米粒-biubiubiu 发表于 2020/10/22 11:07:34 2020/10/22
【摘要】 Windows 下搭建 Apache Http Server 文件系统(详细)

一、下载Apache Http Sever 2.4

(1)https://httpd.apache.org/download.cgi#apache24



(2)在 Apache 2.4 server binaries 栏选择 合适版本进行下载



二、安装与配置Apache Http Sever 2.4

(1)解压压缩包,得到下图所示的文件。一个是安装说明readme_first.html,一个是Apache24的文件夹。

(2)修改配置F:\Apache24\conf\httpd.conf

  • 指定 Apache24根目录为F:\Apache24

  • 修改监听端口 为8080,默认是80端口

  • 修改文件存放路径 ,默认就是 F:\Apache24\htdocs 目录

Define SRVROOT "F:\Apache24" ServerRoot "${SRVROOT}"

Listen 8080

//这里可以修改默认文件存放路径

DocumentRoot "${SRVROOT}/htdocs"<Directory "${SRVROOT}/htdocs">

(3)执行安装命令

httpd.exe -k install -n "Apache24"

三 、启动Apache Http Server

方式一:通过命令行启动

通过如下命令可以开启和关闭Apache24服务:

httpd.exe -k start -n "Apache24"
httpd.exe -k stop -n "Apache24"

附: 重启和卸载http的命令

httpd.exe -k restart -n "Apache24"
httpd.exe -k uninstall -n "Apache24"

方式二:通过ApacheMonitor启动

双击/bin目录下的ApacheMonitor.exe,在笔者的电脑上,这个程序会最小化到托盘:


双击图标,即可图形化的方式运行:  


选中Apache24,可以start(启动)它,启动成功后,最小化到托盘的图标会变成绿色的三角形,说明已经成功启动。 

方式三:直接点击services.msc服务中的Apache24,启动或者停止服务

服务启动以后,可以在浏览器中输入http://localhost:8080,就可以查看到目录F:\Apache24\htdocs下的index.html文件。

在F:\Apache24\htdocs目录新建一个file 文件夹,然后放置一些文件,再次访问[http://localhost:8080/file 也是没问题的。



四、安装启动过程中可能出现的错误

(1)安装报错

Errors reported here must be corrected before the service can be started.(OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 : AH00072: make_sock: could not bind to address [::]:443(OS 10048)通常每个套接字地址(协议/网络地址/端口)只允许使用一次。 : AH00072: make_sock: could not bind to address 0.0.0.0:443

说明443端口已经被占用

可用如下命令查看哪些 服务占用 了443端口

netstat -ano     
netstat -ano|findstr :443

可以停掉 占用443端口的服务,或者修改F:\Apache24\conf\extra\httpd-ahssl.conf

打开F:\Apache24\conf目录下的httpd.conf,搜索ssl ,找到如下文字

# Secure (SSL/TLS) connections
# Note: The following must must be present to support
#       starting without SSL on platforms with no /dev/random equivalent
#       but a statically compiled-in mod_ssl.
#<IfModule ssl_module>#Include conf/extra/httpd-ssl.conf
Include conf/extra/httpd-ahssl.conf
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin</IfModule>

发现 ssl 443 端口 是配置 在 F:\Apache24\conf\extra\httpd-ahssl.conf 这个文件里面

将其中的443改成其他端口,如1443

第一处(Line 18) 、第二处(Line 134,136)、第三处(Line 150,152) 、 第四处(Line 165,167)的 443 全部改成 1443,

在用 管理员 再次执行 安装命令httpd.exe -k install -n "Apache24" 即可。

(2)解决启动Apache http server时报错(1053)

安装好http server后,一直无法启动服务,使用上述的方式一和方式二均未成功,而且不知道错误在哪里。使用方式三启动服务时,系统报错1053:服务没有及时响应启动或控制请求。

后来参考这个链接https://www.apachelounge.com/viewtopic.php?p=34728 ,估计自己也是因为没有安装最新的vc_redist.x64.exe。

到windows官网下载该程序,完成安装后,服务能正常启动了。

vc_redist.x64.exe的下载地址: https://www.microsoft.com/en-us/download/details.aspx?id=48145


五、设置 basic 用户认证

进入 F:\Apache24下的bin 目录

执行以下命令 创建 .htpasswd 文件,并添加 admin 用户 admin1用户

.\htpasswd.exe -bc F:\Apache24\conf.htpasswd admin 123456

.\htpasswd.exe -b F:\Apache24\conf.htpasswd admin1 123456

注意 : -c 参数 表示创建文件,-b表示将 用户信息追加到已经存在的文件中


(1)方式一,

  • 直接修改 F:\Apache24\conf\httpd.conf 的 <Directory "${SRVROOT}/htdocs">的标签里面内容

<Directory "${SRVROOT}/htdocs">
   #
   # 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.4/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
     AllowOverride AuthConfig
     AuthType basic
     AuthName "allinone file server..."
     AuthUserFile F:/Apache24/conf/.htpasswd
     Require valid-user
   #
   # Controls who can get stuff from this server.
   #
   #Require all granted
</Directory>


重启apache http server

(2)方式二

在 F:\Apache24\htdocs 目录下创建.htaccess文件,并添加如下内容

AuthName "allinone file server..."
AuthType basic
AuthUserFile F:/Apache24/conf/.htpasswd
require valid-user

重启apache http server

再次访问 localhost:8080,弹出 用户验证窗口






【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。