В этом руководстве мы расскажем, как настроить виртуальный хост apache или vhost в ubuntu.
Использование виртуального хоста позволяет администратору использовать один сервер для размещения нескольких доменов или сайтов с одного интерфейса или IP-адреса с помощью соответствующего механизма.
В принципе, вы можете использовать один IP-адрес для сервера нескольких доменных имен.
Метод виртуального хоста широко используется в провайдере виртуального хостинга.
Предпосылки
Прежде чем вы начнете с этим руководством, вы должны, по крайней мере, иметь базовые знания о linux, знать базовую команду оболочки для Linux, учетную запись пользователя root или не-root с привилегиями sudo, установленными на вашем сервере.
Также у вас был установлен apache.
Вы должны указать свое доменное имя на IP-адрес вашего сервера.
Для примера в этом руководстве мы создадим виртуальный хост со следующими настройками:
Domain name : test1.example.com Document root : /var/www/example.com/
Шаг 1 – Создайте структуру каталогов
Корень документа – это каталог верхнего уровня, на который смотрит Apache, чтобы найти контент для обслуживания.
Обычно используют имя public_html, чтобы его было легко распознать.
Например, для наших сайтов мы собираемся сделать наши каталоги такими:
$ sudo mkdir -p /var/www/test1.example.com/public_html
Шаг 2 – Создать пример страницы для виртуального хоста
Мы создадим простой HTML-файл и поместим в виртуальный хост.
$ nano /var/www/test1.example.com/public_html/index.html
В этом файле создайте простой HTML-документ с указанием сайта, к которому он подключен. Мой файл выглядит так:
<html> <head> <title>Welcome to test1.example.com!</title> </head> <body> <h1>Success! The test1.example.com virtual host is working!</h1> </body> </html>
Шаг 3 – Создайте новые файлы конфигурации виртуального хоста
Apache поставляется с файлом виртуального хоста по умолчанию с именем 000-default.conf, который используется по умолчанию или для захвата неопределенного виртуального хоста.
Мы будем использовать в качестве шаблонов для создания нашего виртуального хоста.
Как перечислить все виртуальные хосты на веб-сервере Apache
Создайте наш файл конфигурации виртуального хоста на основе файла 000-default.conf, используя следующую команду:
$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/test1.example.com.conf
Откройте новый файл конфигурации виртуального хоста, используя nano
$ sudo nano /etc/apache2/sites-available/test1.example.com.conf
Отредактируйте этот файл так:
<VirtualHost *:80> ServerAdmin admin@example.com ServerName test1.example.com ServerAlias test1.example.com DocumentRoot /var/www/test1.example.com/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Примечание: вы можете использовать ServerAlias для создания виртуального хоста с другим именем, но с тем же корнем документа, например, www.example.com и example.com. Конфигурация будет такой
ServerName example.com ServerAlias www.example.com
Шаг 4 – Включите новую конфигурацию виртуального хоста для Apache
Теперь, когда мы создали наши файлы виртуального хоста, мы должны включить их.
Apache включает в себя некоторые инструменты, которые позволяют нам сделать это.
Мы используем a2ensite для включения конфигурации
$ sudo a2ensite test1.example.com.conf
Вам нужно перезапустить Apache, чтобы изменения вступили в силу:
$ sudo systemctl restart apache2
Как остановить и перезапустить Apache в Linux-системах
Шаг 5 – Протестируйте в вашем браузере
Откройте ваш браузер, в этом примере мы откроем URL http://test1.example.com для проверки результатов.