403 Forbidden Error

Который раз уже теряю время на этом моменте во время настройки Apache+PHP окружения разработки на Ubuntu машине.

Я не люблю плодить лишних сущностей и держу папки с проектами, которые разрабатываю, в домашней директории. Чтобы дать возможность Apache исполнять PHP-скрипты из домашней директории нужно сделать следующее.

Включить себя в группу www-data.

sudo usermod -a -G www-data myusername

Проверить, что предыдущая команда возымела действие.

sudo groups myusername

Назначить для директории проекта группу-владельца www-data.

sudo chown myusername:www-data -R /path/to/project/dir

Назначить права на доступ к директории проекта себе и группе.

sudo chmod 755 -R /path/to/project/dir

И вот теперь самая мякотка — назначить права исполнения (1, x) для всех пользователей (третья группа прав) всем директориям выше директории проекта. Право исполнения для директории означает доступ к содержимому по указанию прямого пути при наличии соответствующих прав на это содержимое даже при отсутствии права на листинг (r) директории. Иначе Апач (www-data:www-data) просто не видит ваш проект в недрах директорий, к которым у него нет доступа.