Я получаю Access Forbidden (Ошибка 403) при настройке нового псевдонима
Я запускаю Windows 7 и недавно установил XAMPP для создания среды dev. Я не очень разбираюсь в стороне сервера, поэтому у меня возникают проблемы с настройкой псевдонима для проекта.
Пока XAMPP запущен, и если я перейду на localhost, я получу приветственную страницу XAMPP. Я создал папку "alias" в моей папке "conf" моей установки apache. Там я добавил dev.conf со следующим содержимым:
<Directory "C:\Users\my_user\My%20Documents\Aptana%20Studio%203%20Workspace\project">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from 127.0.0.1
</Directory>
Alias /dev "C:\Users\my_user\My%20Documents\Aptana%20Studio%203%20Workspace\project"
Но затем, когда я перехожу к "localhost/dev", я получаю:
Доступ запрещен!
У вас нет разрешения на доступ к запрашиваемому объекту. Это либо защищенный от чтения или не читаемый сервером.
Если вы считаете, что это ошибка сервера, обратитесь к веб-мастеру.
Ошибка 403
Я попробовал googling, и я нашел другие подобные вопросы на SO, но, похоже, я не могу понять это. Некоторые говорят, что вы должны сказать ему, что у вас есть разрешения, но в моем файле conf, который я указал, чтобы разрешить его с 127.0.0.1. Возможно, это связано с тем, что в моем пути есть пробелы (хотя некоторые поисковые роботы сказали мне, что я работаю в 20%). Мне удалось создать его в другой папке и скопировать вложенную рабочую версию, изменив псевдоним и путь, и он сломался, так что это говорит мне, что, вероятно, это тоже имеет отношение.
Я посмотрел в папку журнала и нашел следующую строку:
[Tue Dec 13 14:59:20 2011] [ошибка] [клиент:: 1] клиент, которому отказано конфигурации сервера: C:/Users/my_user/My %20Documents
Я не уверен, если это сократится, потому что сообщения об ошибках могут иметь определенную длину, но определенно не путь, который я добавил в файле dev.conf, я надеюсь, что это может сделать это немного яснее для некоторых, потому что Я очень расстроен, и я не уверен, что попробовать.
Ответы
Ответ 1
Наконец-то я получил его для работы.
Я не уверен, что пробелы в пути ломают вещи, но я изменил рабочее пространство моей установки Aptana на что-то без пробелов.
Затем я удалил XAMPP и переустановил его, потому что думал, что я сделал опечатку где-то, не заметив, и решил, что я должен работать с нуля.
Оказывается, Windows 7 имеет службу где-то, где используется порт 80, который блокирует запуск apache (давая ему -1). Поэтому я изменил порт, который он прослушивает на порт 8080, больше не конфликтует.
Наконец я перезапустил свой компьютер, по какой-то причине XAMPP не любит, чтобы я возился с ini файлами, и просто перезапуск apache не делал трюка.
В любом случае, это был самый неприятный день, поэтому я действительно надеюсь, что мой ответ в конечном итоге поможет кому-то!
Ответ 2
Я только что нашел ту же проблему с псевдонимами при установке Xampp на Windows.
Чтобы решить ошибку 403:
<Directory "C:/Your/Directory/With/No/Trailing/Slash">
Require all granted
</Directory>
Alias /dev "C:/Your/Directory/With/No/Trailing/Slash"
Настройка Xampp по умолчанию должна быть в порядке с этим. Некоторые люди столкнулись с проблемами с deny, помещенными в корневой каталог, таким образом, перевернув тег каталога:
<Directory "C:/Your/Directory/With/No/Trailing/Slash">
Allow from all
Require all granted
</Directory>
Помог бы с этим, но текущая версия Xampp (v1.8.1 на момент написания) не требует ее.
Как и в случае с проблемой op с портом 80, Xampp содержит удобную кнопку Netstat, чтобы узнать, что использует ваши порты. Огоньте это и исправьте конфликт, я думаю, что это мог быть IIS, но он не может быть уверен.
Ответ 3
Я использую XAMPP с Apache2.4, у меня была эта же проблема. Я хотел оставить папку xampp/htdocs по умолчанию, иметь доступ к ней из locahost и иметь виртуальный хост, чтобы указать на мою область dev...
Полное содержимое моего файла C:\xampp\apache\conf\extra\http-vhosts.conf
ниже...
# Virtual Hosts
#
# Required modules: mod_log_config
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <URL:http://httpd.apache.org/docs/2.4/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.
#
# Use name-based virtual hosting.
#
##NameVirtualHost *:80
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ##ServerName or ##ServerAlias in any <VirtualHost> block.
#
##<VirtualHost *:80>
##ServerAdmin [email protected]
##DocumentRoot "C:/xampp/htdocs/dummy-host.example.com"
##ServerName dummy-host.example.com
##ServerAlias www.dummy-host.example.com
##ErrorLog "logs/dummy-host.example.com-error.log"
##CustomLog "logs/dummy-host.example.com-access.log" common
##</VirtualHost>
##<VirtualHost *:80>
##ServerAdmin [email protected]
##DocumentRoot "C:/xampp/htdocs/dummy-host2.example.com"
##ServerName dummy-host2.example.com
##ErrorLog "logs/dummy-host2.example.com-error.log"
##CustomLog "logs/dummy-host2.example.com-access.log" common
##</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:\xampp\htdocs"
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:\nick\static"
ServerName dev.middleweek.co.uk
<Directory "C:\nick\static">
Allow from all
Require all granted
</Directory>
</VirtualHost>
Затем я обновил файл C:\windows\System32\drivers\etc\hosts
, как этот...
# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
127.0.0.1 dev.middleweek.co.uk
127.0.0.1 localhost
Перезагрузите компьютер для хорошей оценки, откройте панель управления XAMPP и запустите Apache.
Теперь откройте свой собственный домен в своем браузере, в приведенном выше примере он будет http://dev.middleweek.co.uk
Надеюсь, что это поможет кому-то!
И если вы хотите просмотреть списки каталогов под новым виртуальным хостом, отредактируйте свой блок VirtualHost в C:\xampp\apache\conf\extra\http-vhosts.conf
, чтобы включить "Параметры индексов", как это...
<VirtualHost *:80>
DocumentRoot "C:\nick\static"
ServerName dev.middleweek.co.uk
<Directory "C:\nick\static">
Allow from all
Require all granted
Options Indexes
</Directory>
</VirtualHost>
Cheers,
Ник
Ответ 4
Этот вопрос устарел, и хотя вам удалось заставить его работать, но я чувствую, что было бы полезно, если бы я разъяснил некоторые моменты, которые вы подняли здесь.
Сначала о имени каталога, имеющего пробелы. Я играл с файлами конфигурации apache2 и обнаружил, что если в имени каталога есть место, заключите его в двойные кавычки и все проблемы исчезнут.
Например...
NameVirtualHost local.webapp.org
<VirtualHost local.webapp.org:80>
ServerAdmin [email protected]
DocumentRoot "E:/Project/my php webapp"
ServerName local.webapp.org
</VirtualHost>
Обратите внимание на то, как написана строка DocumentRoot.
Во-вторых, доступ запрещен из xampp. Я обнаружил, что в конфигурации xampp по умолчанию (..path к xampp/apache/httpd.conf) есть раздел, который выглядит следующим образом.
<Directory>
AllowOverride none
Require all denied
</Directory>
Измените его и сделайте так, как показано ниже. Сохраните файл, перезапустите apache из xampp, и это решит проблему.
<Directory>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride none
Require all granted
</Directory>
Ответ 5
попробуйте это
sudo chmod -R 0777/opt/lampp/htdocs/testproject
Ответ 6
Apache 2.4 виртуальные хосты hack
1. В http.conf укажите порты ниже "Listen"
Listen 80
Listen 4000
Listen 7000
Listen 9000
-
В httpd-vhosts.conf
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "C:/Users/Vikas/Documents/NetBeansProjects/slider_website_hitesh/public_html"
ServerName hitesh_web.dev
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
<Directory "C:/Users/Vikas/Documents/NetBeansProjects/slider_website_hitesh/public_html">
Allow from all
Require all granted
</Directory>
</VirtualHost>
это второй виртуальный хост
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "E:/dabkick_git/DabKickWebsite"
ServerName www.my_mobile.dev
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
<Directory "E:/dabkick_git/DabKickWebsite">
Allow from all
Require all granted
</Directory>
</VirtualHost>
-
В файле hosts.ics Windows os "C:\Windows\System32\drivers\etc\host.ics"
127.0.0.1 localhost
127.0.0.1 hitesh_web.dev
127.0.0.1 www.my_mobile.dev
127.0.0.1 demo.multisite.dev
4.Напишите свои "доменные имена" в браузере, и он будет пинговать конкретную папку, указанную в пути documentRoot.
5.если вы хотите получить доступ к этим файлам в определенном порту, а затем замените 80 в httpd-vhosts.conf номерами портов, как показано ниже, и перезапустите apache
<VirtualHost *:4000>
ServerAdmin [email protected]
DocumentRoot "C:/Users/Vikas/Documents/NetBeansProjects/slider_website_hitesh/public_html"
ServerName hitesh_web.dev
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
<Directory "C:/Users/Vikas/Documents/NetBeansProjects/slider_website_hitesh/public_html">
Allow from all
Require all granted
</Directory>
</VirtualHost>
это второй vhost
<VirtualHost *:7000>
ServerAdmin [email protected]
DocumentRoot "E:/dabkick_git/DabKickWebsite"
ServerName www.dabkick_mobile.dev
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
<Directory "E:/dabkick_git/DabKickWebsite">
Allow from all
Require all granted
</Directory>
</VirtualHost>
Примечание: для номера порта, данного виртуальным хостам, вы должны выполнить ping в браузере, например: http://hitesh_web.dev:4000/ "или" http://www.dabkick_mobile.dev:7000/ "
6. После выполнения всех этих изменений вам необходимо сохранить файлы и перезапустить apache соответственно.
Ответ 7
Если вы установили модуль на Xampp (в Linux) через Bitnami и изменили настройки chown
, убедитесь, что группа пользователей /opt/lampp/apps/<app>/htdocs
и tmp
daemon
со всеми другими файлами и папками sibling chown
для пользователя, которого вы установили, например, cd /opt/lampp/apps/<app>
, sudo chown -R root:root .
, затем sudo chown -R root:daemon htdocs tmp
.