Я использую Ubuntu 14.04, и у меня проблема с конфигурацией Apache:
Я создал символическую ссылку из /var/www/html
torwards /home/me/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 groupName userName
, но это тоже не помогло
что я пропустил?
РЕДАКТИРОВАТЬ: я изменил группу /home/me/myWebDirectory
на www-данные с правами rx, но безуспешно ...
Как я уже сказал, я хорошо знал, что у меня возникла проблема с разрешением на чтение, так как этот sudo -u www-data ls /home/me/myWebDirectory
возвращает мне также отказано в разрешении (что означает, что www-data не имеет прав на просмотр. что в нем).
Но мне нужен определенный пункт вашего ответа, чтобы быть более ясным:
Также вы должны использовать URL "localhost/html" вместо "localhost/myWebDirectory".
На самом деле я сделал Symlink следующим образом:
cd /var/www/html
ln -s /home/user/me/myWebDirectory myWebDirectory
так что я думаю, что доступ к localhost/myWebDirectory
- правильный адрес, нет?
chown -R www-data:www-data /var /www /html
- Начиная с Ubuntu 14.04, Apache DocRoot является
/var/www/html
, почему я должен изменить его владельца (как и многие другие deamons, корни по умолчанию). /localhost/testfile.html
отлично работает (файл undertsand находится в/var/www/html
)/localhost/phpmyadmin
тоже работает, даже если это SymLink для/usr/share
(пока я пытаюсь использовать symLink для/home/user
...)
chmod +r /var /www /html # добавить разрешение на чтение в директорию
chmod +r /var/www/html/* # add read permission to files in dir
- Добавить разрешение на чтение для кого? к моему пользователю?
- Но это именно то, чего я не хочу делать.
- Я действительно хочу, чтобы apache мог читать в /home /me /myWebDirectory, а не myUser для записи в каталогах apache.
NB: я знаю, что есть другой способ сделать это, активируя apache mod_userdir
и это, вероятно, то, что я собираюсь сделать дальше.
Но сначала я хотел бы понять, как заставить это "простое" решение работать ...