Преимущество использования Ubuntu 18.04 (или более свежих версий) совместно с Apache заключается в возможности хостинга нескольких сайтов на одном сервере. Это экономически выгодно, так как позволяет управлять всеми вашими доменами с одного сервера. Такой подход называется виртуальным хостингом.
Например, он позволяет разместить домены, такие как example.com и test.com, на едином публичном IP-адресе. Apache распределяет пользователей по различным папкам, в которых хранятся файлы каждого из доменов. При посещении сайта пользователь не замечает, что на сервере находятся и другие виртуальные узлы. Количество сайтов, которые можно разместить на сервере с Ubuntu 18.04, ограничивается только доступным дисковым пространством и пропускной способностью сети.
В этом руководстве мы расскажем, как настроить сервер для размещения двух различных сайтов на одном сервере под управлением Ubuntu 18.04 VPS.
Что потребуется:
- Ubuntu 18.04 VPS
- Стандартный пользователь с возможностью выполнения sudo-команд
- Веб-сервер Apache
Установка Apache2
Для установки Apache необходимо выполнить следующую команду:
$ sudo apt-get install apache2 В качестве примера мы будем использовать вымышленные домены example.com и test.com. В этом руководстве также будет объяснено, как отредактировать файл hosts на вашем компьютере для проверки работы виртуальных хостов.
Создание каталогов
Сначала необходимо организовать структуру каталогов для новых веб-сайтов. Apache использует основной каталог /var/www, где находятся все сайты. Создадим две директории для наших новых доменов. Для этого введите в терминале следующие команды:
$ sudo mkdir -p /var/www/test.com/public_html
$ sudo mkdir -p /var/www/example.com/public_html Изменение владельца каталогов
Права на редактирование содержимого в каталогах принадлежат системному пользователю root. Для разрешения доступа в каталог текущего пользователя необходимо воспользоваться командой chown:
$ sudo chown -R $USER:$USER /var/www/example.com/public_html
$ sudo chown -R $USER:$USER /var/www/test.com/public_html Изменение прав доступа к файлам
Для того чтобы сайты были доступны пользователям в браузере, необходимо дать права на чтение файлов в этих каталогах.
Для этого необходимо выполнить команду:
$ sudo chmod -R 755 /var/www Создание контента для каждого виртуального узла
Теперь структура каталогов и доступ к файлам настроены. Создадим index.html для каждого веб-сайта, используя nano редактор:
Для домена test.com:
$ sudo nano /var/www/test.com/public_html/index.html Скопируйте текст в редактор
<html>
<body>
This is our test.com website
</body>
</html> Для домена example.com:
$ sudo nano /var/www/example.com/public_html/index.html Скопируйте в редактор в текст
<html>
<body>
This is our example.com website
</body>
</html> Не забывайте закрывать и сохранять каждый файл, нажимая CTR+X и Y.
Создание файлов конфигурации для новых сайтов
При установке Apache на Ubuntu 18.04 по умолчанию создается файл конфигурации. Найти его можно здесь:
/etc/apache2/sites-available/000-default.conf Для создания нового файла конфигурации можно использовать уже имеющийся. Чтобы сделать его копию, выполните команду ниже:
$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/test.com.conf
$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf Файлы конфигурации Apache должны иметь расширение ".config".
После этого откроем в редакторе наши файлы. Для этого будем использовать команду:
$ sudo nano /etc/apache2/sites-available/test.com.conf Отредактируем файл следующим образом:
<VirtualHost *:80>
ServerAdmin admin@test.com
ServerName test.com
ServerAlias www.test.com
DocumentRoot /var/www/test.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost> Выше мы указали каталог /var/www/test.com/public_html, потому что все файлы сайта test.com будут размещены в нем.
Повторим операцию для второго сайта example.com
$ sudo nano /etc/apache2/sites-available/example.com.conf В конфигурационном файле укажем следующее:
<VirtualHost *:80>
ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost> Добавление виртуальных хостов
Мы создали конфигурационные файлы для виртуальных хостов. Теперь их нужно включить:
$ sudo a2ensite test.com.conf
$ sudo a2ensite example.com.conf Проверка и мониторинг работы виртуальных хостов
После включения виртуальных хостов убедитесь, что они корректно работают. Для этого можно использовать команду проверки конфигурации Apache:
$ sudo apache2ctl configtest Если команда возвращает "Syntax OK", значит, конфигурация верна.
Чтобы отслеживать возможные ошибки и поведение серверов, регулярно проверяйте журналы:
Журнал ошибок: /var/log/apache2/error.log
Журнал доступа: /var/log/apache2/access.log
Эти файлы помогут выявить проблемы и оптимизировать производительность.
Перезапуск Apache
После добавления виртуального сервера на Ubuntu 18.04 необходимо перезапустить Apache:
$ sudo service apache2 restart Изменение локального файла hosts
Наши виртуальные хосты настроены. Для проверки вымышленных адресов нам необходимо отредактировать файл hosts на локальном компьютере (НЕ на сервере!).
Это позволит компьютеру обратиться к правильному публичному IP-адресу сервера. Предположим, что публичный IP-адрес сервера xxx.xxx.xxx.xxx, поэтому на нашем компьютере нужно будет отредактировать файл hosts следующим образом:
xxx.xxx.xxx.xxx example.com
xxx.xxx.xxx.xxx test.com Если Вы используете ПК под Linux, необходимо отредактировать файл /etc/hosts с помощью команды:
$ sudo nano /etc/hosts Внесите в него изменения и сохраните.
Если на компьютере установлена ОС Windows, отредактируйте файл c:\windows\system32\drivers\etc\hosts, используя текстовый редактор (блокнот).
Не забудьте заменить xxx.xxx.xxx.xxx на публичный IP-адрес Вашего сервера.
Проверка новых сайтов в браузере
Теперь нужно проверить сайты example.com и test.com в браузере. Если все выполнено по инструкции, то в браузере Вы должны увидеть следующее:
test.com
This is our test.com website example.com
This is our example.com website Заключение
Хостинг нескольких сайтов на одном сервере под Ubuntu 18.04 прост и удобен: можно не переплачивать за отдельные виртуальные сервера.
С виртуальным хостингом вы получаете мощные инструменты для управления вашим сайтом, а мы поможем сделать выбор!




