У меня есть сервер Ubuntu. Apache, MySQL и VsFTPd работают на нем, и он размещает больше чем один веб-сайт. У каждого владельца веб-сайта есть пользователь FTP для загрузки файлов. Однако Apache работает как www-данные как значение по умолчанию. Таким образом файлы, загруженные с помощью Wordpress и файлов кэша, созданных путем кэширования плагинов Wordpress, принадлежат www-данным. Для загрузки файлов, нужно сделать разрешение 777 его папки, которое не безопасно.
Я должен сделать Apache выполненным как отдельные пользователи для каждого клиента?
IMO Вы являетесь лучшими от использования одной из двух опций. Сначала была бы своего рода виртуализация, например, lxc, openvz, или KVM. Эта опция дает большую часть разделения.
Ваша секунда, и возможно более оптимальный вариант, должны использовать функцию, названную "корневыми каталогами".
sudo a2enmod userdir
Перезапуск apache2 демон со следующей папкой Ceate команды
sudo service apache2 restart
“public_html” в корневых каталогах, затем разрешение набора public_html папка к 0755
mkdir ~/public_html && chmod 0755 ~/public_html
Настраивает Ваши хосты vitrual для использования/home/user_name/public_html в качестве веб-корня.
См.:
https://help.ubuntu.com/community/ApacheMySQLPHP#Virtual_Hosts