Как настроить apache2 с символьными ссылками в/var/www/?

Я хочу установить локальный веб-сервер на своей Ubuntu (14.04). Таким образом, я установил все программное обеспечение для получения сервера ЛАМПЫ.

Проблема состоит в том, что я делаю что-то не так с созданием моего virtualhosts. Я хотел создать различные субдомены на своем localhost. Так, например, site1.localhost и site2.localhost.

В моем /var/www/ каталог я создал символьную ссылку "site1" идущий в /home/user/Workspaces/site1.

В моем Apache файл error.log я получил следующую ошибку.

[core:error] [pid 12679] [client 127.0.0.1:59006] AH00037: Symbolic link not allowed or link target not accessible: /var/www/site1

В моей апачской конфигурации я имею:

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

Таким образом, я думаю, что существует что-то не так с полномочиями папок. Я искал на Google, и я нашел несколько человек с той же проблемой, но все ответы, если там не удался. Я добавил, что мое собственное имя пользователя суммирует группу www-данных и подобные вещи.

Так ls -la /var/www возвраты:

total 12
drwxrwsr-x  3 user www-data 4096 okt 13 19:08 .
drwxr-xr-x 14 root root     4096 okt  1 22:50 ..
drwxr-xr-x  2 root www-data 4096 okt  1 22:50 html
lrwxrwxrwx  1 root www-data   29 okt 13 19:08 site1 -> /home/user/Workspaces/site1/

и ls -la /home/juul/Workspaces/site1 возвраты:

total 24
drwxrwxr-x 4 user www-data 4096 okt 13 18:21 .
drwxrwx--- 3 user user     4096 okt 13 17:31 ..
-rw-rw-r-- 1 user user        0 okt 13 18:21 index.html
drwxrwxr-x 4 user www-data 4096 okt 13 16:12 .metadata
drwxrwxr-x 5 user www-data 4096 okt 13 16:53 Project

Надо надеяться, кто-то может выручить меня с этим :-)

14
задан 14 October 2014 в 20:27

3 ответа

Эти полномочия предотвращают apache от доступа к Вам

drwxrwx--- 3 user user     4096 okt 13 17:31 ..

, необходимо дать, выполняют полномочия для других:

chmod o+x /home/juul/Workspaces/

(и возможно на /home/juul/ также).

5
ответ дан 16 November 2019 в 13:50

У меня есть стандартная апачская установка на 14,04. Нет никаких файлов или каталогов, определяющих "www-данные". Вы изменяли все они сами? Существует большая устаревшая или просто неправильная информация о том, как настроить веб-серверы, так быть осторожной, кто Вы следуете и отменяете то, что не работает.

Однако "site1" должен быть в html каталог, и принадлежавший Вам. Это не должна действительно быть символьная ссылка; можно определить различный каталог в файле конфигурации. Что-то вроде этого:

# Add this to the end of the existing 000-default.conf file (after "</VirtualHost>")
<VirtualHost *:80>
    <Directory  /home/user/Workspaces/site1>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
    DocumentRoot /home/user/Workspaces/site1
    ServerName site1
</VirtualHost>
3
ответ дан 16 November 2019 в 13:50

Решение для: Символьная ссылка, не позволенная или цель ссылки, не доступная: /var/www/html/mySymbolicLink.

Это ясно - проблема с полномочиями. Проблема состоит в том, что HTML в соответствии с Вашим корневым каталогом принадлежит Вашему пользователю, и апачский сервер выполняется другим пользователем, поэтому не может получить доступ к Вашему корневому каталогу.

решение затем добавило бы пользователя рабочий апач к Вашей группе, обычно то же как Ваше имя пользователя. Так, в моем поле CentOS я сделал это как:

sudo usermod -a -G dev apache

, Таким образом, это добавляет пользовательских апачей к группе dev. Теперь я должен дать полномочия выполнения.

В /home:

chmod g+x dev -R

Это даст разрешение выполнения к моей папке только для членов группы. И вот именно. Необходимо будет изменить пользователя Apache для того, что выполняет веб-сервер, я верю для Ubuntu, которая пользователь www-data.

1
ответ дан 16 November 2019 в 13:50

Другие вопросы по тегам:

Похожие вопросы: