# Создание интернет-магазина на «1С-Битрикс: Управление сайтом» с помощью консоли управления

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

1. [Подготовьте облако к работе](#before-you-begin).
1. [Создайте и настройте облачную сеть](#create-network).
1. [Создайте ВМ в облаке](#create-vm).
1. [Создайте кластер БД MySQL®](#create-mysql).
1. [Настройте ВМ для работы с «1C-Битрикс»](#configure-server).
1. [Настройте «1С-Битрикс»](#configure-bitrix).

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

## Подготовьте облако к работе {#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®](../../../managed-mysql/pricing.md)).
* Публичные IP-адреса, если для хостов кластера включен публичный доступ ([тарифы Virtual Private Cloud](../../../vpc/pricing.md)).

Для данного руководства используется пробная версия «1С-Битрикс» с ознакомительным периодом в 30 дней. Стоимость электронных версий продукта вы можете уточнить на официальном ресурсе [«1С-Битрикс»](https://www.1c-bitrix.ru).

## Создайте и настройте облачную сеть {#create-network}

{% list tabs group=instructions %}

- Консоль управления {#console}

  1. [Создайте сеть](../../../vpc/operations/network-create.md) с именем `network-1`. При создании сети отключите опцию **Создать подсети**.
  1. В сети `network-1` [создайте](../../../vpc/operations/subnet-create.md) две [подсети](../../../vpc/concepts/network.md#subnet) в разных [зонах доступности](../../../overview/concepts/geo-scope.md) со следующими параметрами:
     1. Подсеть в зоне доступности `kz1-a`:
        * **Имя** — `subnet-a`.
        * **Зона доступности** — `kz1-a`.
        * **CIDR** — `192.168.0.0/24`.
     1. Подсеть в зоне доступности `kz1-b`:
        * **Имя** — `subnet-b`.
        * **Зона доступности** — `kz1-b`.
        * **CIDR** — `192.168.1.0/24`.
  1. В сети `network-1` [создайте группы безопасности](../../../vpc/operations/security-group-create.md):
     1. С именем `bitrix-sg-vm` для ВМ в облаке. [Задайте правила](../../../vpc/operations/security-group-add-rule.md) для этой [группы безопасности](../../../vpc/concepts/security-groups.md) в соответствии с таблицей:

        Направление<br>трафика | Описание | Диапазон портов | Протокол | Источник /<br>Назначение | CIDR блоки
        --- | --- | --- | --- | --- | ---
        Исходящий | `ANY` | `Весь` | `Любой` | `CIDR` | `0.0.0.0/0`
        Входящий | `HTTP` | `80` | `TCP` | `CIDR` | `0.0.0.0/0`
        Входящий | `EXT-HTTPS` | `443` | `TCP` | `CIDR` | `0.0.0.0/0`
        Входящий | `SSH` | `22` | `TCP` | `CIDR` | `0.0.0.0/0`

     1. С именем `bitrix-sg` для кластера баз данных MySQL®. [Задайте правила](../../../vpc/operations/security-group-add-rule.md) для этой группы безопасности в соответствии с таблицей:

        Направление<br>трафика | Описание | Диапазон портов | Протокол | Источник /<br>Назначение | CIDR блоки
        --- | --- | --- | --- | --- | ---
        Исходящий | `ANY` | `Весь` | `Любой` | `CIDR` | `0.0.0.0/0`
        Входящий | `EXT-HTTPS` | `3306` | `TCP` | `CIDR` | `0.0.0.0/0`

{% endlist %}

## Создайте ВМ в облаке {#create-vm}

{% list tabs group=instructions %}

- Консоль управления {#console}

  1. На странице [каталога](../../../resource-manager/concepts/resources-hierarchy.md#folder) в [консоли управления](https://kz.console.yandex.cloud) нажмите кнопку ![plus](../../../_assets/console-icons/plus.svg) **Создать ресурс** и выберите пункт `Виртуальная машина`.
  1. В блоке **Образ загрузочного диска** в поле **Поиск продукта** введите `Ubuntu 22.04 LTS` и выберите публичный образ [Ubuntu 22.04 LTS](https://yandex.cloud/ru-kz/marketplace/products/yc/ubuntu-22-04-lts).
  1. В блоке **Расположение** выберите [зону доступности](../../../overview/concepts/geo-scope.md): `kz1-a`.
  1. В блоке **Диски и файловые хранилища** выберите [тип диска](../../../compute/concepts/disk.md#disks_types) `SSD` и задайте размер `24 ГБ`.
  1. В блоке **Вычислительные ресурсы** перейдите на вкладку `Своя конфигурация` и укажите необходимую [платформу](../../../compute/concepts/vm-platforms.md), количество vCPU и объем RAM:

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

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

      * В поле **Подсеть** выберите сеть `network-1` и подсеть `subnet-a`.
      * В поле **Публичный IP-адрес** оставьте значение `Автоматически`, чтобы назначить ВМ случайный публичный IP-адрес из пула Yandex Cloud, или выберите статический адрес из списка, если вы зарезервировали его заранее.
      * В поле **Группы безопасности** выберите группу безопасности `bitrix-sg-vm`.

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

      * В поле **Логин** введите имя пользователя, например: `ubuntu`. Не используйте имя `root` или другие имена, зарезервированные ОС. Для выполнения операций, требующих прав суперпользователя, используйте команду `sudo`.
      * В поле **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. В блоке **Общая информация** задайте имя ВМ: `bitrixwebsite`.
  1. Нажмите кнопку **Создать ВМ**.

  В процессе работы вам может потребоваться сохранять [снимки диска](../../../compute/operations/disk-control/create-snapshot.md) ВМ. Они содержат копию файловой системы ВМ на момент создания снимка.

  Вы можете использовать снимки для различных целей, например:
  * Перенос данных с одного диска на другой — например, на диск в другой зоне доступности.
  * Создание [резервной копии](../../../compute/concepts/backups.md) диска перед операциями, которые могут повлечь повреждение данных.
  * Версионирование диска путем [регулярного создания снимков диска](../../../compute/operations/disk-control/configure-schedule.md).

{% endlist %}

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

{% list tabs group=instructions %}

- Консоль управления {#console}

  1. На странице каталога в [консоли управления](https://kz.console.yandex.cloud) нажмите кнопку ![plus](../../../_assets/console-icons/plus.svg) **Создать ресурс** и выберите пункт **Кластер MySQL**.
  1. В поле **Имя кластера** введите имя кластера, например `BitrixMySQL®`.
  1. В блоке **Класс хоста** выберите `s3-c2-m8`. Данных характеристик хватит для работы системы «1С-Битрикс».
  1. В блоке **Размер хранилища** выберите [тип хранилища](../../../managed-mysql/concepts/storage.md) — `network-ssd` и укажите размер `10 ГБ`.
  1. В блоке **База данных** укажите:
     * **Имя БД**. В этом руководстве оставьте значение по умолчанию `db1`.
     * **Имя пользователя**, которое является логином для подключения к БД. В этом руководстве оставьте значение по умолчанию `user1`.
     * **Пароль**, будет использоваться для доступа системой «1С-Битрикс» к БД MySQL®, например `p@s$woRd!`.
  1. В блоке **Сетевые настройки**:
     * В поле **Сеть** выберите созданную ранее сеть `network-1`.
     * В поле **Группы безопасности** выберите группу безопасности `bitrix-sg`.
  1. В блоке **Хосты**, при необходимости, поменяйте зону доступности, в которой должна находиться база данных. Для этого нажмите значок ![pencil](../../../_assets/console-icons/pencil.svg) в строке с информацией о хосте. В открывшемся окне выберите нужную зону доступности и нажмите кнопку **Сохранить**.

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

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

  Создание кластера БД может занять несколько минут. Проверить доступность созданного кластера вы можете в консоли управления Yandex Cloud, выбрав сервис **Managed Service for&nbsp;MySQL**. На вкладке **Кластеры** статус кластера должен быть `Running`, состояние `Alive`.

{% endlist %}

## Настройте ВМ для работы с «1C-Битрикс» {#configure-server}

Для настройки сервера для работы с «1С-Битрикс» выполните следующие шаги:
1. [Подключитесь](../../../compute/operations/vm-connect/ssh.md) к ВМ по SSH от имени пользователя, заданного при [создании ВМ](#create-vm) (например, `ubuntu`):

   ```bash
   ssh ubuntu@<публичный_IP-адрес_ВМ>
   ```

   Публичный IP-адрес ВМ можно узнать в [консоли управления](https://kz.console.yandex.cloud) в поле **Публичный IPv4-адрес** блока **Сеть** на странице ВМ.

1. Установите необходимое программное обеспечение:

   {% note info %}

   Следующие команды установки предназначены для Ubuntu. Для других дистрибутивов используйте команды вашего менеджера пакетов.

   {% endnote %}

   ```bash
   sudo apt-get update
   sudo apt-get install -y apache2 libapache2-mod-php php-gd php-mbstring php-mysql
   ```

1. Перейдите в рабочий каталог проекта и скачайте дистрибутив «1С-Битрикс: Управление сайтом»:

   ```bash
   cd /var/www/html/
   sudo wget https://www.1c-bitrix.ru/download/business_encode.tar.gz
   ```

1. Распакуйте полученный архив и после этого удалите ненужные файлы:

   ```bash
   sudo tar -zxf business_encode.tar.gz
   sudo rm -f index.html business_encode.tar.gz
   ```

1. Назначьте пользователя `www-data` владельцем рабочего каталога проекта:

   ```bash
   sudo chown -R www-data:www-data /var/www/html
   ```

   Проверьте права и владельцев рабочего каталога:

   ```bash
   ls -l
   ```

   Результат:

   ```text
   total 40
   drwxrwxr-x 7 www-data www-data  4096 Jun  8  2023 bitrix
   -rwxrwxr-x 1 www-data www-data  1150 Nov 30  2020 favicon.ico
   -rwxrwxr-x 1 www-data www-data  1353 Jun  8  2023 index.php
   -rwxrwxr-x 1 www-data www-data   268 Apr 17  2023 install.config
   -rwxrwxr-x 1 www-data www-data 12821 Mar 18  2022 readme.html
   -rwxrwxr-x 1 www-data www-data   112 Mar 27  2013 readme.php
   drwxrwxr-x 2 www-data www-data  4096 Jun  8  2023 upload
   ```

1. Для корректной работы 1С настройте параметры PHP. Для этого воспользуйтесь встроенным редактором `nano` и отредактируйте следующие переменные в файле конфигурации `php.ini`:

   ```bash
   sudo nano /etc/php/8.1/apache2/php.ini
   ```

   Было | Стало
   :--- | :---
   `short_open_tag = Off` | `short_open_tag = On`
   `memory_limit = 128M` | `memory_limit = 256M`
   `;date.timezone =` | `date.timezone = Europe/Moscow`
   `;opcache.revalidate_freq =2` | `opcache.revalidate_freq =0`
   `;session.save_path = "/var/lib/php/sessions"` | `session.save_path = "/var/lib/php/sessions"`

   Путь к файлу `php.ini` зависит от установленной версии PHP. В примере приведен путь для версии `8.1`. Для версии `8.0` введите `/etc/php/8.0/apache2/php.ini`, для версии `8.2` — `/etc/php/8.2/apache2/php.ini` и т. д.

   {% note tip %}

   Чтобы найти нужный параметр в редакторе `nano` нажмите сочетание клавиш **Ctrl** + **W**. Найдите требуемый параметр из таблицы выше, далее сохраните изменения при помощи сочетания клавиш **Ctrl** + **O**. Выход из редактора **Ctrl** + **X**.

   {% endnote %}

1. Настройте веб-сервер Apache. Для этого отредактируйте файл конфигурации `/etc/apache2/sites-enabled/000-default.conf`.
   1. Откройте файл в текстовом редакторе:

      ```bash
      sudo nano /etc/apache2/sites-enabled/000-default.conf
      ```

   1. После строки `DocumentRoot /var/www/html` добавьте следующий блок и сохраните изменения:

      ```html
      <Directory /var/www/html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
      </Directory>
      ```

   1. Перезапустите веб-сервер, чтобы все измененные настройки применились:

      ```bash
      sudo systemctl restart apache2
      ```

После выполнения этих команд серверная часть будет сконфигурирована для корректной работы 1С-Битрикс.

## Настройте «1С-Битрикс» {#configure-bitrix}

Пройдите процесс первоначальной установки и настройки «1С-Битрикс»:

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

1. На стартовом экране установки нажмите кнопку **Далее**.

   ![Шаг 1](../../../_assets/tutorials/bitrix-shop/bitrix-shop1.png)

1. Ознакомьтесь с лицензионным соглашением и выберите опцию **Я принимаю лицензионное соглашение**. Затем нажмите кнопку **Далее**.

   ![Шаг 2](../../../_assets/tutorials/bitrix-shop/bitrix-shop2.png)

1. Регистрировать продукт необязательно (вы можете отключить соответствующую опцию). Убедитесь, что опция **Установить в кодировке UTF-8** выбрана и нажмите кнопку **Далее**.

   ![Шаг 3](../../../_assets/tutorials/bitrix-shop/bitrix-shop3.png)

1. «1С-Битрикс» проверит, верно ли сконфигурирован сервер. Нажмите кнопку **Далее** внизу страницы.

   ![Шаг 4](../../../_assets/tutorials/bitrix-shop/bitrix-shop4.png)

1. Настройте БД:
   1. В поле **Сервер** укажите полное доменное имя созданной вами БД. Чтобы его узнать:
      1. В [консоли управления](https://kz.console.yandex.cloud) перейдите в новой вкладке браузера на страницу каталога.
      1. Перейдите в сервис **Managed Service for&nbsp;MySQL**.
      1. В открывшемся окне выберите созданный ранее кластер `BitrixMySQL`.
      1. В меню слева выберите вкладку **Хосты**.
      1. В поле **FQDN хоста** подведите курсор к имени хоста (вида `rc1c-cfazv1db********`) и скопируйте полное доменное имя базы данных, нажав появившийся значок ![copy](../../../_assets/copy.svg). К имени хоста добавится полное доменное имя, в результате в поле **Сервер** должно быть указано имя вида `rc1c-cfazv1db********.mdb.yandexcloud.kz`.
   1. В полях **Имя пользователя** и **Пароль** укажите данные, с которыми вы создавали БД в разделе [Создайте кластер БД MySQL®](#create-mysql).
   1. В поле **Имя базы данных** укажите имя созданной БД (`db1`).
   1. Нажмите кнопку **Далее**.

   ![Шаг 5](../../../_assets/tutorials/bitrix-shop/bitrix-shop5.png)

1. Дождитесь завершения процесса установки и инициализации БД.

   ![Шаг 6](../../../_assets/tutorials/bitrix-shop/bitrix-shop6.png)

1. Создайте администратора (пользователя, который сможет управлять системой). Заполните поля в соответствии с вашими персональными данными и нажмите кнопку **Далее**.

   ![Шаг 7](../../../_assets/tutorials/bitrix-shop/bitrix-shop7.png)

1. Выберите шаблон **Интернет-магазин** и нажмите кнопку **Далее**.

   ![Шаг 8](../../../_assets/tutorials/bitrix-shop/bitrix-shop8.png)

1. Подтвердите выбор единственного шаблона, нажмите кнопку **Далее**.

   ![Шаг 9](../../../_assets/tutorials/bitrix-shop/bitrix-shop9.png)

1. Выберите цветовое оформление выбранного ранее шаблона и нажмите кнопку **Далее**.

   ![Шаг 10](../../../_assets/tutorials/bitrix-shop/bitrix-shop10.png)

1. Заполните поля в соответствии с требованиями к интернет-магазину и нажмите кнопку **Далее**.

   ![Шаг 11](../../../_assets/tutorials/bitrix-shop/bitrix-shop11.png)

1. При необходимости включите функцию складского учета и укажите, в какой момент нужно резервировать товар на складе. Нажмите кнопку **Далее**.

   ![Шаг 12](../../../_assets/tutorials/bitrix-shop/bitrix-shop12.png)

1. Укажите данные о компании и нажмите кнопку **Далее**.

   ![Шаг 13](../../../_assets/tutorials/bitrix-shop/bitrix-shop13.png)

1. Выберите типы плательщиков, с которыми будет работать ваш интернет-магазин, и нажмите кнопку **Далее**.

   ![Шаг 14](../../../_assets/tutorials/bitrix-shop/bitrix-shop14.png)

1. Выберите доступные в вашем интернет-магазине способы оплаты и доставки товаров, затем нажмите кнопку **Далее**.

   ![Шаг 15](../../../_assets/tutorials/bitrix-shop/bitrix-shop15.png)

1. Дождитесь завершения установки системы.

   ![Шаг 16](../../../_assets/tutorials/bitrix-shop/bitrix-shop16.png)

1. После завершения установки нажмите кнопку **Перейти на сайт**.

   ![Шаг 17](../../../_assets/tutorials/bitrix-shop/bitrix-shop17.png)

1. Откроется интерфейс интернет-магазина в режиме редактирования.

   ![Шаг 18](../../../_assets/tutorials/bitrix-shop/bitrix-shop18.png)

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

   ![Шаг 19](../../../_assets/tutorials/bitrix-shop/bitrix-shop19.png)

{% note tip %}

Чтобы получать резервные копии системы, периодически [создавайте снимки диска](../../../compute/operations/disk-control/create-snapshot.md) ВМ.

{% endnote %}

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

Чтобы перестать платить за созданные ресурсы:
1. [Удалите](../../../compute/operations/vm-control/vm-delete.md) ВМ `bitrixwebsite`.
1. [Удалите](../../../managed-mysql/operations/cluster-delete.md) кластер БД `BitrixMySQL®`.

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

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

* [Создание интернет-магазина на «1С-Битрикс: Управление сайтом» с помощью Terraform](terraform.md).