Сайт на LAMP- или LEMP-стеке с помощью консоли управления
Чтобы создать инфраструктуру для сайта на LAMP- или LEMP-стеке с помощью консоли управления Yandex Cloud:
- Подготовьте облако к работе.
- Создайте облачную сеть и подсети.
- Создайте группу безопасности.
- Создайте ВМ с предустановленным веб-сервером.
- Загрузите файлы сайта.
- Настройте DNS.
- Проверьте работу сайта.
В качестве примера используется доменное имя example.com
.
Если созданные ресурсы вам больше не нужны, удалите их.
Подготовьте облако к работе
Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:
- Перейдите в консоль управления
, затем войдите в Yandex Cloud или зарегистрируйтесь. - На странице Yandex Cloud Billing
убедитесь, что у вас подключен платежный аккаунт, и он находится в статусеACTIVE
илиTRIAL_ACTIVE
. Если платежного аккаунта нет, создайте его и привяжите к нему облако.
Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака
Подробнее об облаках и каталогах.
Необходимые платные ресурсы
В стоимость поддержки инфраструктуры для сайта входят:
- плата за постоянно запущенную ВМ (см. тарифы Yandex Compute Cloud);
- плата за использование публичного IP-адреса (см. тарифы Yandex Virtual Private Cloud);
- плата за публичные DNS-запросы и зоны DNS, если вы используете Yandex Cloud DNS (см. тарифы Cloud DNS).
Создайте облачную сеть и подсети
Все ресурсы, созданные в сценарии, будут относиться к одной облачной сети.
Чтобы создать сеть и подсети:
- В консоли управления
выберите сервис Virtual Private Cloud. - Нажмите кнопку Создать сеть.
- Укажите Имя сети:
web-network
. - В поле Дополнительно выберите опцию Создать подсети.
- Нажмите кнопку Создать сеть.
Создайте группу безопасности
Группы безопасности содержат правила, которые разрешают обращаться к ВМ из интернета. Далее будет создана группа безопасности sg-web
.
Чтобы создать группу безопасности:
- В консоли управления
выберите сервис Virtual Private Cloud. - Откройте вкладку Группы безопасности.
- Создайте группу безопасности для ВМ:
-
Нажмите кнопку Создать группу.
-
Укажите Имя группы:
sg-web
. -
Выберите Сеть
web-network
. -
В блоке Правила создайте следующие правила по инструкции под таблицей:
Направление
трафикаОписание Диапазон портов Протокол Источник /
назначениеCIDR блоки Исходящий
any
Весь
Любой
CIDR
0.0.0.0/0
Входящий
ext-http
80
TCP
CIDR
0.0.0.0/0
Входящий
ext-https
443
TCP
CIDR
0.0.0.0/0
- Выберите вкладку Исходящий трафик или Входящий трафик.
- Нажмите кнопку Добавить правило.
- В открывшемся окне в поле Диапазон портов укажите один порт или диапазон портов, куда или откуда будет поступать трафик.
- В поле Протокол укажите нужный протокол или оставьте Любой, чтобы разрешить передачу трафика по всем протоколам.
- В поле Назначение или Источник выберите назначение правила:
- CIDR — правило будет применено к диапазону IP-адресов. В поле CIDR блоки укажите CIDR и маски подсетей, в которые или из которых будет поступать трафик. Чтобы добавить несколько CIDR, нажимайте кнопку Добавить CIDR.
- Группа безопасности — правило будет применено к ВМ из текущей группы или из выбранной группы безопасности.
- Нажмите кнопку Сохранить. Таким образом создайте все правила из таблицы.
-
Нажмите кнопку Сохранить.
-
Создайте ВМ с предустановленным веб-сервером
-
На странице каталога в консоли управления
нажмите кнопку Создать ресурс и выберитеВиртуальная машина
. -
В блоке Образ загрузочного диска в поле Поиск продукта введите
LAMP
илиLEMP
и выберите образ ВМ с нужным набором компонентов: -
В блоке Расположение выберите зону доступности, в которой будет создана ВМ. Если вы не знаете, какая зона доступности вам нужна, оставьте выбранную по умолчанию.
-
В блоке Вычислительные ресурсы перейдите на вкладку
Своя конфигурация
и укажите необходимую платформу, количество vCPU и объем RAM. Для функционального тестирования сайта будет достаточно минимальной конфигурации:- Платформа —
Intel Ice Lake
. - vCPU —
2
. - Гарантированная доля vCPU —
20%
. - RAM —
1 ГБ
.
- Платформа —
-
В блоке Сетевые настройки:
- В поле Подсеть выберите сеть
web-network
и подсеть, в которой будет создана ВМ. - В поле Публичный адрес оставьте значение
Автоматически
, чтобы назначить ВМ случайный внешний IP-адрес из пула Yandex Cloud, или выберите статический адрес из списка, если вы зарезервировали его заранее.
- В поле Подсеть выберите сеть
-
В блоке Доступ выберите вариант SSH-ключ и укажите данные для доступа на ВМ:
-
В поле Логин введите имя пользователя. Не используйте имя
root
или другие имена, зарезервированные ОС. Для выполнения операций, требующих прав суперпользователя, используйте командуsudo
. -
В поле SSH-ключ выберите SSH-ключ, сохраненный в вашем профиле пользователя организации.
Если в вашем профиле нет сохраненных SSH-ключей или вы хотите добавить новый ключ:
- Нажмите кнопку Добавить ключ.
- Задайте имя SSH-ключа.
- Загрузите или вставьте содержимое открытого SSH-ключа. Пару SSH-ключей для подключения к ВМ по SSH необходимо создать самостоятельно.
- Нажмите кнопку Добавить.
SSH-ключ будет добавлен в ваш профиль пользователя организации.
Если в организации отключена возможность добавления пользователями SSH-ключей в свои профили, добавленный открытый SSH-ключ будет сохранен только в профиле пользователя создаваемой виртуальной машины.
-
-
В блоке Общая информация задайте имя ВМ:
lamp-vm
илиlemp-vm
. Требования к имени:- длина — от 3 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
Нажмите кнопку Создать ВМ.
Внимание
IP-адрес и имя хоста (FQDN) для подключения к ВМ назначается ей при создании. Если в поле Публичный адрес вы выбрали вариант
Без адреса
, вы не сможете обращаться к ВМ из интернета. -
Нажмите кнопку Создать ВМ.
Создание ВМ может занять несколько минут. Когда ВМ перейдет в статус
RUNNING
, вы можете загрузить на нее файлы сайта.
Загрузите файлы сайта
Чтобы проверить работу веб-сервера, загрузите на ВМ файл index.html
. Можно использовать тестовый файл
-
В блоке Сеть на странице ВМ в консоли управления
найдите публичный IP-адрес ВМ. -
Подключитесь к ВМ по протоколу SSH.
-
Выдайте права на запись для вашего пользователя на директорию
/var/www/html
:sudo chown -R "$USER":www-data /var/www/html
-
Загрузите на ВМ файлы сайта с помощью протокола SCP
.Linux/macOSWindowsИспользуйте утилиту командной строки
scp
:scp -r <путь_до_директории_с_файлами> <имя_пользователя_ВМ>@<IP-адрес_ВМ>:/var/www/html
С помощью программы WinSCP
скопируйте локальную директорию с файлами в директорию/var/www/html
на ВМ.
Настройте DNS
Если у вас есть зарегистрированное доменное имя, воспользуйтесь сервисом Cloud DNS для управления доменом.
Далее описана настройка DNS для доменного имени example.com
. Доменное имя example.com
должно быть связано с IP-адресом ВМ с помощью записей DNS. Чтобы это сделать:
-
В консоли управления
выберите сервис Compute Cloud. -
Скопируйте IP-адрес созданной ВМ.
-
На сайте компании, которая предоставляет вам услуги DNS-хостинга, перейдите в настройки DNS.
-
Создайте или измените A-запись для
example.com
таким образом, чтобы она указывала на скопированный IP-адрес:example.com. A <IP-адрес_ВМ>
-
Создайте CNAME с именем
www
и значениемexample.com
.Если вы пользуетесь Yandex Cloud DNS, настройте запись по следующей инструкции:
Инструкция по настройке DNS-записей для Cloud DNS
- В консоли управления
выберите сервис Cloud DNS. - Если у вас нет публичной зоны DNS, создайте ее:
- Нажмите кнопку Создать зону.
- Укажите Имя зоны:
example-zone-1
. - В поле Зона укажите доменное имя сайта с точкой в конце:
example.com.
- Выберите Тип зоны —
Публичная
. - Нажмите кнопку Создать.
- Создайте запись типа А:
- В списке зон нажмите на зону
example-zone-1
. - Нажмите кнопку Создать запись.
- Поле Имя оставьте пустым, чтобы запись соответствовала доменному имени
example.com
(а не имени с субдоменом, напримерwww.example.com
). - Выберите Тип записи —
A
. - В поле Значение вставьте скопированный IP-адрес ВМ.
- Нажмите кнопку Создать.
- В списке зон нажмите на зону
- Создайте запись типа CNAME:
- Выберите зону DNS
example.com
из списка. - Нажмите кнопку Создать запись.
- Задайте параметры записи:
- Имя:
www
. - Тип записи: выберите значение
CNAME
. - TTL (время кэширования записи): оставьте значение по умолчанию.
- Значение: введите
example.com
.
- Имя:
- Нажмите кнопку Создать.
- Выберите зону DNS
- В консоли управления
Делегируйте доменное имя
Делегирование — это перенос ответственности с серверов регистратора на ваши серверы. Для домена создаются ресурсные записи типа NS (ns1.yandexcloud.net
и ns2.yandexcloud.net
).
Чтобы делегировать домен, укажите для него DNS-серверы в личном кабинете регистратора.
Делегирование происходит не сразу. Серверы интернет-провайдеров обычно обновляют записи до 24 часов (86 400 секунд). Это обусловлено значением TTL, в течение которого кэшируются записи для доменов.
Проверить делегирование домена можно с помощью сервиса Whoisdig
:
dig +short NS example.com
Результат:
ns2.yandexcloud.net.
ns1.yandexcloud.net.
Проверьте работу сайта
Чтобы проверить работу сайта, введите в браузере его IP-адрес или доменное имя:
http://<публичный_IP-адрес_ВМ>
.http://www.example.com
.
Как удалить созданные ресурсы
Чтобы перестать платить за созданные ресурсы: