Я попытался установить последнюю версию XAMPP в качестве простой тестовой платформы для демонстрации PHP перед переходом на наш производственный сервер. Для удобства я установил пару виртуальных хостов, но они неизменно бросают мне 403.
Я рекурсивно выбрал каталоги, я объявил домены в hosts
файл, я проверил разрешения 755/777, настроил пользователя и группу apache, проверил httpd -S
для ошибок я разрешил имя сервера в httpd.conf
, Я добавил часто предлагаемые Require
код в моих объявлениях httpd-vhosts.conf
следующим образом, в различных аранжировках и перестановках:
<VirtualHost *:80>
DocumentRoot "/Users/myuser/Sites"
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Users/myuser/Sites/testsite"
ServerName testsite.loc
ErrorLog "/private/var/log/apache2/testsite_error_log"
<Directory "/Users/myuser/Sites/testsite">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order Allow,Deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Users/myuser/Sites/home"
ServerName home.loc
ErrorLog "/private/var/log/apache2/home_error_log"
<Directory "/Users/myuser/Sites/home">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order Allow,Deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
Я сбрасываю сервер каждый раз, когда вносил изменения, похоже, он не генерирует журнал ошибок, и я понятия не имею, что происходит. Если есть кто-нибудь, кто может указать мне путь, по которому нужно идти, или подсказку, как действовать в решении этой проблемы, я был бы безмерно благодарен. Эта проблема преследует меня два дня подряд.
Обратите внимание, я не админ сервера по образованию, а просто инженер, который попал в эту работу. Мне не нужны простые объяснения, но мне нужно немного больше ясности, чем обычно. Спасибо.
(Для справки, система, в которой я должен работать, - OSX 10.9.1. Сообщите мне, есть ли еще какие-то данные, которые мне не хватает для решения.)
Изменить: включен полный код vhosts
Только одно свидание с другими, вроде меня, где можно было дурачиться с той же проблемой:
Вы сказали: "Я проверил разрешения 755/777"
Об этом важно знать, что, по крайней мере, в Mavericks, необходимо дать разрешение 755 всем родителям до самого пользователя.
В моем случае у меня был рабочий проект на /Users/albertosanchez/Documents/Trabajo/Oficina2000/www.aliaxis-ui.es, поэтому мне пришлось дать разрешение 755 на albertosanchez, Documents, Trabajo, Oficina2000 и www.aliaxis-ui. es каталоги
Надеюсь, поможет!
403 не указывает на недостаточные разрешения для сервера на чтение файла, но недостаточные права для клиента для просмотра запрошенного URL-адреса (сервер даже не пытается получить доступ к какому-либо файлу, возможно, даже не отображает запрос на один в зависимости от того, где права доступа определены).
Как ваши правила доступа для /Users/myuser/Sites/testsite
кажется правильным, вы должны проверить:
/Users/myuser/Sites/testsite
на самом деле это корень документа / каталог, которому сопоставлен запрос (и обратите внимание, что это абсолютный путь на вашем компьютере, а не относительно корня документа!)
Нигде не указаны другие правила доступа, которые могут переопределить это (возможные местоположения - это любой файл congi сервера, включая, помимо прочего, определения vhost, а также файлы .htaccess)
Если у вас есть какие-либо символические ссылки, убедитесь, что apache настроен на их отслеживание (Options +FollowSymlinks
или Options +SymLinksIfOwnerMatch
).
Если вы запрашиваете директорию, а не файл: убедитесь, что индексирование включено. (Options +Indexes
)
Убедитесь, что вы действительно попадаете в vHost, который, как вы думаете, вы, а не другой или вообще ни один