Я использую Ubuntu 14.04, и у меня возникла проблема с конфигурацией apache:
я создал символическую ссылку в /var/www/html
(Apache DocRoot начиная с Ubuntu 14.04) torwards /home/me/myWebDirectory
cd /var/www/html
ln -s /home/me/myWebDirectory myWebDirectory
но localhost/myWebDirectory
оказывает
403-разрешение отказано
и на самом деле, sudo -u www-data ls /home/me/myWebDirectory
возвращает также отказано в разрешении
apache2.conf имел следующую директиву:
<Directory /var/www>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
я изменил это на <Directory /var/www/html>
но результата нет.
я попытался добавить me
пользователь www-data group
с помощью следующей команды, но это тоже не помогло: sudo usermod -a -G www-data me
что я скучаю?
РЕДАКТИРОВАТЬ: я сменил группу /home/me/myWebDirectory
в www-data с правами rx, но тоже безуспешно ...
NB 1: Я знаю, что есть другой способ сделать это при активации apache mod_userdir, и, вероятно, это то, что я собираюсь сделать дальше. Но сначала я хотел бы понять, как заставить работать это "простое" решение ...
NB 2: Я также знаю, что могу создать VirtualHost и так далее, но опять же, я хотел бы сначала понять, почему это простое (первое и временное) решение не будет работать ...
apache2 должен иметь возможность читать с начала пути к каталогу
sudo chgrp www-data /home/username
добавить групповые www-данные в имя пользователя
sudo useradd -g www-data username
и выйти и войти ... работал со мной
если он все еще не работает, используйте
sudo chgrp www-data /home/username
попробуйте выйти и снова войти ... должно работать
Что касается разрешений, я думаю, у вас все наоборот. Добавление пользователя me
к www-data
не помогает, вам следует добавить пользователя Apache в me
группа пользователей.
Также, если вы изменили только права группы /home/me/myWebDirectory
, этого недостаточно, если /home/me
недоступен для www-data
группа. Убедитесь, что пользователи с www-data
группа может войти /home/me
сам каталог.
Для более детального подхода взгляните на POSIX ACL.