我有一台 Ubuntu 服务器。它上面运行着 Apache、MySQL 和 VsFTPd,并且托管着多个网站。每个网站所有者都有一个 FTP 用户来上传文件。但是,Apache 默认以 www-data 的身份运行。因此,使用 Wordpress 上传的文件和 Wordpress 缓存插件创建的缓存文件都归 www-data 所有。为了上传文件,必须将文件夹的权限设置为 777,这并不安全。
我是否应该让 Apache 为每个客户以单独的用户身份运行?
答案1
我认为你最好使用以下两个选项之一。第一个是某种虚拟化,例如 lxc 、 openvz 或 KVM。此选项提供最大的分离。
您的第二个也许是更好的选择是使用名为“主目录”的功能。
sudo a2enmod userdir
使用以下命令重新启动 apache2 守护进程
sudo service apache2 restart
在主目录中创建文件夹“public_html”,然后将权限public_html文件夹设置为0755
mkdir ~/public_html && chmod 0755 ~/public_html
配置您的虚拟主机以使用 /home/user_name/public_html 作为 Web 根目录。
看:
https://help.ubuntu.com/community/ApacheMySQLPHP#Virtual_Hosts
http://joao.machado-family.com/2013/06/04/ubuntu-13-04-apache2-setup-public_html/