Управление виртуальными хостами на Ubuntu LAMP

LAMP сервер позволяет иметь необходимое количество конфигураций виртуальных web серверов. 

Причем, если некоторый сервер временно нужно отключить, то не нужно удалять .conf файлы. 

Для этого используется 2 команды a2ensite и a2dissite которые соответственно включают сайт и отключают его

Фактически происходит следующее:

При старте apache сканирует каталог sites-enabled и все, что там находится подключает как виртуальные хосты. 

Команда a2ensite создает символическую ссылку в каталоге sites-enabled на файл в каталоге sites-available, тогда как команда a2dissite удаляет символическую ссылку

Как это работает

  • Копируем файл 000-default.conf
    cp ./000-default.conf ./myhost.loc.conf
  • Редактируем файл myhost.loc.conf
    <VirtualHost *:80>
    ServerAdmin admin@myhost.loc
    DocumentRoot /path/to/site/root/public
    ServerName myhost.loc
    <Directory /path/to/site/root/public>
    AllowOverride All
    Require all granted
    Order allow,deny
    Allow from all
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/error_myhost.loc.log
    CustomLog ${APACHE_LOG_DIR}/access_myhost.loc.log combined
    </VirtualHost>

    Colored with dumpz.org

  • Активируем сайт
    sudo a2ensite myhost.loc.conf
  • При необходимости отключаем сайт
    sudo a2dissite myhost.loc.conf
  • Обновляем конфигурацию
    sudo service apache2 reload