Главная

Как разместить нескольких сайтов на одном сервере под Ubuntu 18.04

Содержание

Достоинством использования Ubuntu 18.04 и Apache является возможность размещения нескольких сайтов на одном сервере. Это очень выгодно, потому что можно использовать один сервер для всех своих доменов.

Эта особенность называется виртуальным хостингом. Например, она нужна для того, чтобы разместить домены example.com и test.com на одном публичном IP-адресе.

Виртуальный узел Apache направляет пользователей в разные папки, где хранятся файлы каждого домена. При открытии сайта пользователь не видит, что на этом сервере размещены другие виртуальные узлы.

Количество сайтов, которые можно разместить на сервере под Ubuntu 18.04, ограничивается лишь местом на диске и пропускной способностью канала.

В этом руководстве мы опишем процесс настройки для размещения 2-х различных сайтов на одном сервере под 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

После добавления виртуального сервера на 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 прост и  удобен: можно не переплачивать за отдельные виртуальные сервера.

Оценить эту страницу
0
Средняя: 5 (2 оценок)

Еще полезные статьи