Не могу использовать символические ссылки в локальном каталоге / var / www

Я настраиваю свой локальный сервер LAMP, и когда я захожу на него, я не могу переходить по символическим ссылкам с пользователем Apache (www-data). На данный момент я попробовал «разбить» и «chmoding» и добавил
Options FollowSymLinks в мой файл httpd.conf для моего DocumentRoot. Я в недоумении.

Итак, вот что я собираюсь спросить:

Если бы вы настраивали свой Apache со стандартной установкой LAMP 11.10, какие шаги вы бы предприняли, чтобы заставить символические ссылки работать правильно для пользователя Apache?

5
задан 15 March 2014 в 05:45

3 ответа

Это звучит как проблема с разрешениями. Убедитесь, что для каждого каталога и родительского каталога, к которому должен обращаться Apache (как в / var / www, так и в целевых каталогах символических ссылок), установлен глобальный бит выполнения.

Например, если ваши символические ссылки указывают на / home / somebody / www, сделайте следующее:

sudo chmod a+x /var /var/www /home /home/somebody /home/somebody/www

нет необходимости устанавливать доступ для чтения в любом каталоге; только файлы, которые Apache должен читать, должны иметь соответствующие права на чтение.

0
ответ дан 15 March 2014 в 05:45

Я бы посмотрел разрешения с помощью моего pathlld сценария ( http://paste.ubuntu.com/757530/ ):

Пример pathlld: [ 115]

walt@aardvark:~(0)$ ll $(type -p emacsclient)  
lrwxrwxrwx 1 root root 29 2011-10-23 11:20 /usr/bin/emacsclient -> /etc/alternatives/emacsclient  
walt@aardvark:~(0)$ pathlld $(type -p emacsclient)   
drwxr-xr-x 27 root root 4096 2011-12-02 04:07 /  
drwxr-xr-x 12 root root 4096 2011-10-23 19:29 /usr  
drwxr-xr-x 2 root root 135168 2011-12-02 16:03 /usr/bin  
lrwxrwxrwx 1 root root 29 2011-10-23 11:20 /usr/bin/emacsclient -> /etc/alternatives/emacsclient  
-rwxr-xr-x 1 root root 23440 2011-08-14 12:41 /usr/bin/emacsclient  
drwxr-xr-x 27 root root 4096 2011-12-02 04:07 /  
drwxr-xr-x 234 root root 12288 2011-12-02 16:06 /etc  
drwxr-xr-x 2 root root 20480 2011-11-29 09:31 /etc/alternatives  
lrwxrwxrwx 1 root root 28 2011-10-23 11:20 /etc/alternatives/emacsclient -> /usr/bin/emacsclient.emacs23  
-rwxr-xr-x 1 root root 23440 2011-08-14 12:41 /etc/alternatives/emacsclient  
drwxr-xr-x 27 root root 4096 2011-12-02 04:07 /  
drwxr-xr-x 12 root root 4096 2011-10-23 19:29 /usr  
drwxr-xr-x 2 root root 135168 2011-12-02 16:03 /usr/bin  
-rwxr-xr-x 1 root root 23440 2011-08-14 12:41 /usr/bin/emacsclient.emacs23  
0
ответ дан 15 March 2014 в 05:45

пример:

$ mkdir /home/myuser/proyects/php/myproyect

$ cd /var/www/

$ sudo ln -s /home/myuser/proyects/php/myproyect .

теперь вам нужно:

1) установить apache как владельца вашего проекта

$ sudo chown myuser:www-data /home/myuser/proyects/php/myproyect -R

2) установить + x разрешений для каждого папку к вашему пути

$ sudo chmod +x /home/myuser/proyects
$ sudo chmod +x /home/myuser/proyects/php
$ sudo chmod +x /home/myuser/proyects/php/myproyect

Теперь вы можете увидеть ваш проект на http://localhost.


, если возникнут проблемы, попробуйте:

перезапустите apache

$ sudo service apache2 restart

, если проблема не исчезнет, ​​сделайте пользователя Apache владельцем ссылки

$ cd /var/www/
$ sudo chown myuser:www-data myproyect -R

, если проблема сохраняется добавить разрешения на выполнение в вашем доме

$ sudo chmod +x /home/myuser/
0
ответ дан 15 March 2014 в 05:45

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

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