Настройка apache (apache2.conf)

Forbidden. You don't have permission to access. LAMP

В первую очередь нам необходимо открыть доступ для нашей директории где у нас находятся web-ресурсы. Поскольку это не стандартная апачевская директория то нам надо создать доступ к своей директории где будут находится сайты. Иначе мы получим Forbidden.
Для этого откроем конфигурационный файл Apache /etc/apache2/apache2.conf. Выполним команду:
sudo nano /etc/apache2/apache2.conf
В открывшемся файле следует дописать
<Directory  "/mysites/">
        Options All
        AllowOverride All
        Require all granted
</Directory>
Не забываем после манипуляций перезагрузить apache
sudo service apache2 restart
Это позволит открыть доступ к директории из вне. Это решает проблему "Forbidden. You don't have permission to access /"

Добавление виртуальных хостов

Для того что бы апач видел наши сайты и сопоставлял их с доменами, в конфигурационный файл Apache /etc/apache2/apache2.conf необходимо добавить виртуальные хосты.
Выполним команду:
sudo nano /etc/apache2/apache2.conf
В открывшемся файле в самый конец файла дописываем:
NameVirtualHost *:80
<VirtualHost *:80>
      DocumentRoot "/mysites/test1/www/"
      ServerName domain-name.com
      ServerAlias www.domain-name.com
</VirtualHost>
....
<VirtualHost *:80>
      DocumentRoot "/mysites/test10/www/"
      ServerName domain-name.com
      ServerAlias www.domain-name.com
</VirtualHost>
Не забываем после манипуляций перезагрузить apache
sudo service apache2 restart
По уму виртуальные хосты должны хранится в отдельной папке, по мимо этого с отдельным конфигурационным файлом для каждого сайта.
То есть мы должны создать для каждого виртуального хоста отдельный конфиг в папке sites-available.
Для этого создадим отдельный конфиг, скопировав базовый функционал
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/testsite.conf
Далее откроем этот файл и допишем туда выше указанные параметры
sudo /etc/apache2/sites-available/testsite.conf