使用 Apache 架设虚拟主机的用户会遇到这样的问题,例如有两个虚拟主机分别是 www.hosta.com 和 www.hostb.com,对应的目录是 /home/hosta/ 和 /home/hostb/ 需要限制 www.hosta.com 访问 /home/hostb/,同样也需要限制 www.hostb.com 访问 /home/hosta/。那么应该如何实现呢?
我的方法是使用指定的用户运行虚拟主机的进程,下面来说说具体的配置过程。
安装 apache2-mpm-itk
apache2-mpm-itk 虽然没有 apache2-mpm-perfork 的性能高,但是安全第一!
sudo apt-get install apache2-mpm-itk
修改配置文件指定用户和组
sudo vim /etc/apache2/sites-available/hosta
... ...
... ...
AssignUserId username groupname
设置目录属性
chown username:groupname /home/hosta/
chmod 700 /home/hosta/
通过这样的设置后,就不需要开启 PHP 的安全模式(safe_mode)了,因为安全模式会引起很多的问题。
同时也解决了 Web 和 FTP 的权限同步问题,一举多得。
Over!