Я постоянно получаю ошибку 403 Permission Denied при попытке обслуживания изображений из apache, запущенного на машине A. Изображения находятся в каталоге, который является общим ресурсом NFS с машины B. Запись на машине B / etc / exports выглядит следующим образом: / dir / xxx.xxx.xxx.xxx (rw, sync, no_root_squash)
Я могу успешно просматривать смонтированные файлы / каталоги NFS на компьютере A.
После просмотра httpd.conf я также раскомментировал параметры EnableMMAP off и EnableSendFile Off, как написано там.
Обе машины на RHEL5.
Наконец решил это. Все это время это была проблема SELinux. Нашел решение здесь - http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/selinux-guide/rhlcommon-section-0068.html
В Red Hat Enterprise Linux 4 наиболее целевые демоны не взаимодействуют с пользовательскими данными и на них не влияют домашние каталоги, подключенные к NFS. Одно исключение - Apache HTTP. Например, сценарии CGI, которые находятся в смонтированной файловой системе, имеют тип nfs_t, который не является типом, который разрешено выполнять httpd_t.
Установка разрешающего режима SELinux на соответствующих серверах сработала за меня.
NFS всегда вызывает такие забавные вещи, когда UID / GID выстраиваются неправильно.
Предполагая, что ваш веб-сервер работает от имени пользователя «apache», убедитесь, что права доступа к файлу таковы, что они доступны для чтения всем.
su пользователю apache и cd в каталог и попробуйте cat'ing файлы.
Скорее всего, проблема с разрешением. Если apache не записывает в каталог, ему все равно, находятся ли файлы, которые он читает, в NFS или чем-то еще.
В дополнение к предложению Мэтта также проверьте, разрешено ли Apache обслуживать файлы, из которых существует ваша точка монтирования NFS. В целях безопасности многие дистрибутивы Apache поставляются с такой ограничительной директивой:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
Это предотвращает обслуживание любых файлов из / и выше. Обычно у вас будет менее ограничительное правило, позволяющее другому каталогу, содержащему ваши DocumentRoots, обслуживать файлы немного более свободно.
Я не знаком с тем, как RHEL5 распространяет файлы конфигурации Apache. Но вам может потребоваться создать дополнительную директиву Directory, чтобы разрешить обслуживание файлов с точки монтирования.
У меня была именно такая проблема.
Я использую Xubuntu, и пользователь www-data (apache) не имел доступа к монтированию nfs.
до sudo mount -a точка монтирования была ...
drwxrwxrwx
но после
drwxrwx ---
кто-то упомянул об изменении группы каталога на www-data, но я просто изменил его обратно на 777 после монтирования. Мне нужно прочитать о монтированиях nfs, чтобы сделать это автоматически