Я не буду использовать или предоставлять root доступ к вашему веб-серверу по соображениям безопасности.
Я бы создал пользователя, который имеет доступ только к группе www-data, убедитесь, что apache также в этой группе.
Некоторые из этих команд взяты из дистрибутива Fedora, поэтому они могут немного отличаться от Debian.
$ adduser deploy
$ vim /etc/group
В / etc / group:
www-data:x:1003:apache,deploy
/ location / to / vhosts / website.conf (посторонние настройки удалены для ясности)
<VirtualHost *:80>
Alias /static/ /srv/vhosts/mywebsite/static/
Alias /media/ /srv/vhosts/mywebsite/media/
Alias /robots.txt /srv/vhosts/robots.txt
<Directory /srv/vhosts/mywebsite/path/to/django/configs>
Require all granted
</Directory>
<Directory /srv/vhosts/mywebsite/static>
Require all granted
</Directory>
<Directory /srv/vhosts/mywebsite/media>
Require all granted
</Directory>
<Location "/robots.txt">
SetHandler None
Require all granted
</Location>
WSGIDaemonProcess mywebsite python-home=/srv/vhosts/mywebsite/.venv python-path=/srv/vhosts/mywebsite/
WSGIProcessGroup mywebsite
WSGIScriptAlias / /srv/vhosts/mywebsite/path/to/django/configs/wsgi.py
</VirtualHost>
Затем перезапустите apache
Как только это будет сделано, убедитесь, что передайте свои каталоги пользователю и группе www-data как sudo (-R для рекурсивного)
$ sudo chown -R deploy:www-data /path/to/webroot