Файлы сервера Apache хранятся в каталоге /etc/apache2, который включает в себя такие директории:
# ls -dl */
drwxr-xr-x 2 root root 4096 Фев 25 08:46 conf.d/
drwxr-xr-x 2 root root 4096 Фев 25 08:37 mods-available/
drwxr-xr-x 2 root root 4096 Фев 25 08:37 mods-enabled/
drwxr-xr-x 2 root root 4096 Фев 25 11:54 sites-available/
drwxr-xr-x 2 root root 4096 Фев 25 11:55 sites-enabled/
В этом же каталоге находится основной конфигурационный файл сервера — apache2.conf.
Настройки сайтов, которые обслуживает сервер, находятся в каталоге /etc/apache2/sites-available. А активные сайты — в каталоге /etc/apache2/sites-enabled, файлы в котором являются просто ссылками на каталог /etc/apache2/sites-available:
# pwd
/etc/apache2/sites-enabled
# ls -la
итого 8
drwxr-xr-x 2 root root 4096 Фев 25 11:55 .
drwxr-xr-x 7 root root 4096 Фев 25 08:37 ..
lrwxrwxrwx 1 root root 26 Фев 25 08:37 000-default -> ../sites-available/default
lrwxrwxrwx 1 root root 34 Фев 25 11:55 rtfm.co.ua.conf -> ../sites-available/rtfm.co.ua.conf
Для добавления нового VirtualHost — в каталоге /etc/apache2/sites-available создаём файл с именем sitename.conf, например — rtfm.co.ua.conf.
В него добавляем обычные параметры, как и на любой другой платформе:
# cat rtfm.co.ua.conf
<virtualhost *:80>
ServerName rtfm.co.ua
ServerAlias www.rtfm.co.ua
DocumentRoot /var/www/rtfm.co.ua
ErrorLog /var/log/apache/rtfm.co.ua-error.log
CustomLog /var/log/apache/rtfm.co.ua-access.log combined
</virtualhost>
Теперь выполним команду:
# a2ensite /etc/apache2/sites-available/rtfm.co.ua.conf
Которая создаст символическую ссылку в каталоге /etc/apache2/sites-enabled.
Если при выполнении a2ensite вы получаете ошибку вида:
# a2ensite /etc/apache2/sites-available/rtfm.co.ua.conf
ERROR: No site found matching /etc/apache2/sites-available/rtfm.co.ua.conf!
Или такую:
# a2ensite rtfm.co.ua.conf
ERROR: Site rtfm.co.ua does not exist!
Укажите путь к файлу конфигурации без указания полного пути:
# pwd
/etc/apache2/sites-available
# a2ensite rtfm.co.ua.conf
Enabling site rtfm.co.ua.conf.
Run ‘/etc/init.d/apache2 reload’ to activate new configuration!
Перезапускаем Apache:
# service apache2 restart
Сайт готов к работе.
Подробнее о конфигурировании VirtualHost-ов можно почитать в статье Apache: примеры создания VirtualHost.