При создании нескольких сайтов на одном сервере приходится создавать конфиги для каждого из них. Для облегчения такой рутины существует модуль Apache - mod_macro. Он позволяет обходится всего одной строчкой в конфиге Apache.
Краткий мануал по его использованию:
Ставим mod_macro, создаём в папке /etc/apache2 файл hosting.conf содержанием:
( HTML ломает некоторые знаки. Для точного копирования команд справа от листинга есть кнопка <>)
#Пишем сам макрос
<Macro VHost $name $alias $docroot $admin>
<VirtualHost *:80>
ServerName $name
ServerAlias $alias
DocumentRoot $docroot
ServerAdmin $admin
</VirtualHost>
#Включить .htaccess
<Directory $docroot/>
AllowOverride All
</Directory>
</Macro>
# Добавляем виртуальные хосты, каждая строчка задаёт переменные первой строчки макроса для виртуального хоста
Use VHost klinicheskiy_roddom krg.minzdravao.ru /srv/www/htdocs/krd krd(a)mail.ru # (a) поменять на @
Use VHost gor_klin_pol_3 gkp3.minzdravao.ru /srv/www/htdocs/gkp3 gkp3(a)gmail.com # (a) поменять на @
UndefMacro VHost
и дописываем в httpd.conf строку: Include /etc/apache2/hosting.conf, рестартим апач. Если ругачка на <Macro , то нужно добавить модуль в Апач командой:
Или в файл /etc/sysconfig/apache2 дописываем модуль mod_macro.
В конец listen.conf дописываем NameVirtualHost *:80 # Должно быть только в одном конффайле (по умолчанию listen.conf).