Веб-сайт на LAMP- или LEMP-стеке

LAMP (Linux, Apache HTTP Server, MySQL, PHP) и его вариация LEMP (в которой веб-сервер Apache заменяется на Nginx) — популярные наборы компонентов для развертывания веб-приложений и динамических сайтов.

С помощью этой инструкции вы научитесь разворачивать LAMP в инфраструктуре Яндекс.Облака: в результате вы запустите виртуальную машину, на которой будет работать веб-сервер вашего сайта.

Чтобы настроить LAMP- или LEMP-сайт:

  1. Подготовьте облако к работе.
  2. Создайте виртуальную машину с предустановленным веб-сервером.
  3. Загрузите файлы веб-сайта.
  4. Настройте DNS.
  5. Проверьте работу сайта.

Если сайт вам больше не нужен, удалите все используемые им ресурсы.

Подготовьте облако к работе

Перед тем, как разворачивать сервер, нужно зарегистрироваться в Облаке и создать платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Облако или зарегистрируйтесь, если вы еще не зарегистрированы.
  2. На странице биллинга убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его.

Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша виртуальная машина, на странице облака.

Подробнее об облаках и каталогах.

В стоимость поддержки LAMP-сервера входит:

Создайте виртуальную машину с предустановленным веб-сервером

Чтобы создать виртуальную машину:

  1. На странице каталога в консоли управления нажмите кнопку Создать ресурс и выберите пункт Виртуальная машина.

  2. В поле Имя введите имя виртуальной машины — lamp-vm или lemp-vm.

    • Длина — от 3 до 63 символов.
    • Может содержать строчные буквы латинского алфавита, цифры и дефисы.
    • Первый символ — буква. Последний символ — не дефис.
  3. Выберите зону доступности, в которой должна находиться виртуальная машина. Если вы не знаете, какая зона доступности вам нужна, оставьте выбранную по умолчанию.

  4. В блоке Публичные образы нажмите кнопку Выбрать и выберите образ виртуальной машины с нужным набором компонентов:

    • LAMP для Linux, Apache, MySQL, PHP.
    • LEMP для Linux, Nginx, MySQL, PHP.

    LEMP рекомендуется использовать для статических сайтов.

  5. В блоке Вычислительные ресурсы:

    • Выберите платформу виртуальной машины.
    • Укажите необходимое количество vCPU и объем RAM.

    Для функционального тестирования сайта хватит минимальной конфигурации:

    • Платформа — Intel Cascade Lake.
    • Гарантированная доля vCPU — 5%.
    • vCPU — 2.
    • RAM — 1 ГБ.
  6. В блоке Сетевые настройки нужно выбрать сеть и подсеть, к которым нужно подключить виртуальную машину. Если нужной сети или подсети еще нет, вы можете создать их прямо на странице создания ВМ.

  7. В поле Публичный адрес оставьте значение Автоматически, чтобы назначить виртуальной машине случайный внешний IP-адрес из пула Яндекс.Облака, или выберите статический адрес из списка, если вы зарезервировали его заранее.

  8. Укажите данные для доступа на виртуальную машину:

    Предупреждение

    IP-адрес и имя хоста (FQDN) для подключения к машине назначатся ей при создании. Если вы выбрали вариант Без адреса в поле Публичный адрес, вы не сможете обращаться к ВМ из интернета.

  9. Нажмите кнопку Создать ВМ.

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

vm-running

Загрузите файлы веб-сайта

Чтобы проверить работу веб-сервера, загрузите на виртуальную машину файл index.html. Можно использовать тестовый файл, не забудьте только распаковать его.

  1. В блоке Сеть на странице виртуальной машины в консоли управления найдите публичный IP-адрес виртуальной машины.

  2. Подключитесь к виртуальной машине по протоколу SSH.

  3. Выдайте права на запись для вашего пользователя на директорию /var/www/html:

    $ sudo chown -R "$USER":www-data /var/www/html
    
    $ sudo chown -R "$USER":apache /var/www/html
    
  4. Загрузите на виртуальную машину файлы веб-сайта с помощью протокола SCP.

    Используйте утилиту командной строки 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-сервис, выполните:

  1. В блоке Сеть на странице виртуальной машины в консоли управления найдите публичный IP-адрес виртуальной машины.
  2. Войдите в панель управления внешнего DNS-сервиса. Перейдите в список ваших доменов и нажмите на имя нужного домена.
  3. Перейдите по ссылке Управление зоной в блоке Управление доменом.
  4. Создайте или отредактируйте A-запись:
    • IP Address — публичный IP-адрес вашей виртуальной машины.
    • Subdomain@ (указывает на основной домен).
  5. Создайте CNAME-запись со значениями полей:
    • Subdomainwww.
    • Canonical name@ или домен с точкой на концеexample.com..
  6. Подождите 15-20 минут, пока изменения DNS-записей вводятся в действие. Время ожидания может отличаться для вашего DNS-сервиса.

Проверьте работу сайта

Чтобы проверить работу сайта, откройте его адрес в браузере: http://<публичный IP-адрес виртуальной машины>.

Проверить работу доменного имени аналогичным образом можно будет только через 15-20 минут после того, как вы изменили DNS-записи.

Как удалить созданные ресурсы

Чтобы перестать платить за развернутый сервер, достаточно удалить виртуальную машину lamp-vm или lemp-vm.

Если вы зарезервировали статический публичный IP-адрес специально для этой ВМ:

  1. Откройте сервис Virtual Private Cloud в вашем каталоге.
  2. Перейдите на вкладку IP-адреса.
  3. Найдите нужный адрес, нажмите значок ellipsis и выберите пункт Удалить.