Почему Apache2 отдает Forbidden 403?

Стоит система ubuntu 13.10, установил apache, для быстрого добавления хостов установил mod_macro.

Вот код макроса:
<Macro VHost $host $path> 
    <VirtualHost *:80> 
        DocumentRoot "$path" 
        ServerAdmin admin@localhost 
        ServerName $host 
        ServerAlias www.$host 

        DirectoryIndex index.php index.html index.htm index.shtml 

        <Directory "$path"> 
        Options FollowSymLinks 
        	Options all 
                AllowOverride All 
		allow from all
        </Directory> 
    </VirtualHost> 
</Macro>
Use VHost blog.loc /home/www-data/www/blog


При попытке открыть blog.loc выдает:
Forbidden

You don't have permission to access / on this server.

Apache/2.4.6 (Ubuntu) Server at blog.loc Port 80


В первую очередь установил права на папку:
sudo chmod -R 777 /home/www-data/www/blog
Не помогло.

Следующим шагом установил права 777 на все вышестоящие папки
sudo chmod -R 777 /home

Что характерно, если поменять
Use VHost blog.loc /home/www-data/www/blog
на
Use VHost blog.loc /var/www/blog
(для проверки создал папку blog в /var/www) то запускается нормально

Подскажите, что я делаю не так?
  • Вопрос задан
  • 106907 просмотров
Решения вопроса 1
@Merlyel
Для начала проверить error.log, а потом попробовать залогиниться под пользователем, от которого запущен apache
su - www-data -s /bin/bash
и попробовать под ним перейти в нужную папку.
cd /home/www-data/www/blog
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
@ehabrahabr
Require all granted

<VirtualHost *:80>
	ServerName   site

	...

	<Directory /home/www/site/www>
		Options Indexes FollowSymLinks MultiViews
		AllowOverride None
		Order allow,deny
		allow from all

		Require all granted

	</Directory>

	...

</VirtualHost>
Ответ написан
Комментировать
Timures
@Timures
Веселый IT-шник
ctrl+alt+t
sudo gedit /etc/apache2/apache2.conf 

+ add 
<Directory /home/your_user/folder_public_html> 
 Options Indexes FollowSymLinks 
 AllowOverride None 
 Require all granted
</Directory> 

+ sudo service apache2 restart

Мне помогло)
Ответ написан
@vgroups
2020.г
Может кому пригодится еще
Заходим в /etc/apache2
Открываем apache2.conf
170 строка и 174 заменяем на это

Directory /var/www/>
AllowOverride All

Перезагружаем апач service apache2 restart или service httpd restart
Ответ написан
Комментировать
@Merlyel
А вообще индексный файлик есть в папке?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы