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

举报
小米粒-biubiubiu 发表于 2020/11/30 23:53:35 2020/11/30
【摘要】 一、下载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)解压压缩包,得到下图所示的文件。一个是安装说明...

一、下载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服务:


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

附: 重启和卸载http的命令


  
  1. httpd.exe -k restart -n "Apache24"
  2. 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端口


  
  1. netstat -ano
  2. netstat -ano|findstr :443

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

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


   
  1. # Secure (SSL/TLS) connections
  2. # Note: The following must must be present to support
  3. #       starting without SSL on platforms with no /dev/random equivalent
  4. #       but a statically compiled-in mod_ssl.
  5. #
  6. <IfModule ssl_module>
  7. #Include conf/extra/httpd-ssl.conf
  8. Include conf/extra/httpd-ahssl.conf
  9. SSLRandomSeed startup builtin
  10. SSLRandomSeed connect builtin
  11. </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文件,并添加如下内容


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

重启apache http server

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

 

 

 

 

文章来源: blog.csdn.net,作者:血煞风雨城2018,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_31905135/article/details/82878682

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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