Apache VirtualHost 403 Запрещено
недавно я попытался установить тестовый сервер с Apache. Сайт должен работать под доменом www.mytest.com. Я всегда получаю 403 Forbidden ошибка. Я нахожусь на Ubuntu 10.10 server edition. Корень doc находится под dir /var/www. Ниже приведены мои настройки:
содержание /var / www
ls -l /var/www/
total 12
drwxr-xr-x 2 root root 4096 2011-08-04 11:26 mytest.com
-rwxr-xr-x 1 root root 177 2011-07-25 16:10 index.html
содержимое файла хоста на сервере (с IP 192.168.2.5)
cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 americano
192.168.2.5 americano.mytest.com www.mytest.com
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
конфигурация сайта
<VirtualHost *>
ServerAdmin [email protected]
ServerName www.mytest.com
ServerAlias mytest.com
DocumentRoot "/var/www/mytest.com"
ErrorLog /var/log/apache2/mytest-error_log
CustomLog /var/log/apache2/mytest-access_log combined
#
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "/var/www/mytest.com">
Options -Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
у меня есть нет .htaccess файл в моем корне документа. Разрешения установлены правильно (читается www-data).
если я ввожу IP-адрес с моего рабочего стола, сайт отображается правильно. Я изменил файл hosts на моем рабочем столе до точки www.mytest.com к IP сервера. Когда я использую его, я получаю 403. Поскольку многие функции этого сайта зависят от имени сайта, я должен иметь доступ к сайту по имени домена.
еще одна забавная вещь, даже если все файлы журнала созданы правильно, они не имеют никакой информации об этой ошибке.
Я застрял. Кто-нибудь может помочь?
8 ответов:
Apache 2.4.3 (или, может быть, чуть раньше) добавил новую функцию безопасности, которая часто приводит к этой ошибке. Вы также увидите сообщение журнала формы "клиент запрещен конфигурацией сервера". Эта функция требует удостоверения пользователя для доступа к каталогу. Он включен по умолчанию в httpd.conf, который поставляется с Apache. Вы можете увидеть включение функции с директивой
Require all deniedЭто в основном говорит, чтобы запретить доступ для всех пользователей. Чтобы устранить эту проблему, либо удалите директиву denied (или гораздо лучше) добавьте следующую директиву в каталоги, к которым вы хотите предоставить доступ:
Require all grantedа в
<Directory "your directory here"> Order allow,deny Allow from all # New directive needed in Apache 2.4.3: Require all granted </Directory>
для apache Ubuntu 2.4.7, я, наконец, нашел, что вам нужно белый список вашего виртуального хоста в apache2.conf
# access here, or in any related virtual host. <Directory /home/gav/public_html/> Options FollowSymLinks AllowOverride None Require all granted </Directory>
Это может быть проблема с разрешениями.
каждый родительский путь к корню виртуального документа должен быть читаемым, доступным для записи и исполняемым пользователем httpd веб-сервера
по данным на этой странице об ошибках Apache 403.
Так как вы используете
Allow from allваш заказ не имеет значения, но вы можете попробовать переключить его вDeny,Allowустановить по умолчанию "предоставить."
переместите предложение каталога из virtualhost и поместите его перед объявлением virtualhost.
меня тоже долго сводило с ума. Не знаю, почему. Это в Debian.
Я просто потратил несколько часов на эту глупую проблему
во-первых, измените разрешения, используя это в терминале
find htdocs -type f -exec chmod 664 {} + -o -type d -exec chmod 775 {} +Я не знаю, в чем разница между 664 и 775 Я сделал оба 775, как это Также htdocs нужен путь к каталогу, например, для меня это было
/usr/local/apache2/htdocs find htdocs -type f -exec chmod 775 {} + -o -type d -exec chmod 775 {} +Это тоже другая глупость
убедитесь, что ваша ссылка на изображение src является вашим доменным именем, например
src="http://www.fakedomain.com/images/photo.png"обязательно
EnableSendfile off in httpd.conf file EnableMMAP off in httpd.conf fileвы редактируете те, которые используют pico в терминале
Я также создал каталог для изображений специально так, что при вводе в адресной строке браузера domainname.com/images, вы получите список фотографий, которые могут быть загружены и должны быть успешно загружены, чтобы указать файлы изображений, которые работают должным образом
<Directory /usr/local/apache2/htdocs/images> AddType images/png .png </Directory>и это те решения, которые я пробовал, теперь у меня есть функционирующие образы... ура!!!
на следующий проблема(ы)
у меня была такая же проблема с виртуальным хостом на Ubuntu 14.04
для меня сработало следующее решение:
http://ubuntuforums.org/showthread.php?t=2185282
Это просто добавив
<Directory >тег/etc/apache2/apache2.conf
моя проблема заключалась в том, что разрешение на доступ к файлам было неправильным, я изменил разрешения каталога, и это сработало для меня
Если вы все сделали правильно, просто дать разрешения домашний каталог как:
sudo chmod o+x $HOMEзатем
sudo systemctl restart apache2
Comments