Віртуальні хости 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

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