В /etc/apache2/sites-available/default
я сделал папку /home/me/www
своим локальным местоположением. Я загрузил Drupal в новую папку www/drupal
и, хотя я дал все разрешения (777
), Apache все еще не может писать в него. Нужно ли мне вносить другое изменение разрешения?
Чтобы сделать localhost не 403, я выполнил следующие действия: https://askubuntu.com/a/232078/25656
< blockquote> sudo apt-get install acl
Вы можете использовать man setfacl для получения дополнительной информации.
Чтобы добавить разрешения для Apache:
sudo setfacl -md: g: www-data: X, g: www-data: X / home / me
sudo setfacl -md: g: www-data: X, g: www-data: X / home / me / Dropbox
sudo setfacl -Rm d: g: www-data: rX, g: www-data: rX / home / me / Dropbox / Web`
/ etc / apache2 / sites-available / default → http://paste.ubuntu.com/1534943/ [ 115].
У меня похожая настройка на моей машине (корень apache в домашней папке). Папка, используемая как корень apache (~/Software/apache_htdocs
), принадлежит моему пользователю и имеет 755 разрешений (но 777 также должна работать). Apache работает с пользователем www-data
, по умолчанию.
Похоже, единственное отличие заключается в sites-available
:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /home/myusername/Software/apache_htdocs
<Directory />
Options FollowSymLinks
AllowOverride None
allow from all
</Directory>
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
(... content omitted ...)
</VirtualHost>
Поэтому попробуйте удалить вторую директиву Directory
и добавить allow from all
в первую. Чтобы быть в безопасности, перед изменением сделайте резервную копию файла. После этого перезапустите Apache, используя sudo service apache2 restart
.
Надеюсь, это поможет.