杭电 计网实验 Apache Web服务器的安装和配置

Apache Web服务器的安装和配置

因为教材中有一些纰漏,所以用这个博客记录一下实验流程

实验内容

搭建Web服务器,在浏览器中用https协议成功访问自定义地址(或者说,自定义URL),在这篇博客里是cs.someschool.edu.cn

实验步骤

下载Apache

Welcome! - The Apache HTTP Server Project中找到下载页面,选择对应版本。本篇博客记录的是在Windows环境下进行的实验,下载的是ApacheHaus(一种针对Windows平台的Apache发行版本,当然也可以用其他的)中的Apache2.4.x。选择适合自己操作系统且具有SSL功能的版本。

Apache版本编号的策略是偶数分支代表稳定版本,奇数分支供开发使用,例如,2.2.x和2.4.x是稳定版本,2.3.x是供开发使用的,下载时要下载稳定版本。编写本博客是最新的稳定版本是Apache2.4

安装Apache

在conf/httpd.conf中更改安装目录

#Define SRVROOT "/Apache24" 默认配置,现在要将其用井号注释掉

Define SRVROOT "E:\Computer Networking\Apache\Apache24"
#修改为Apache安装的目录,因人而异

这一步教材里漏写了一个Define 

 监听端口修改

#Listen 12.34.56.78:80默认配置

Listen 8081

#ServerName localhost:80默认配置

ServerName localhost:8081

我的理解是这里的监听端口修改仅供测试是否正确安装使用,与本实验最终没有关系

对httpd.conf文件完成修改后,以管理员身份运行cmd,安装Apache,如下图案例(这是教材中的例子,我直接截图引用了)

安装完成后可用net start apache2.4和net stop apache2.4命令进行启动和关闭

 在Apache服务启动以后,使用浏览器访问http://127.0.0.1:8081,可以发现服务器已经正常开始工作了,所浏览的界面位于Apache安装目录下的/htdocs目录中。httpd.conf中的DocumentRoot "${SRVROOT}/htdocs"可以指定Web服务的根目录位置

Apache性能调整

我的理解还是这一部分是为了让学习者了解Apache用的,与实验的最终结果无关

在httpd.conf中启用mpm

Include conf/extra/httpd-mpm.conf

#文件中原先在这条命令前有井号,在此我们把井号去掉

接下来可以在/extra/httpd-mpm.conf中查看和修改Prefork配置,同样可以查看Worker配置。

目前Apache服务器一共有三种稳定的MPM(Multi-Processing Module)模式:Prefork(进程模式)、Worker(线程模式)、Event(事件模式,2.4 版本后开始稳定),想了解具体内容可以自行Google

虚拟主机配置

在httpd.conf中启用vhosts配置文件

Include conf/extra/httpd-vhosts.conf

#文件中原先有井号,现在把井号去掉

 在/extra/httpd-vhosts.conf文件中对虚拟主机进行配置

<VirtualHost *:443>
    ServerAdmin webmaster@cs.someschool.edu.cn
    DocumentRoot "${SRVROOT}/www"
    ServerName cs.someschool.edu.cn
    ServerAlias computer.someschool.edu.cn
    ErrorLog "logs/vhost2.someschool.com-error.log"
</VirtualHost>

这里教材写的是8081端口,我改成了443,原因是最终用的是https协议访问的网址(https默认端口号是443) 

Apache访问控制

在httpd.conf文件中

DocumentRoot "${SRVROOT}/www"
#DocumentRoot "${SRVROOT}/htdocs"
<Directory "${SRVROOT}/www">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

原先默认配置中写的是htdocs,我改成了www,同时在安装目录下也创建了一个www目录,里面放了一个.html文件

这里的Require all granted就是一个控制命令,要查看有关控制命令的内容也建议自行Google,这个实验中并不要求了解具体内容。

HTTPS服务的安装和配置

准备工作

这里我的bin目录中有的是libssl-1_1.dll ,教材中说的XXX我推断可能是子版本号的意思,只要是属于1.1版本的应该就可以。

SSL证书生成

 

这里教材中出现了一个小错误,三个文件中的一个应该是server.crt(上图的最后一行)

虚拟服务器HTTPS的配置

图中有一个纰漏,就是在删除Include conf/extra/httpd-ssl.conf前的井号的同时,还要在Include conf/extra/httpd-ahssl.conf前加上井号。

然后,DocumentRoot那个地方,我的是DocumentRoot "${SRVROOT}/www",此处要根据你自己放置目录的地方改路径,本篇博客中在“Apache访问控制”这一小节中提到过放置目录的方法。

除上述两点外,其他内容就按照下图做即可

 修改hosts文件

按照附录中方法修改即可

完成实验并测试

重启Apache后使用https://cs.someschool.edu.cn访问主机测试https服务,实验完成。

注意:这一步时,如果访问失败可能是因为前面哪一步没有正确配置,debug后记得清空一下浏览器缓存再重新输入网址访问,因为浏览器可能会直接在缓存中调取之前访问失败的案例来返回。

附录

教材

博客中“教材”所指的是下方这本书,写这篇博客的目的就是让读者不用教材也能完成实验,所以大家手头没有这本教材也没有关系,要配置的东西全在博客中了。 

修改本机配置的地方

这一部分是记录一下对电脑做了什么改动,将来若出现什么意想不到的bug时,以便纠错还原。

Apache

修改hosts文件(里面原先什么都没有),修改后添加了127.0.0.1 cs.someschool.edu.cn

可以不用修改hosts文件,用DNS服务器来解决问题(可以尝试一下)

修改hosts文件的步骤详见:

如何修改hosts文件?几种修改hosts文件的方法 - 知乎

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值