

Итак, у нас 3 есть доменных имени для сайтов: site1.ru, site2.ru и site3.ru.
Каждый сайт будет находиться в своей директории в /var/www.
Создадим эти директории
root@ubuntu:~# mkdir /var/www root@ubuntu:~# mkdir /var/www/www.site1.ru root@ubuntu:~# mkdir /var/www/www.site1.ru/htdocs root@ubuntu:~# mkdir /var/www/www.site1.ru/logs root@ubuntu:~# mkdir /var/www/www.site2.ru root@ubuntu:~# mkdir /var/www/www.site2.ru/htdocs root@ubuntu:~# mkdir /var/www/www.site2.ru/logs root@ubuntu:~# mkdir /var/www/www.site3.ru root@ubuntu:~# mkdir /var/www/www.site3.ru/htdocs root@ubuntu:~# mkdir /var/www/www.site3.ru/logs
Как видно из вышенаписанного, файлы сайтов будут лежать в htdocs, а логи — в logs.
В /etc/apache2/conf.d создаем файл virtual.conf следующего содержания:
# # /etc/apache2/conf.d/virtual.conf # NameVirtualHost *
После этого переходим в директорию /etc/apache2/sites-available и создаем конфигурационные файлы для каждого сайта.
#
# site1.ru (/etc/apache2/sites-available/www.site1.ru)
#
ServerAdmin admin@site1.ru
ServerName www.site1.ru
ServerAlias site1.ru *.site1.ru *
DirectoryIndex index.php index.html
DocumentRoot /var/www/www.site1.ru/htdocs/
ErrorLog /var/www/www.site1.ru/logs/error.log
CustomLog /var/www/www.site1.ru/logs/access.log combined Обратите внимание, что звездочку в первом конфиге я поставил сознательно, чтобы при заходе просто по IP-адресу или по по адресу, к которому нет конфига в апаче, открывался именно этот сайт.
#
# site2.ru (/etc/apache2/sites-available/www.site2.ru)
#
ServerAdmin admin@site2.ru
ServerName www.site2.ru
ServerAlias site2.ru *.site2.ru
DirectoryIndex index.php index.html
DocumentRoot /var/www/www.site2.ru/htdocs/
ErrorLog /var/www/www.site2.ru/logs/error.log
CustomLog /var/www/www.site2.ru/logs/access.log combined #
# site3.ru (/etc/apache2/sites-available/www.site3.ru)
#
ServerAdmin admin@site3.ru
ServerName www.site3.ru
ServerAlias site3.ru *.site3.ru
DirectoryIndex index.php index.html
DocumentRoot /var/www/www.site3.ru/htdocs/
ErrorLog /var/www/www.site3.ru/logs/error.log
CustomLog /var/www/www.site3.ru/logs/access.log combined Теперь добавляем эти сайты в используемые, написав в консоли:
root@ubuntu:~# a2ensite www.site1.ru root@ubuntu:~# a2ensite www.site2.ru root@ubuntu:~# a2ensite www.site3.ru
Таким образом мы создаем симлинки на наши сайты в /etc/apache2/sites-enabled.
Осталось только перезагрузить апач, и всё.
root@ubuntu:~# /etc/init.d/apache2 reload
После этого можете заливать сайты и радоваться жизни 🙂
Изменено: 12.04.2011
