Введение
Виртуальные хосты используются для запуска более одного домена на одном IP-адресе. Это особенно полезно для людей, которым необходимо запустить несколько сайтов на одном сервере.
Если вы намерены установить виртуальные хосты Apache на удаленном сервере, продолжайте чтение, в противном случае, если вы хотите установить виртуальные хосты Apache на свой локальный компьютер, пропустите первый абзац «Подключение к серверу» и прочитайте следующий.
Подключение к серверу
Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется пароль для аутентификации.
Чтобы подключиться к серверу как root, введите эту команду:
ssh root@IP_DEL_SERVER
Далее вам будет предложено ввести пароль пользователя root.
Если вы не используете пользователя root, вы можете войти под другим именем пользователя с помощью той же команды, а затем изменить первый параметр:
ssh VOSTRO_UTENTE@IP_DEL_SERVER
Затем вам будет предложено ввести пароль пользователя.
Предпосылки
Apache должен быть уже установлен и запущен на сервере. В противном случае вы можете скачать и установить его с помощью этой команды:
sudo pacman -S apache
Создание новых каталогов
Первым шагом в создании виртуального хоста является создание каталога для размещения информации о новом веб-сайте.
Давайте создадим два виртуальных хоста из терминала:
sudo mkdir /srv/http/test1.com
sudo mkdir /srv/http/test2.com
Вам нужно будет использовать реальный домен или IP-адрес, чтобы убедиться, что виртуальный хост работает. В этом уроке мы будем использовать test1.com и test2.com в качестве примера.
Создайте пробную страницу
Внутри каталога hosts нам нужно создать образец страницы, которая будет отображаться при посещении сайта.
sudo nano /srv/http/test1.com/index.html
Вставляем следующий текст для просмотра результата онлайн:
<html>
<head>
<title>test1.com</title>
</head>
<body>
<h1>Pagina di esempio: test1</h1>
</body>
</html>
Сохранить и выйти
Повторите те же шаги, чтобы создать страницу для второго домена, заменив домен2, где это необходимо.
sudo nano /srv/http/test2.com/index.html
Вставляем следующий текст для просмотра результата онлайн:
<html>
<head>
<title>test2.com</title>
</head>
<body>
<h1>Pagina di esempio: test2</h1>
</body>
</html>
Сохранить и выйти
Настроить виртуальные хосты
Давайте удостоверимся, что виртуальные хосты включены на нашем сервере. Откроем следующий файл apache:
sudo nano /etc/httpd/conf/httpd.conf
Проверим, что эта строка не закомментирована:
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
Сохранить и выйти
Чтобы получить доступ к файлу виртуального хоста внутри папки Apache, мы открываем следующий файл.
sudo nano /etc/httpd/conf/extra/httpd-vhosts.conf
Ваша установка должна выглядеть примерно так:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/srv/http/test1.com"
ServerName test1.com
ServerAlias www.test1.com
ErrorLog "/var/log/httpd/test1.com-error_log"
CustomLog "/var/log/httpd/test1.com-access_log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/srv/http/test2.com"
ServerName test2.com
ErrorLog "/var/log/httpd/test2.com-error_log"
CustomLog "/var/log/httpd/test2.com-access_log" common
</VirtualHost>
Наиболее важные разделы для настройки — Document Root, ServerName.
Корень документа относится к каталогу, содержащему файлы сервера. В случае с этим руководством укажите путь к файлу, который мы создали на первом шаге. Виртуальный хост не будет работать без корня документа. ServerName — это доменное имя сайта. Здесь вы можете указать, какой сайт должен обслуживать корень документа. Если вы хотите включить www перед именем сервера, вы можете включить его в строку «ServerAlias» в ServerName. После настройки виртуального хоста сохраните и закройте файл.
Убедитесь, что вы не допустили ошибок в файле, из терминала:
apachectl configtest
Перезапустите Апач
Перед перезапуском Apache, чтобы изменения вступили в силу, нам нужно ввести доменное имя в файле hosts. Если вы используете полные домены, введите имя домена после IP-адреса.
Откройте следующий файл:
sudo nano /etc/hosts
127.0.0.1 test1.com
127.0.0.1 test2.com
Если вы не используете полностью определенный домен, поместите имя, найденное в файле /etc/hostname, в конце правильной строки. Apache не будет перезапускаться без этого дополнения:
127.0.0.1 localhost.localdomain localhost myvps
После сохранения файла перезапустите apache:
sudo systemctl restart httpd
Локальные хосты (необязательно)
Если вы используете зарегистрированные доменные имена для виртуальных хостов или IP-адрес сервера, вы можете пропустить этот шаг, вам не нужно устанавливать локальные хосты. Ваши виртуальные хосты должны работать нормально. Однако, если вы хотите попробовать свои виртуальные хосты без необходимости подключения к реальному доменному имени, вы можете настроить их на своем компьютере.
Откройте следующий файл
sudo nano /etc/hosts
Добавьте доменное имя следующим образом:
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
#Virtual Hosts
12.34.56.789 test1.com
12.33.44.555 test2.com
Я рекомендую позже удалить эти адреса из файла hosts, чтобы избежать проблем.
Вывод
Когда вы закончите настройку своего виртуального хоста, вы сможете увидеть, как он выглядит в Интернете. Введите имя вашего сервера в адресную строку браузера (например, test1.com).
Настройка виртуальных хостов Apache в Archlinux завершена.