[Документация Yandex Cloud](../../../index.md) > [Yandex Managed Service for MySQL®](../../index.md) > [Практические руководства](../index.md) > [Интернет-магазин на платформе OpenCart](index.md) > Консоль управления

# Создание интернет-магазина на платформе OpenCart с помощью консоли управления

Чтобы создать инфраструктуру для [интернет-магазина на платформе OpenCart](index.md) с помощью консоли управления Yandex Cloud:

1. [Подготовьте облако к работе](#before-you-begin).
1. [Создайте ВМ с платформой OpenCart](#create-vm).
1. [(опционально) Создайте кластер БД MySQL®](#create-mysql).
1. [Настройте OpenCart](#configure-opencart).

Если созданные ресурсы вам больше не нужны, [удалите их](#clear-out).

{% note info %}

В [регионе Казахстан](../../../overview/concepts/region.md) доступна только [зона доступности](../../../overview/concepts/geo-scope.md) `kz1-a`.

{% endnote %}

## Подготовьте облако к работе {#before-you-begin}

Зарегистрируйтесь в Yandex Cloud и создайте [платежный аккаунт](../../../billing/concepts/billing-account.md):
1. Перейдите в [консоль управления](https://kz.console.yandex.cloud), затем войдите в Yandex Cloud или зарегистрируйтесь.
1. На странице **[Yandex Cloud Billing](https://kz.console.yandex.cloud/billing)** убедитесь, что у вас подключен платежный аккаунт, и он находится в [статусе](../../../billing/concepts/billing-account-statuses.md) `ACTIVE` или `TRIAL_ACTIVE`. Если платежного аккаунта нет, [создайте его](../../../billing/quickstart/index.md) и [привяжите](../../../billing/operations/pin-cloud.md) к нему облако.

Если у вас есть активный платежный аккаунт, вы можете создать или выбрать [каталог](../../../resource-manager/concepts/resources-hierarchy.md#folder), в котором будет работать ваша инфраструктура, на [странице облака](https://kz.console.yandex.cloud/cloud).

[Подробнее об облаках и каталогах](../../../resource-manager/concepts/resources-hierarchy.md).

### Необходимые платные ресурсы {#paid-resources}

* Виртуальная машина: использование вычислительных ресурсов, хранилища, публичного IP-адреса и операционной системы ([тарифы Compute Cloud](../../../compute/pricing.md)).
* Кластер Managed Service for MySQL®, если он создан для поддержки и обслуживания СУБД: выделенные хостам вычислительные ресурсы, объем хранилища и резервных копий ([тарифы Managed Service for MySQL®](../../pricing.md)).
* Публичные IP-адреса, если для хостов кластера включен публичный доступ ([тарифы Virtual Private Cloud](../../../vpc/pricing.md)).

## Создайте ВМ с платформой OpenCart {#create-vm}

На загрузочном диске ВМ будет предустановлена платформа OpenCart и необходимые для ее работы компоненты, включая PHP и MySQL®.

Чтобы создать ВМ:

{% list tabs %}

- Консоль управления

  1. В [консоли управления](https://kz.console.yandex.cloud) выберите [каталог](../../../resource-manager/concepts/resources-hierarchy.md#folder), в котором будет создана ВМ.
  1. Перейдите в сервис **Compute Cloud**.
  1. На панели слева выберите ![image](../../../_assets/console-icons/server.svg) **Виртуальные машины**.
  1. Нажмите кнопку **Создать виртуальную машину**.
  1. В блоке **Образ загрузочного диска** в поле **Поиск продукта** введите `OpenCart` и выберите публичный образ OpenCart.
  1. В блоке **Расположение** выберите [зону доступности](../../../overview/concepts/geo-scope.md), в которой будет находиться ВМ.
  1. В блоке **Диски и файловые хранилища** настройте загрузочный [диск](../../../compute/concepts/disk.md):

      * Выберите [тип диска](../../../compute/concepts/disk.md#disks_types) `SSD`.
      * Задайте размер диска `13 ГБ`.

  1. В блоке **Вычислительные ресурсы** перейдите на вкладку `Своя конфигурация` и укажите необходимую [платформу](../../../compute/concepts/vm-platforms.md), количество vCPU и объем RAM:

      * **Платформа** — `Intel Ice Lake`.
      * **vCPU** — `2`.
      * **Гарантированная доля vCPU** — `20%`.
      * **RAM** — `4 ГБ`.

  1. В блоке **Сетевые настройки**:

      * В поле **Подсеть** укажите идентификатор подсети в зоне доступности создаваемой ВМ или выберите [облачную сеть](../../../vpc/concepts/network.md#network) из списка.

          * У каждой сети должна быть как минимум одна [подсеть](../../../vpc/concepts/network.md#subnet). Если подсети нет, создайте ее, выбрав **Создать подсеть**.
          * Если сети нет, нажмите **Создать сеть** и создайте ее:

              * В открывшемся окне укажите имя сети и выберите каталог, в котором она будет создана.
              * (Опционально) Выберите опцию **Создать подсети**, чтобы автоматически создать подсети во всех зонах доступности.
              * Нажмите **Создать сеть**.

      * В поле **Публичный IP-адрес** выберите `Автоматически`, чтобы назначить случайный IP-адрес из пула адресов Yandex Cloud, или выберите статический адрес из списка, если вы зарезервировали его заранее.

    1. В блоке **Доступ** выберите вариант **SSH-ключ** и укажите данные для доступа к ВМ:

        * В поле **Логин** введите предпочтительное имя пользователя, который будет создан на ВМ, например, `ubuntu`.
        * В поле **SSH-ключ** выберите SSH-ключ, сохраненный в вашем профиле [пользователя организации](../../../organization/concepts/membership.md).
          
          Если в вашем профиле нет сохраненных SSH-ключей или вы хотите добавить новый ключ:
          
          1. Нажмите кнопку **Добавить ключ**.
          1. Задайте имя SSH-ключа.
          1. Выберите вариант:
          
              * `Ввести вручную` — вставьте содержимое открытого [SSH](../../../glossary/ssh-keygen.md)-ключа. Пару SSH-ключей необходимо [создать](../../../compute/operations/vm-connect/ssh.md#creating-ssh-keys) самостоятельно.
              * `Загрузить из файла` — загрузите открытую часть SSH-ключа. Пару SSH-ключей необходимо создать самостоятельно.
              * `Сгенерировать ключ` — автоматическое создание пары SSH-ключей.
              
                При добавлении сгенерированного SSH-ключа будет создан и загружен архив с парой ключей. В ОС на базе Linux или macOS распакуйте архив в папку `/home/<имя_пользователя>/.ssh`. В ОС Windows распакуйте архив в папку `C:\Users\<имя_пользователя>/.ssh`. Дополнительно вводить открытый ключ в консоли управления не требуется.
          
          1. Нажмите кнопку **Добавить**.
          
          SSH-ключ будет добавлен в ваш профиль пользователя организации. Если в организации [отключена](../../../organization/operations/os-login-access.md) возможность добавления пользователями SSH-ключей в свои профили, добавленный открытый SSH-ключ будет сохранен только в профиле пользователя внутри создаваемого ресурса.

  1. В блоке **Общая информация** введите имя ВМ, например `opencart`. Требования к имени:

      * длина — от 3 до 63 символов;
      * может содержать строчные буквы латинского алфавита, цифры и дефисы;
      * первый символ — буква, последний — не дефис.

  1. Нажмите кнопку **Создать ВМ**.
  1. Получите [публичный IP-адрес](../../../vpc/concepts/address.md#public-addresses) ВМ — он потребуется далее, чтобы [настроить OpenCart](#configure-opencart). Публичный IP-адрес можно узнать в консоли управления в поле **Публичный IPv4-адрес** блока **Сеть** на странице ВМ.

{% endlist %}

Если вы рассчитываете на существенную нагрузку на БД, или хотели бы использовать сервис управляемых СУБД, то [создайте кластер БД](#create-mysql) с помощью сервиса Managed Service for MySQL®. Если нет — [настройте OpenCart](#configure-opencart).

## Создайте кластер БД MySQL® {#create-mysql}

Сервис Managed Service for MySQL® берет на себя поддержку и обслуживание СУБД, в том числе мониторинг ее состояния и текущей активности, автоматическое создание резервных копий и легко настраиваемую отказоустойчивость.

Если необходимости в кластере нет, пропустите этот шаг и [настройте OpenCart](#configure-opencart).

Чтобы создать кластер БД:

{% list tabs %}

- Консоль управления

  1. На странице каталога в [консоли управления](https://kz.console.yandex.cloud) нажмите кнопку ![plus](../../../_assets/console-icons/plus.svg) **Создать ресурс** и выберите пункт **Кластер MySQL®**.
  1. Укажите имя кластера, например, `opencart`.
  1. В блоке **Класс хоста** выберите `s2.micro`. Данных характеристик хватит для работы системы без особых нагрузок.
  1. В блоке **База данных** укажите:
     * **Имя БД** — оставьте значение по умолчанию, `db1`.
     * **Имя пользователя** для подключения к БД — оставьте значение по умолчанию, `user1`.
     * **Пароль**, который OpenCart будет использовать для доступа к БД MySQL®.
  1. В блоке **Хосты**, при необходимости поменяйте **Зону доступности**, в которой должна находиться БД. Для этого нажмите значок ![pencil](../../../_assets/console-icons/pencil.svg) справа от текущей выбранной зоны доступности и выберите из выпадающего списка нужную.

     {% note tip %}

     Рекомендуется выбрать ту же зону доступности, которую вы выбрали при создании ВМ. Это позволит уменьшить задержку (latency) между ВМ и БД.

     {% endnote %}

  1. (опционально) Если вы хотите обеспечить отказоустойчивость БД, добавьте дополнительные хосты в кластер: для этого нажмите **Добавить хост** и укажите, в какой зоне доступности он должен быть размещен.
  1. Остальные поля оставьте без изменений.
  1. Нажмите кнопку **Создать кластер**.

{% endlist %}

Создание кластера БД может занять несколько минут. После создания [настройте OpenCart](#configure-opencart).

## Настройте OpenCart {#configure-opencart}

1. Откройте веб-интерфейс интернет-магазина OpenCart. Для этого откройте в браузере адрес `http://<публичный_IP-адрес_ВМ>/`. Откроется страница настройки OpenCart.
1. Ознакомьтесь с лицензией и нажмите **Continue**.

   ![Шаг 1](../../../_assets/tutorials/opencart/opencart1.png)

1. Убедитесь, что все строки с требованиями к системе отмечены зелеными галочками, и нажмите кнопку **Continue**.

   ![Шаг 2](../../../_assets/tutorials/opencart/opencart2.png)

1. Настройте доступ к БД:

   {% list tabs %}

   - Локальный сервер MySQL®

     Атрибуты подключения к БД генерируются в специальном файле при создании ВМ:
     1. Зайдите по SSH на созданную ВМ.
     1. Перейдите в режим администратора `sudo -i`.
     1. Откройте файл `default_passwords.txt` в домашней директории администратора:

        ```bash
        root@opencart:~# cat default_passwords.txt
        MYSQL_USER=opencart
        MYSQL_PASS=qDbvN1R6tA6ET
        MYSQL_ROOT_PASS=5DiVb80l1kXVz
        MYSQL_DB=opencart
        ```

     1. На странице настройки OpenCart в секции БД, введите соответствующие данные:
        * **Username** — значение переменной `MYSQL_USER`.
        * **Database** — значение переменной `MYSQL_DB`.
        * **Password** — значение переменной `MYSQL_PASS`.

        Остальные поля оставьте без изменения.

   - Кластер Managed Service for MySQL®

     Если вы используете кластер Managed Service for MySQL®, введите нужные атрибуты кластера:
     * **Hostname** — укажите [полное доменное имя (FQDN)](../../../compute/concepts/network.md#hostname) созданной БД. Чтобы его узнать:
       1. Перейдите в новой вкладке браузера на страницу каталога в [консоли управления](https://kz.console.yandex.cloud).
       1. Выберите раздел **Managed Service for MySQL®**.
       1. В таблице выберите созданный вами кластер.
       1. В меню слева выберите вкладку **Хосты**.
       1. Подведите курсор к полю **Имя хоста** (например, `rc1c-vok617m35g3dj23i`) и скопируйте полное доменное имя БД, нажав на значок ![copy](../../../_assets/console-icons/copy.svg).
     * **Username** — имя пользователя (в примере `user1`).
     * **Database** — имя БД (в примере `db1`).
     * **Password** — указанный вами пароль пользователя.

     Остальные поля оставьте без изменения.

   {% endlist %}

1. Задайте имя администратора, его пароль и актуальный электронный адрес. После этого нажмите кнопку **Continue**.

   ![Шаг 3](../../../_assets/tutorials/opencart/opencart3.png)

1. Откроется страница с уведомлением о том, что система настроена. Чтобы настроить интернет-магазин, нажмите кнопку **Login to your administration** и введите логин и пароль администратора.

   ![Шаг 4](../../../_assets/tutorials/opencart/opencart4.png)

1. После завершения установки зайдите на ВМ по SSH и удалите ненужные установочные файлы:

   ```bash
   user@opencart:~$ sudo -i
   root@opencart:~# rm -rf /var/www/opencart/install/
   ```

1. Чтобы проверить главную страницу сайта, перейдите по адресу `http://<публичный_IP-адрес_ВМ>/`. Вы увидите главную страницу сайта глазами пользователя, посетившего ваш интернет-магазин.

   ![Шаг 5](../../../_assets/tutorials/opencart/opencart5.png)

## Как удалить созданные ресурсы {#clear-out}

Чтобы перестать платить за созданные ресурсы:

1. [Удалите](../../../compute/operations/vm-control/vm-delete.md) ВМ `opencart`.
1. Если вы использовали БД MySQL®, то [удалите кластер Managed Service for MySQL®](../../operations/cluster-delete.md) (в примере кластер БД создается с именем `opencart`).

Если вы зарезервировали статический публичный IP-адрес специально для этой ВМ:
1. Перейдите в сервис **Virtual Private Cloud** в вашем каталоге.
1. Перейдите на вкладку **IP-адреса**.
1. Найдите нужный IP-адрес, нажмите значок ![ellipsis](../../../_assets/console-icons/ellipsis.svg) и выберите пункт **Удалить**.

#### Полезные ссылки {#see-also}

* [Создание интернет-магазина на платформе OpenCart с помощью Terraform](terraform.md).