8.Web服务器和FTP部署
我们今天用Win2003虚拟机做Web服务器和FTP服务器部署的实验(用WinXP虚拟机做客户机配合测试)。
先来部署Web服务器:
在部署之前,我们要在客户机和服务器的虚拟机设置里检查下当前虚拟机桥接的网络,如果是VMnet0请改成VMnet2,因为VMNet0是桥接到真实网络,到时候客户机通过DHCP获取的IP地址和我们给服务器手动配置的静态IP地址不在同一个网段,是无法访问的。改成VMnet2后由于之前服务器部署了DHCP服务,会分配10.1.1.x网段的IP地址给客户机,才可以正常使用。
修改好后我们开始部署,这里可以参考之前写的DHCP部署:
https://www.cnblogs.com/czw52460183/p/13387997.html
类似地,我们先配置静态IP为10.1.1.1,随后挂载此光盘并选中"安装可选的Windows组件",随后双击"应用程序服务器",双击Internet信息服务(IIS):
随后勾选万维网服务,为了方便下面FTP服务器的部署,也顺便勾上文件传输协议(FTP)服务:
点击确定及下一步进行安装。如果又弹出需要CD-ROM的文件,还是和https://www.cnblogs.com/czw52460183/p/13387997.html一样,改盘符即可。
安装好后,可以在开始->管理工具中找到"Internet信息服务(IIS)管理器",点进去就可以开始相应配置了:
注意,HTTP服务端口号是80,FTP是21,可以看到,服务装好并运行后,这两个端口号已经被打开了:
我们在WinXP虚拟机上用IE浏览器访问10.1.1.1做一下测试:
这个结果说明请求已经成功送到服务器了。
网页内容存放在哪呢?我们可以在服务器的C:\Inetpub\wwwroot目录下找到相应的html文件,这就是我们看到的默认网站:
我们可以在管理界面停掉这个默认网站,此时再用客户机访问会显示打不开此页:
现在我们来创建自己的网站:
在管理界面的网站处右键新建网站:
网站描述随意填写,是给管理员识别用的:
随后要指定IP地址,由于服务器可能有多个网卡,也就有多个IP地址,指定后用户可以通过此IP地址访问到你的网站。
默认是全部未分配,即用户访问任一网卡对应的IP都可以访问到此网站,我们之前指定了服务器IP地址为10.1.1.1,这里用这个:
点击下一步后需要指定主目录路径,我们先去创建相应的网站:
在D盘下创建名为test的文件夹,在文件夹内创建一个index.html文件(一般网站首页命名都是index),我们写一个简单的网页:
保存后,指定主目录路径为此index.html文件所在文件夹,权限设置为读取即可:
随后在XP客户机上用IE浏览器尝试访问10.1.1.1,得到以下提示:
这个要先在管理页面,对相应网站右键->属性,在目录安全性页签中,打开身份验证和访问控制相关项的编辑栏,勾选上启用匿名访问。
若这么做后客户机没反应,可以把客户机的网卡禁用后再启用下试试。
再次访问后若提示:Directory Listening Denied,这是因为我们没配置首页,在管理页面,对相应网站右键->属性,点到文档页签,然后添加我们刚写好的index.html,并把它上移到顶层:
完事后再次在客户机中访问,这次就成功了:
补充一点:
假如本台服务器有多个要发布的网站,但只有一个网卡,那用同一个端口号80的情况下,会导致另一个发布不了,因为冲突了,这种情况下有三种解决办法:
一种是改端口号,让网站绑定到其他端口号,当然由于浏览器默认访问的是80端口号,比如我们把端口号改成了8080,这样客户机在输入网址后就需要在后面添加:8080来保证正常访问。
另一种解决办法是为本服务器配置多个IP地址:
本地连接->右键属性->Internet协议->高级->添加,这里可以添加第二个IP地址,比如我们添加个10.1.1.2:
此时用ipconfig命令行查看,会发现服务器在局域网内同时拥有了两个IP地址:
这样我们就可以把其他网站发布到另一个IP上,客户机也能正常访问,具体就不演示了。
以上两种方法有一定缺陷,会为客户带来不便,毕竟需要记住额外的IP地址和端口号,一般只在自己测试时使用。
正式情况下一般用第三种方法,即绑定不同域名。
来做一下实验,我们先在服务器上创建第二个网站,命名为test2,并对其网页内容做一定修改,以区别于test网站:
然后在网站管理界面将此网站添加并绑定到10.1.1.1,添加相应的主页:
之前学习了如何部署DNS服务,我们现在在DNS服务管理界面上添加两个解析域,第一个是test.com,第二个是test2.com:
随后为两个解析域分别添加www主机,绑定IP为10.1.1.1:
然后是比较关键的一步,需要在网站管理界面,对两个网站分别右键->属性,在网站页签下的网站标识一栏,选中高级,随后选中相应的条目,点击编辑,将相应的域名和此IP绑定:
这相当于在告诉服务器,当收到客户机请求时,需要检测下客户机浏览器里输入的网址是什么,根据输入的网址匹配相应的主机头值,从而展示相应的网站。
现在去客户机上做测试,先把其DNS服务器配置成10.1.1.1:
随后禁用并启用网卡,然后在IE浏览器中分别测试两个网址www.test.com和www.test2.com:
可以看到,测试通过。
再来部署FTP服务器:
FTP服务器工作的端口号是20,21
我们之前装Web服务器的IIS插件时,已经顺便勾选了FTP服务,因此此时其实已经可以访问了。
在WinXP客户机中试一下:
可以看到,虽然没东西,但访问没有报错,说明此时FTP服务是正常运作的,和Web服务器一样,此时展示的是FTP的默认站点,它位于C:\Inetpub\ftproot目录下,我们可以看到此目录下目前确实没有东西:
尝试随便创建个文档,然后在客户机上查看:
可以看到在客户机上马上能显示出来。
同样的,我们来尝试下创建新FTP站点:
先在D盘创建个FTP站点的文件夹目录,名为FTPTest,它用于存储FTP站点内容,里面随便创建些子目录:
在IIS管理界面,FTP站点文件夹处右键->新建->FTP站点,描述可以随便写,和Web服务器一样,配置上IP地址和端口号,随后指定主目录为我们创建的FTPTest:
由于用户最终权限是FTP权限和NTFS权限的交集,一般我们会把FTP权限全部勾选,具体的权限配置在NTFS里做。
勾选上读取和写入权限后点击下一步并完成,这样就已经发布好了,具体测试方法和之前一样,就不再叙述了。
现在考虑一个问题:之前我们创建FTP站点时,设置了它的访问权限是读取和写入。以我们的FTPTest为例,里面有upload和download两个文件夹,假如我们希望upload可以被随意修改,但download不能修改,该怎么做呢?
为登录的用户提供管理员账号自然是可行的,但肯定没人希望这么做。
我们可以创建一些新账户,然后将需要管理的文件夹的某些权限赋给某些账户,就可以实现权限管理了。
可以参考下之前写的用户管理相关知识:https://www.cnblogs.com/czw52460183/p/13287853.html
现在我们开始实验:
先创建两个新账户,user1和user2:
我们先看下主目录FTPTest的权限:
我们创建的两个账户的权限隶属于Users组,可以看到这个权限是支持读取的,不用修改。
然后我们设置upload文件夹的权限,右键->属性->高级->取消勾选"允许父项的继承权限传播....",随后点复制,这样就断掉了upload和FTPTest权限的继承关系:
随后我们把upload权限管理中的Users组删掉,重新添加我们创建的两个用户来设置权限:
比如我们要让user1有完全控制权限,让user2在upload文件夹中有写入权限,可以这么改:
然后我们设置download文件夹的权限,由于默认无写入权限,因此我们只要把user1设置成完全控制权限即可:
全部修改完后记得把相应FTP站点的允许匿名连接取消掉,这样用户就只有输入我们给定的账户密码才能登录了:
我们在客户机上做一下尝试:
我们用user2登录上去后尝试删除download或upload文件夹,由于权限不够,会提示报错:
同样地,尝试在download文件夹下新建文件夹也会报错,而换成user1后两种操作都能成功,这个就不演示了。