Виртуальный хостинг — это метод размещения нескольких доменных имен на одном сервере. Существует два типа виртуального хостинга: «Виртуальный хостинг на основе имени» и «Виртуальный хостинг на основе IP». Благодаря виртуальному хостингу на основе имени вы можете разместить несколько веб-сайтов на одном компьютере с одним IP-адресом.
Здесь мы собираемся разместить два веб-сайта, а именно «www.virtualhost1.com» и «www.virtualhost2.com», на одном IP-адресе «192.168.1.227» на веб-сервере Apache, самом популярном веб-сервере. в мире.
Примечание: хотя в этом руководстве используется сервер Ubuntu 14.04, инструкции будут аналогичны для большинства дистрибутивов Linux.
Начало работы: установка Apache
Сначала вам необходимо обновить систему, а затем установить Apache.
Для этого выполните следующую команду:
sudo apt-get update sudo apt-get install apache2
Чтобы проверить, работает ли веб-сервер, откройте веб-браузер и перейдите по URL-адресу http://192.168.1.227/ (при условии, что IP-адрес вашего сервера — 192.168.1.227).
Вы должны увидеть, чт
Contents
Начало работы: установка Apache
g decoding="async" src="https://saintist.ru/wp-content/uploads/2024/05/Apache-testing.jpg" alt="Тестовая страница Apache">Создание виртуальных каталогов
Во-первых, вам необходимо создать структуру каталогов, в которой будут храниться данные веб-сайта, которые мы будем предоставлять клиентам.
Создайте два каталога для веб-сайтов «www.virtualhost1.com» и «www.virtualhost2.com».
sudo mkdir -p /var/www/html/www.virtualhost1.com sudo mkdir -p /var/www/html/www.virtualhost2.com
Примечание. Папка по умолчанию для размещения файлов — «/var/www/html». Тем, кто использует альтернативный путь к файлу, придется соответствующим образом изменить приведенный выше код.
Теперь вам нужно создать файл index.html для обоих веб-сайтов. Это будет обслуживаться веб-сервером Apache.
Создание виртуальных каталогов
ртуального хоста «www.virtualhost1.com»:sudo nano /var/www/html/www.virtualhost1.com/index.html
Добавьте следующий контент:
<html> <head> <title>www.virtualhost1.com</title> </head> <body> <h1>Welcome To www.virtualhost1.com website</h1> </body> </html>
Сохраните и закройте файл.
Аналогичным образом создайте файл index.html для виртуального хоста «www.virtualhost2.com»:
sudo nano /var/www/html/www.virtualhost2.com/index.html
Добавьте следующий контент:
<html> <head> <title>www.virtualhost2.com</title> </head> <body> <h1>Welcome To www.virtualhost2.com website</h1> </body> </html>
Сохраните и закройте файл.
Настройка прав собственности и разрешений
По умолчанию служба Apache работает в Ubuntu как пользователь «www-data». Оба виртуальных каталога, которые мы создали ранее, принадлежат пользователю root. Вам необходимо изменить владельца этих двух виртуальных каталогов на «www-data», чтобы Apache мог читать и записывать данные.
Для этого запустите
sudo chown -R www-data:www-data /var/www/html/www.virtualhost1.com/ sudo chown -R www-data:www-data /var/www/html/www.virtualhost2.com/
Кроме того, вам необходимо сделать корневой веб-каталог Apache (/var/www/html) общедоступным, чтобы каждый мог читать файлы из этого каталога.
sudo chmod -R 755 /var/www/html
<
Создать файлы виртуального хоста:
По умолчанию Apache поставляется с файлом виртуального хоста по умолчанию под названием «000-default.conf». Сначала вам необходимо отключить этот файл виртуального хоста.
Для этого выполните следующую команду:
sudo a2dissite 000-default.conf
Теперь создайте файл виртуального хоста «www.virtualhost1.com.conf» для виртуального хоста «www.virtualhost1.com».
Настройка прав собственности и разрешений
/etc/apache2/sites-available/www.virtualhost1.com.confДобавьте следующий контент:
<VirtualHost *:80> ServerAdmin admin@virtualhost1.com ServerName www.virtualhost1.com DocumentRoot /var/www/html/www.virtualhost1.com ErrorLog ${APACHE_LOG_DIR}/www.virtualhost1.com_error.log CustomLog ${APACHE_LOG_DIR}/www.virtualhost1.com_access.log combined </VirtualHost>
Сохраните и закройте файл.
Аналогично создайте файл виртуального хоста «www.virtualhost2.com.conf» для виртуального хоста «www.virtualhost2.com».
sudo nano /etc/apache2/sites-available/www.virtualhost2.com.conf
Добавьте следующий контент:
<VirtualHost *:80> ServerAdmin admin@virtualhost2.com ServerName www.virtualhost2.com DocumentRoot /var/www/html/www.virtualhost2.com ErrorLog ${APACHEСоздать файлы виртуального хоста:
ost2.com_error.log CustomLog ${APACHE_LOG_DIR}/www.virtualhost2.com_access.log combined </VirtualHost>
Сохраните и закройте файл.
После создания файлов виртуального хоста вам необходимо включить новый виртуальный хост.
Вы можете сделать это, запустив
sudo a2ensite www.virtualhost1.com.conf sudo a2ensite www.virtualhost2.com.conf
И наконец, перезапустите службу Apache.
sudo /etc/init.d/apache2 restart
Тестирование виртуальных хостов:
Вам необходимо добавить запись хоста в каждую удаленную или локальную систему, чтобы разрешить веб-сайт по имени.
Вы можете сделать это, отредактировав файл «/etc/hosts».
sudo nano /etc/hosts
Добавьте следующие строки:
192.168.1.227 www.virtualhost1.com 192.168.1.227 www.virtualhost2.com
Сохраните и закройте файл.
Откройте веб-браузер и перейдите по URL-адресам «http://www.virtualhost1.com» и «http://www.virtualhost2.com».
Вы должны увидеть примеры демонстрационных страниц, которые мы создали ранее.
Демонстрационная страница www.virtualhost1.com:
Демонстрационная страница www.virtualhost2.com:
Заключение
Надеюсь, этот пост поможет вам настроить виртуальный хост в Ubuntu. Ограничений на количество виртуальных хостов, которые может обрабатывать Apache, нет, поэтому вы можете создавать и размещать столько веб-сайтов, сколько захотите.