Как разместить несколько веб-сайтов на одном VPS от Masterhost

Поделитесь статьёй с друзьями


Я не большой специалист в UNIX серверах и уж тем более в настройках Web-серверов на UNIX. Но по долгу службы приходится с ними иметь общение. На днях для экспериментов приобрел VPS на Masterhost и решил для начала запустить нескольких сайтов на нём. Задача оказалась не сложной, но все равно я немного с ней помучался.

VPS; Hosting; Ubuntu; UNIX; Linux; Несколько сайтов; редактор VI: putty;
Самый простой VPS на Masterhost

Заказал я самый простой сервер на Ubuntu Linux 16.04. Разворачивал я его с предустановкой LAMP (Linux+Apache+MySQL+PHP) — т.е. с необходимым программным обеспечением для запуска своего Web-сервера.

После развертывания VPS сразу будет работать и Web-сервис. И даже по IP сервера будет открываться phpinfo() — файл index.php с вызовом этой функции будет лежать в папке /var/www/html/. Так что остается делом техники закинуть в папку нужный сайт и привязать доменное имя к этому VPS. но меня, как уже говорил, интересовала другая тема -я хочу разместить несколько сайтов на этом VPS.

Виртуальные хосты Apache дают возможность пользователям запускать несколько веб-сайтов с одного IP-адреса!
Если вдруг вы взяли сервер без LAMP, то для того, чтобы настроить виртуальные хосты в Apache для размещения нескольких доменов или поддоменов — потребуется сначала установить Apache. Для этого нужно авторизоваться на сервере по SSH протоколу и произвести все настройки там. Masterhost дает возможность подключиться к серверу через web-сессию, или через RDP, но я предпочитаю PuTTY:

VPS; Hosting; Ubuntu; UNIX; Linux; Несколько сайтов; редактор VI: putty;
PuTTY

Далее используются команды для Ubuntu. Для редактирования используется редактор vi. Прежде чем запускать редактор vi, если вы совсем новичок в Unix, то вам нужно знать несколько основных правил работы с этим редактором.

Команда типа

vi text.txt
VPS; Hosting; Ubuntu; UNIX; Linux; Несколько сайтов; редактор VI: putty;
Создаем файл text.txt

— создаст, если его нет, текстовый файл «text.txt» и откроет его пустое содержимое. Если же файл есть — он просто откроет содержимое. Для перехода к редактированию файла — нажмите клавишу «

i

Курсор изменит вид и можно будет вводить текст, или вставлять скопированный текст из буфера. После завершения редактирования файла нужно нажать клавишу Esc и ввести команду

:wq

— для закрытия файла с сохранением. Если вы не хотите сохранять содержимое — введите команду:

:q!

Этих знаний достаточно для дальнейшей настройки web-сервера.

Итак, для установки Apache (если еще не установлен):

apt-get update
apt-get install apache2

Далее нужно изменить основной файл конфигурации Apache (/etc/apache2/apache2.conf) — выполняем команду:

vi /etc/apache2/apache2.conf

и в файле нужно раскомментировать следующую строку:

IncludeOptional sites-enabled/*.conf

Кстати, т.к. у меня Apache был установлен в составе LAMP — в файле apache2.conf мне не пришлось ничего менять.

Теперь создадим 2 виртуальных хоста для, например, следующих двух доменов: pa1.ru и pa2.ru. Для этого в папке /etc/apache2/sites-available/ создадим 2 файла конфигурации.

Первый файл по команде:

vi /etc/apache2/sites-available/pa1.ru.conf

И вставим в него следующий код:

<VirtualHost *:80>
DocumentRoot /var/www/html-pa1.ru
ServerName pa1.ru
ServerAlias www.pa1.ru

<Directory /var/www/html-pa1.ru/>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all

</Directory>
ErrorLog /var/log/apache2/pa1.ru-error_log
CustomLog /var/log/apache2/pa1.ru-access_log common
</VirtualHost>

Второй файл по команде:

 vi /etc/apache2/sites-available/pa2.ru.conf.

И вставим следующий код во второй файл:

<VirtualHost *:80>
DocumentRoot /var/www/html-pa2.ru
ServerName pa2.ru
ServerAlias www.pa2.ru

</VirtualHost>

Теперь нужно активируйте конфигурации  pa1.ru.conf и pa2.ru.conf в Apache с помощью следующих команд:

ln -s /etc/apache2/sites-available/pa1.ru.conf /etc/apache2/sites-enabled/pa1.ru.conf
ln -s /etc/apache2/sites-available/pa2.conf /etc/apache2/sites-enabled/pa2.ru.conf

Обязательно нужно перезапустить сервис Apache, чтобы все новые конфигурации начали работать. Для этого запускаем команду:

service apache2 restart

Теперь нужно создать каталоги /var/www/html-pa1.ru и /var/www/html-pa2.ru, и загрузите свои веб-сайты в них.

Все файлы сайта должны быть доступны для чтения веб-сервером, поэтому нужно установить правильного владельца. Для этого выполним следующие команды:

chown www-data:www-data -R /var/www/html-p1.ru
chown www-data:www-data -R /var/www/html-p2.ru

Если Apache, как у меня, ставился в комплекте с LAMP, то нужно заблокировать стандартную конфигурацию в той же папке, куда мы создали новые для сайтов pa1.ru и pa2.ru. Для этого нужно выполнить следующую команду:

sudo a2dissite 000-default.conf

Конечно же, после этого необходимо перезапустить сервис Apache:

sudo service apache2 restart

После чего у меня заработали домены pa1.ru и pa2.ru — естественно у регистратора доменов должна быть прописана запись типа А, ссылающаяся на IP адрес вашего VPS.

Если у вас не удалось запустить сайты по вашим доменам — попробуйте ещё раз пройтись по инструкции сначала.

Удачи!



Поделитесь статьёй с друзьями

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *