首页 > 代码库 > 转载 Apache服务器配置之个人主页

转载 Apache服务器配置之个人主页

Apache服务器配置之个人主页

 如果你有心留意一些提供服务器托管的网站,你会发现这些网站都提供一些个人主页空

间的服务。也许,你很羡慕他们,以为这是一个很了不起的技术。其实,只要学习,你也可以完成这个项目。

下面,我们就将开始学习怎么样来实现www服务的这一功能。个人主页空间,说白了就是开启一个硬盘空间给网络用户,供用户上传网页并可以访问该网页。对于apache来讲,需要开启一下参数和相关的个人目录区块:

#UserDir public_html 

找到这行,并将前面的注释符号“#”去掉,这就开启了用户目录。当然,这里只是个人目录的开关,还需要开放个人目录。找到下面这几行,并将前面的注释符号去掉。

<Directory /home/*/public_html>

    AllowOverride FileInfo AuthConfig Limit

    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec

    <Limit GET POST OPTIONS>

        Order allow,deny

        Allow from all

    </Limit>

    <LimitExcept GET POST OPTIONS>

        Order deny,allow

        Deny from all

    </LimitExcept>

</Directory>

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

[root@localhost~]#useradd u1

[root@localhost~]#cd /home/u1

[root@localhost u1]#mkdir public_html

[root@localhost u1]#cd public_html

[root@localhost public_html]#vi index.html

Hello, this is u1!

然后保存退出,来测试一下。

[root@localhost u1]#links www.centos.org/~u1/

You don’t have permission to access /~u1/ ……

咦,怎么回事?出错了?不,是权限问题。赶快去查看一下权限吧。

[root@localhost public_html]#ls –l

-rwx------    root root  18   Nov  18   08:15    index.html

原来这里index.html的拥有者和拥有组不对,权限也不够啊,赶快修改吧。

[root@localhost public_html]#chown u1:u1 index.html

[root@localhost public_html]#chmod 755 index.html

现在修改完毕了,可以测试了吧。不,还不行,还有上层目录的权限啊。

[root@localhost public_html]#cd

[root@localhost home]#chown u1:u1 –R u1

[root@localhost home]#chmod 755 –R u1

权限修改完毕,现在再来测试一下吧。

[root@localhost home]#links www.centos.org/~u1/

You don’t have permission to access /~u1/ ……

咦,还是权限问题。但是,不是已经修改过了吗?都开放到755了。别急,SELinux还开着呢,还需要修改SELinux的权限。

[root@localhost home]#ls –Z |grep u1

drwsr-xr-x  u1:u1  18  Nov 18  08:20  user_u:object_r:user_home_dir_t  u1

上面,就是u1目录的SELinux的安全上下文(SEContext)了。但是,要怎么修改呢?别急,我们来看看httpd默认目录的SEContext。

[root@localhost home]#cd /var/www

[root@localhost www]#ls –Z | grep html

drwxr-xr-x  root  root   system_u:object_r:httpd_sys_content_t   html

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

[root@localhost home]#chcon –u system_u –t httpd_sys_content_t –R u1

这里加上-R参数,进行递归修改,一次修改u1以及以下目录和文件了。下面,我们再进行测试吧。

[root@localhost home]#links www.centos.org/~u1/

Hello, this is u1!

OK,我们自己的页面出来了,测试成功!

转自:http://blog.chinaunix.net/uid-22606185-id-3224028.html