Виртуальные хосты Apache2 в Linux семейства Ubuntu

Опубликовано:

Виртуальные хосты очень удобны при разработке множества проектов. В повседневной жизни веб-разработчика часто приходится сталкиваться с настройкой виртуальных хостов в веб-сервере Apache, поэтому данная статья написана специально для того, чтобы быстро по краткой документации выполнить настройку.

Предположим, что Apache вы уже установили в своей системе Ubuntu (Kubuntu/Xubuntu). Дальше остается немного поковыряться в конфигурации веб-сервера и создать пару каталогов (вирутальных хостов). Нужно определиться, в каком месте будут лежать ваши проекты (виртуальные хосты). Например, в домашнем каталоге системы в папке «Projects»:

/home/{user_name}/Projects

где {user_name} – логин пользователя. По этому пути в дальнейшем вы и будете создавать каталоги (они и являются виртуальными хостами), в которых будут лежать и работать ваши проекты.

Далее заходим в системный каталог Apache, где лежит его конфигурационный файл, обычно это по адресу:

/etc/apache2/apache2.conf

Находим строку:

Include sites-enabled/

(обычно она в конце файла), комментируем ее (#) и добавляем следующую строку:

Include /home/{user_name}/Projects/*.conf

То есть, мы прописали параметр, который будет автоматически подгружать настройки для каждого виртуального хоста из созданного нами каталога «Project».

Теперь практически все сделано для того, чтобы мы могли без проблем создавать виртуальные хосты. Например, мы хотим создать рабочий хост с названием «test.com», для этого создаем с таким же именем каталог:

/home/{user_name}/Projects/test.com

после чего нам потребуется создать конфигурационный файл (test.com.conf) для этого хоста в созданном каталоге “test.com”, в котором нужно разместить следующие строки:

<VirtualHost *:80>
    ServerName {domain_name}
    DocumentRoot /home/{user_name}/Projects/{domain_name}
    <Directory /home/{user_name}/Projects/{domain_name}>
        DirectoryIndex index.php index.html
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

где {domain_name} – имя виртуального хоста (test.com).

Еще один момент. Чтобы система могла видеть данный хост, требуется прописать для него IP (в данном случае локальный) и домен в файле:

/etc/hosts

В нашем случае нужно добавить строку:

127.0.0.1    test.com

Теперь все готово для того, чтобы виртуальный хост “test.com” заработал, но перед этим нужно перезапустить сервер Apache командой:

sudo /etc/init.d/apache2 restart

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