Веб-сайт на LAMP- или LEMP-стеке
LAMP (Linux, Apache HTTP Server, MySQL, PHP) и его вариация LEMP (в которой веб-сервер Apache заменяется на Nginx) — популярные наборы компонентов для развертывания веб-приложений и динамических сайтов.
С помощью этой инструкции вы научитесь разворачивать LAMP в инфраструктуре Yandex.Cloud: в результате вы запустите виртуальную машину, на которой будет работать веб-сервер вашего сайта.
Чтобы настроить LAMP- или LEMP-сайт:
- Подготовьте облако к работе.
- Создайте виртуальную машину с предустановленным веб-сервером.
- Загрузите файлы веб-сайта.
- Настройте DNS.
- Проверьте работу сайта.
Если сайт вам больше не нужен, удалите все используемые им ресурсы.
Подготовьте облако к работе
Перед тем, как разворачивать сервер, нужно зарегистрироваться в Yandex.Cloud и создать платежный аккаунт:
- Перейдите в консоль управления, затем войдите в Yandex.Cloud или зарегистрируйтесь, если вы еще не зарегистрированы.
- На странице биллинга убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе
ACTIVE
илиTRIAL_ACTIVE
. Если платежного аккаунта нет, создайте его.
Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша виртуальная машина, на странице облака.
Подробнее об облаках и каталогах.
Необходимые платные ресурсы
В стоимость поддержки LAMP-сервера входит:
- плата за постоянно запущенную виртуальную машину (см. тарифы Yandex Compute Cloud);
- плата за использование динамического или статического внешнего IP-адреса (см. тарифы Yandex Virtual Private Cloud).
Создайте виртуальную машину с предустановленным веб-сервером
Чтобы создать виртуальную машину:
-
На странице каталога в консоли управления нажмите кнопку Создать ресурс и выберите пункт Виртуальная машина.
-
В поле Имя введите имя виртуальной машины —
lamp-vm
илиlemp-vm
.- Длина — от 3 до 63 символов.
- Может содержать строчные буквы латинского алфавита, цифры и дефисы.
- Первый символ — буква. Последний символ — не дефис.
-
Выберите зону доступности, в которой должна находиться виртуальная машина. Если вы не знаете, какая зона доступности вам нужна, оставьте выбранную по умолчанию.
-
В блоке Образы из Cloud Marketplace нажмите кнопку Выбрать и выберите образ виртуальной машины с нужным набором компонентов:
- LAMP для Linux, Apache, MySQL, PHP.
- LEMP для Linux, Nginx, MySQL, PHP.
LEMP рекомендуется использовать для статических сайтов.
-
В блоке Вычислительные ресурсы:
- Выберите платформу виртуальной машины.
- Укажите необходимое количество vCPU и объем RAM.
Для функционального тестирования сайта хватит минимальной конфигурации:
- Платформа — Intel Cascade Lake.
- Гарантированная доля vCPU — 5%.
- vCPU — 2.
- RAM — 1 ГБ.
-
В блоке Сетевые настройки нужно выбрать сеть и подсеть, к которым нужно подключить виртуальную машину. Если нужной сети или подсети еще нет, вы можете создать их прямо на странице создания ВМ.
-
В поле Публичный адрес оставьте значение Автоматически, чтобы назначить виртуальной машине случайный внешний IP-адрес из пула Yandex.Cloud, или выберите статический адрес из списка, если вы зарезервировали его заранее.
-
Укажите данные для доступа на виртуальную машину:
-
В поле Логин введите имя пользователя.
-
В поле SSH-ключ вставьте содержимое файла открытого ключа.
Пару ключей для подключения по SSH необходимо создать самостоятельно, см. раздел о подключении к виртуальным машинам по SSH.
Внимание
IP-адрес и имя хоста (FQDN) для подключения к машине назначатся ей при создании. Если вы выбрали вариант Без адреса в поле Публичный адрес, вы не сможете обращаться к ВМ из интернета.
-
-
Нажмите кнопку Создать ВМ.
Создание виртуальной машины может занять несколько минут. Когда виртуальная машина перейдет в статус RUNNING
, вы можете загрузить на нее файлы веб-сайта.
Загрузите файлы веб-сайта
Чтобы проверить работу веб-сервера, загрузите на виртуальную машину файл index.html
. Можно использовать тестовый файл, не забудьте только распаковать его.
-
В блоке Сеть на странице виртуальной машины в консоли управления найдите публичный IP-адрес виртуальной машины.
-
Подключитесь к виртуальной машине по протоколу SSH.
-
Выдайте права на запись для вашего пользователя на директорию
/var/www/html
:UbuntuCentOS$ sudo chown -R "$USER":www-data /var/www/html
$ sudo chown -R "$USER":apache /var/www/html
-
Загрузите на виртуальную машину файлы веб-сайта с помощью протокола SCP.
Linux/macOSWindowsИспользуйте утилиту командной строки
scp
:$ scp -r <путь до директории с файлами> <имя пользователя ВМ>@<IP-адрес виртуальной машины>:/var/www/html
С помощью программы WinSCP скопируйте локальную директорию с файлами в директорию
/var/www/html
на виртуальной машине.
Настройте DNS (если есть доменное имя)
Если вы хотите связать какое-то доменное имя с развернутым сервером, отредактируйте DNS-записи вашего домена.
В инструкции ниже описана настройка внешнего DNS-сервиса на примере reg.ru для доменных имен www.example.com
и example.com
:
- Запись типа A позволяет сопоставить доменному имени
example.com
его IP-адрес. - Запись типа CNAME (Canonical Name — каноническое имя) для
www
позволит получить доступ к вашему веб-сайту через адресwww.example.ru
.
Чтобы настроить внешний DNS-сервис, выполните:
- В блоке Сеть на странице виртуальной машины в консоли управления найдите публичный IP-адрес виртуальной машины.
- Войдите в панель управления внешнего DNS-сервиса. Перейдите в список ваших доменов и нажмите на имя нужного домена.
- Перейдите по ссылке Управление зоной в блоке Управление доменом.
- Создайте или отредактируйте A-запись:
- IP Address — публичный IP-адрес вашей виртуальной машины.
- Subdomain —
@
(указывает на основной домен).
- Создайте CNAME-запись со значениями полей:
- Subdomain —
www
. - Canonical name —
@
или домен с точкой на концеexample.com.
.
- Subdomain —
- Подождите 15-20 минут, пока изменения DNS-записей вводятся в действие. Время ожидания может отличаться для вашего DNS-сервиса.
Проверьте работу сайта
Чтобы проверить работу сайта, откройте его адрес в браузере: http://<публичный IP-адрес виртуальной машины>
.
Проверить работу доменного имени аналогичным образом можно будет только через 15-20 минут после того, как вы изменили DNS-записи.
Как удалить созданные ресурсы
Чтобы перестать платить за развернутый сервер, достаточно удалить виртуальную машину lamp-vm
или lemp-vm
.
Если вы зарезервировали статический публичный IP-адрес специально для этой ВМ:
- Откройте сервис Virtual Private Cloud в вашем каталоге.
- Перейдите на вкладку IP-адреса.
- Найдите нужный адрес, нажмите значок и выберите пункт Удалить.