mhddfs (или unionfs) + Apache = В доступе отказано - PullRequest
1 голос
/ 06 февраля 2012

В настоящее время я пытаюсь настроить виртуальную машину для разработки для клиента. Три репозитория SVN с PHP-кодом должны быть объединены в одну папку (я знаю, что это некрасиво, но так они катятся). Я немного погуглил и нашел mhddfs . Итак, я проверил три репозитория в папке с именем branches:

branches/branch1
branches/branch2
branches/branch3

Я смонтировал три ветви с mhddfs на /mnt/dev. На уровне файловой системы все работает должным образом, поэтому ls правильно отображает содержимое всех трех папок (они не связаны). Однако попытка запустить корневой каталог документа с помощью Apache приводит к ошибке 403 Forbidden . Я пробовал и другие места, кроме /mnt/dev, и без разницы.

[Mon Feb 06 17:44:41 2012] [error] [client 192.168.56.1]
(13)Permission denied: access to / denied

Когда я не монтирую три папки, а просто помещаю файл index.php в /mnt/dev, все работает как положено. Я что-то упустил?

Заранее спасибо за помощь.

РЕДАКТИРОВАТЬ: Еще несколько данных о проблеме: когда я создаю два каталога, которые доступны для всего мира ...

root@devbox:/tmp > ls -lha
drwxrwxrwt  6 root     root   4,0K  6. Feb 20:11 .
drwxr-xr-x 21 root     root   4,0K  6. Feb 10:07 ..
drwxrwxrwx  2 www-data vboxsf 4,0K  6. Feb 20:11 test1 # includes index.htm
drwxrwxrwx  2 www-data vboxsf 4,0K  6. Feb 20:13 test2 # includes index2.htm

... и смонтировать их через mhddfs ...

mhddfs /tmp/test1,/tmp/test2 /mnt/dev
mhddfs: directory '/tmp/test1' added to list
mhddfs: directory '/tmp/test2' added to list
mhddfs: mount to: /mnt/dev
mhddfs: move size limit 4294967296 bytes

... ls ведет себя корректно ...

root@devbox:/tmp > ls -lh /mnt/dev/
insgesamt 8,0K
-rwxrwxrwx 1 www-data vboxsf 12  6. Feb 20:11 index2.htm
-rwxrwxrwx 1 www-data vboxsf 11  6. Feb 20:11 index.htm

... в то время как Apache (пользователь: www-data, группа: vboxsf) этого не делает и завершается с ошибкой 403, указанной выше. Однако, если я размонтирую папки и просто добавлю index.htm в /mnt/dev, все будет работать как положено, так как Apache сможет прочитать файл.

Есть идеи?

Всего наилучшего, Martin

1 Ответ

3 голосов
/ 27 августа 2012

Я столкнулся с той же проблемой в Linux.
Следуя приведенным ниже инструкциям, я смог ее решить.

[STEPS]

  1. Включить 'user_allow_other' в /etc/fuse.conf
  2. Использовать mhddfs с опцией -o allow_other
    ex. mhddfs -o allow_other / dir1, / dir2 / path / to / mount
...