Apache не принимает путь в моей домашней папке - PullRequest
1 голос
/ 06 февраля 2011

Я пытаюсь настроить сайт Apache для использования папки в моей домашней папке без какого-либо успеха.Я точно следовал инструкциям на этой странице:

https://help.ubuntu.com/community/ApacheMySQLPHP

, но мне это не удалось;Я продолжаю получать ошибку 403, которая говорит, что у сервера нет разрешения на доступ к запрашиваемой странице.Я искал форумы и многие предлагали изменить разрешение папки.Я сразу пошел и установил разрешение на 777, но это не решило проблему.

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

  1. Какая связь между шифрованием и Apache?Я полагаю, сервер Apache запрашивает файл из системы, а не пытается получить доступ к файлам байтов!

  2. Есть ли способ решить эту проблему?Я не хочу перемещать папку в / var / www, потому что я использую этот Apache для тестирования, поэтому я хочу, чтобы любое внесенное мной изменение было немедленно отражено, а не копировало файлы, которые подвержены ошибкам.

Ответы [ 2 ]

0 голосов
/ 06 февраля 2011

Звучит так, как будто ваш сервер настроен с включенным Security-Enhanced Linux (SELinux). Если это так, ваш Apache, вероятно, настроен так, что он может обращаться только к специально помеченным каталогам.

Чтобы проверить, активен ли SELinux, попробуйте выполнить следующие команды:

cat /etc/sysconfig/selinux

Или:

sestatus

Обновление:

Если у вас не включен SELinux, возможно, это простая проблема с правами доступа. Недостаточно установить разрешение для вашего каталога на 777, пользователь Apache также должен иметь (выполнять) разрешение для каждого каталога, ведущего от корневого каталога к вашему домашнему каталогу. Кроме того, файлы, к которым вы хотите получить доступ, также должны иметь (чтение) разрешения для Apache.

Команды, которые вы должны выполнить:

chmod o+x /home
chmod o+rx /home/someuser
chmod o+r /home/someuser/*

(при условии, что ваш домашний каталог - /home/someuser) .

Если у вас есть подкаталоги, то вы должны повторить это и для них.

Не думаю, что это проблема шифрования. Тогда вы бы предпочли получить искаженные данные вместо ошибки разрешения. Если вы используете шифрование, то у вас, вероятно, есть каталог с именем Private в вашем домашнем каталоге. В любом случае, Apache не может получить доступ к зашифрованным данным. Вам необходимо отключить шифрование.

0 голосов
/ 06 февраля 2011

Какая связь между шифрованием и Apache?Я полагаю, сервер Apache запрашивает файл из системы, а не пытается получить доступ к файлам байтов!

Да, но, скорее всего, это будет другой пользователь, чем вы (я думаю, что Apache имеетсвой пользователь на большинстве дистрибутивов).Этот пользователь, вероятно, не может получить доступ к вашей домашней папке.

Лучше всего было бы разместить папку htdocs вне вашей зашифрованной папки или каким-то образом заставить службу Apache работать как вы.Однако это скорее проблема serverfault.com или askubuntu.com.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...