Как установить виртуальные хосты Apache на Archlinux

12 set 2022 3 min di lettura
Как установить виртуальные хосты Apache на Archlinux
Indice dei contenuti

Введение

Виртуальные хосты используются для запуска более одного домена на одном 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 завершена.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.