Я понимаю, что здесь много похожих вопросов, но я боролся с этим часами и не смог найти решения.
Когда я пытаюсь зайти в свой ящик Vagrant Ubuntu через имя хоста shopwise.dev
(установите IP-адрес Vagrant box в /etc/hosts
), Я получаю следующую страницу с ошибкой:
Forbidden
You don't have permission to access / on this server.
Apache/2.4.7 (Ubuntu) Server at shopwise.dev Port 80
Я создал файл /etc/apache2/sites-available/shopwise.conf
:
ServerName host.foxytronics.com
NameVirtualHost *:80
<Directory />
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<Directory "/home/shopws/public_html">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
<VirtualHost *:80>
ServerAdmin myemail@gmail.com
ServerName www.shopwise.dev
ServerAlias shopwise.dev
DirectoryIndex index.php
Options FollowSymLinks
DocumentRoot "/home/shopws/public_html"
# Logfiles
ErrorLog /home/shopws/logs/apache/error.log
CustomLog /home/shopws/logs/apache/access.log combined
</VirtualHost>
Потом побежал:
sudo a2ensite shopwise.conf
service apache2 reload
Я проверил разрешения каталога по пути /home/shopws/public_html
являются 755
и права доступа к файлам также в настоящее время 755
(хотя я думаю, что они на самом деле должны быть 644
?).
Моя конфигурация неверна?
ОБНОВИТЬ:
Как обычно, моя проблема была полностью моей ошибкой и из-за моего незнания :-)
Мне нужно было использовать Directory
директива для предоставления пользователям разрешения на доступ к каталогу, в который я выбрал для размещения файлов своего сайта. Это моя последняя рабочая конфигурация:
<VirtualHost *:80>
ServerAdmin myemail@gmail.com
ServerName www.shopwise.dev
ServerAlias shopwise.dev
DocumentRoot /home/shopws/public_html
# Logfiles
ErrorLog /home/shopws/logs/apache/error.log
CustomLog /home/shopws/logs/apache/access.log combined
</VirtualHost>
<Directory /home/shopws/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
Я надеюсь, что когда-нибудь это поможет кому-то другому!
Под index.something я подразумеваю index.html, index.php и т. Д. Вот ваш файл с ошибкой: ErrorLog /home/shopws/logs/apache/error.log
шаг 1 tail -f /home/shopws/logs/apache/error.log
шаг 2 нажмите Refresh или F5 в браузере, вы должны увидеть что-то здесь, если не сделайте то же самое, но с: tail -f /home/shopws/logs/apache/access.log
И вы также должны что-то здесь увидеть и вставить сюда последние строки.