Апр 12

Встала тут передо мной задача использовать несколько сайтов на сервере с одним IP-адресом. На DNS-серверах привязка имен к этому IP-адресу есть, осталось настроить Апач для работы с несколькими доменами.

Итак, у нас 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

После этого можете заливать сайты и радоваться жизни 🙂

Поделиться:

Автор: JohnnyТэги: , , , ,

2 Pings to “Виртуальные хосты на Apache 2.2”

  1. Оптимизируем postgrey для Postfix – скрипт внесения в AWL проверенных серверов Says:

    Размещена обратная ссылка […] Несколько сайтов на одном IP в статье о настройке виртуальных хостов на Апаче Опубликовано mahn0 в 01:05 Метки: freebsd, postfix, почта […]

  2. Практический опыт перехода с Apache на nginx :: Блог саратовского админа Says:

    […] Несколько лет назад дома появился «широкий» Интернет от тогда еще Корбины и вместе с ним появилась возможность/потребность/необходимость в постоянно включенном компе для торрентов, хаба и сайта для локала. Пришлось покупать простенький системник, доставать из кладовки старый монитор, устанавливать Ubuntu и ставить этот комп на кухню, чтобы не шумел и не мешал спать. В итоге (потому что постоянно включен) сейчас это основной комп для работы и развлечений для меня, жены и 4-летней дочки Со временем я начал вести блог SarAdmin.RU, который, пожив какое-то время на бесплатном хостинге, перебрался на этот же комп. Так как тут уже крутились веб-проекты для локала, пришлось настраивать виртуальные хосты на Apache. […]


Оставьте свой комментарий

Нужно войти в систему, чтобы оставлять комментарии.



Блог саратовского админа   

При использовании материалов сайта на других ресурсах прошу оставлять прямую ссылку на оригинал статьи.