您的位置:首页 > 运维架构 > Apache

菜鸟Linux攻略--apache服务器架设(中)

2013-06-02 17:07 281 查看

apache服务器架设(上)中我们已经成功挂载了apache服务器需要的软件包,并且服务器已经启动成功了。 在(上)中也了解了关于apache的文件以及目录和http.conf文件的内容。 输入服务器的Ip地址(http://192.168.0.4)也显示了如下图所示的页面。


但是现在我希望输入服务器的IP地址后显示的是自己的网页而不是如上图所示的页面,又应当如何?

输入服务器地址显示的是自己的网页

这个实现是很简单的,只需要将写好的页面放入/var/www.html目录下即可。我们来实现一下:


以上命令是在/var/www/html目录下建立了一个html页面index。现在我们再来测试一下,打开浏览器,在浏览器中再输入服务器的IP地址192.168.0.4,看看显示效果如何,如下图所示


可以看出我们的功能已经实现了。

用户个人网站

如果你有心留意一些提供的服务器托管的网站,会发现这些网站都提供一些个人主页空间的服务。Apache可以实现用户的个人网站。个人主页实际上就是开启一个硬盘空间给网络用户,供用户上传网页并且可以访问该网站。对于apache来讲,需要开启一下参数和相关的个人目录区块。这就需要配置一下http.conf 文件了。打开/etc/httpd/conf下的http.conf文件,Linux系统的用户个人主页的目录是由<IFmodule mod_userdir.c>容器来实现的。在http.conf文件中找到<IFmodule mod_userdir.c>区块,修改如下




如上如所示,将UserDir disable前面加上#号,然后将下面的 UserDir pulic_html前面的#号去掉。这就开启了用户目录。当然,这里只是个人目录的开关,还需要开放个人目录。找到下面这几行,并将前面的注释符号去掉。


接下来,需要在建立用户,并添加public_html目录以及网页,以便进行测试


建立好index.html页面之后,注意了:我们需要重新启动一下服务器


之后我们用浏览器来测试一下:在浏览器中输入的格式为:http://192.168.0.4/~zyq


输入IP之后,页面显示如上如所示,意思是没有权限进入 ~zyq,怎么回事,不要着急。 既然是权限的原因,那我们就需要修改一下权限。 先查看一下public_html文件夹的权限。


这里index.html的拥有者和拥有组不对,都是root组的拥有者,-rw-r-r--这个显示了权限也不够。那就来修改一下权限和拥有者


修改完两层目录的权限之后,我们再来测试一下:注意:关于文件目录修改权限没有看懂或者不会的同学,可以点击这里


我去,还是不行 还是说没有权限。淡定了,仔细想一想,SELinux还开着呢,还需要修改SELinux的权限。


上面,就是zyq目录的SELinux的安全上下文(SEContext)了,我们需要修改,先来看看httpd默认目录的SEContext。


开始修改zyq目录的SEContext吧。修改SEContext使用chcon命令来完成,如果要修改user的就加-u参数,如果修改type就加-t参数,如果修改role的就加-r参数。这里需要修改user和type两个类型。


修改之后 ,我们再来测试一下结果如何 输入http://192.168.0.4/~zyq


哈哈 测试终于成功了。说明我们的个人主页终于是可以正常显示了。 需要注意的是:目录权限的问题和SELinux的问题。我们一般不会为系统的root超级用户设置个人空间。 在测试的时候还有一个问题,就是输入服务器地址之后会有一个“~”符号,然后再输入用户名称,这个符号太烦人,能不能不输入这个符号呢?答案当然是可以的。那就是我们的虚拟目录了。当然虚拟目录的作用可不止于此。

虚拟目录

在上述用户个人网站的时候,我们测试的时候是输入了http://192.168.0.4/~zyq来进行测试的,zyq是一个用户,同时也是一个包含public_html文件的文件夹。测试的时候直接用如上的地址输入可以直接访问zyq文件夹,这样是不安全,因为你暴露了自己的用户名,我们能不能想个办法,让它在输入地址的时候,后面的“~zyq”换成别的文件目录(虚拟的一个目录),但是它依然访问的是zyq这个真实目录呢? 这个当然是可以,用虚拟目录就可以完成。我们来做一个测试:用一个虚拟目录为test的目录来访问真实物理路径zyq下的public_html中的zhaoyuqiang.html文件首先,我们需要修改一下httpd.conf文件。


如上图所示,我们在httpd.conf文件中添加了这么一行内容。它的意思是让test指向/home/zyq/public_html。 这下我们就可以测试一下 ,不要忘记先要重启一下服务器


重启完后就可以测试了,在浏览器中输入:http://192.168.0.4/test


以发现,的确是能够访问到zyq/public_html里面的zhaoyuqiang.html了,而且地址去掉了 “~”。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux apache 个人网站