Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Практические руководства
    • Все руководства
        • Обзор
        • Консоль управления
        • Terraform
      • Создание кластера Linux-серверов «1С:Предприятия» с кластером Managed Service for PostgreSQL

В этой статье:

  • Подготовьте облако к работе
  • Необходимые платные ресурсы
  • Создайте инфраструктуру
  • Настройте ВМ для работы с «1C-Битрикс»
  • Настройте «1С-Битрикс»
  • Как удалить созданные ресурсы
  1. Прикладные решения
  2. 1С
  3. Интернет-магазин на «1С-Битрикс»
  4. Terraform

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

Статья создана
Yandex Cloud
Улучшена
kvendingoldo
Обновлена 31 января 2025 г.
  • Подготовьте облако к работе
    • Необходимые платные ресурсы
  • Создайте инфраструктуру
  • Настройте ВМ для работы с «1C-Битрикс»
  • Настройте «1С-Битрикс»
  • Как удалить созданные ресурсы

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

  1. Подготовьте облако к работе.
  2. Создайте инфраструктуру.
  3. Настройте ВМ для работы с «1C-Битрикс».
  4. Настройте «1С-Битрикс».

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

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

Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

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

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

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

Необходимые платные ресурсыНеобходимые платные ресурсы

В стоимость поддержки инфраструктуры для интернет-магазина на «1С-Битрикс» входит:

  • плата за постоянно запущенную ВМ (см. тарифы Yandex Compute Cloud);
  • плата за использование динамического или статического публичного IP-адреса (см. тарифы Yandex Virtual Private Cloud);
  • плата за использование управляемой БД MySQL® (см. тарифы Managed Service for MySQL®).

Для данного руководства используется пробная версия «1С-Битрикс» с ознакомительным периодом в 30 дней. Стоимость электронных версий продукта вы можете уточнить на официальном ресурсе «1С-Битрикс».

Создайте инфраструктуруСоздайте инфраструктуру

Terraform позволяет быстро создать облачную инфраструктуру в Yandex Cloud и управлять ею с помощью файлов конфигураций. В файлах конфигураций хранится описание инфраструктуры на языке HCL (HashiCorp Configuration Language). При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.

Terraform распространяется под лицензией Business Source License, а провайдер Yandex Cloud для Terraform — под лицензией MPL-2.0.

Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform или в зеркале.

Для создания инфраструктуры c помощью Terraform:

  1. Установите Terraform, получите данные для аутентификации и укажите источник для установки провайдера Yandex Cloud (раздел Настройте провайдер, шаг 1).

  2. Подготовьте файлы с описанием инфраструктуры:

    Готовая конфигурация
    Вручную
    1. Склонируйте репозиторий с конфигурационными файлами.

      git clone https://github.com/yandex-cloud-examples/yc-bitrix-website.git
      
    2. Перейдите в директорию с репозиторием. В ней должны появиться файлы:

      • bitrix-website.tf — конфигурация создаваемой инфраструктуры.
      • bitrix-website.auto.tfvars — файл с пользовательскими данными.
    1. Создайте папку для конфигурационных файлов.
    2. Создайте в папке:
      1. Конфигурационный файл bitrix-website.tf:

        bitrix-website.tf
        # Объявление переменных для конфиденциальных параметров
        
        variable "folder_id" {
          type = string
        }
        
        variable "vm_user" {
          type = string
        }
        
        variable "ssh_key_path" {
          type = string
        }
        
        variable "mysql_user" {
          type = string
        }
        
        variable "mysql_password" {
          type = string
          sensitive = true
        }
        
        # Настройка провайдера
        
        terraform {
          required_providers {
            yandex = {
              source  = "yandex-cloud/yandex"
              version = ">= 0.47.0"
            }
          }
        }
        
        provider "yandex" {
          zone = var.folder_id
        }
        
        # Создание облачной сети и подсетей
        
        resource "yandex_vpc_network" "network-1" {
          name = "network1"
        }
        
        resource "yandex_vpc_subnet" "subnet-1" {
          name           = "subnet1"
          zone           = "ru-central1-a"
          network_id     = yandex_vpc_network.network-1.id
          v4_cidr_blocks = ["192.168.1.0/24"]
        }
        
        resource "yandex_vpc_subnet" "subnet-2" {
          name           = "subnet2"
          zone           = "ru-central1-b"
          network_id     = yandex_vpc_network.network-1.id
          v4_cidr_blocks = ["192.168.2.0/24"]
        }
        
        resource "yandex_vpc_subnet" "subnet-3" {
          name           = "subnet3"
          zone           = "ru-central1-d"
          network_id     = yandex_vpc_network.network-1.id
          v4_cidr_blocks = ["192.168.3.0/24"]
        }
        
        # Создание групп безопасности
        
        resource "yandex_vpc_security_group" "sg-vm" {
          name        = "bitrix-sg-vm"
          description = "Description for security group"
          network_id  = yandex_vpc_network.network-1.id
        
          egress {
            protocol       = "ANY"
            description    = "ANY"
            v4_cidr_blocks = ["0.0.0.0/0"]
            from_port      = 0
            to_port        = 65535
          }
        
          ingress {
            protocol       = "TCP"
            description    = "EXT-HTTP"
            v4_cidr_blocks = ["0.0.0.0/0"]
            port           = 80
          }
        
          ingress {
            protocol       = "TCP"
            description    = "EXT-SSH"
            v4_cidr_blocks = ["0.0.0.0/0"]
            port           = 22
          }
        
          ingress {
            protocol       = "TCP"
            description    = "EXT-HTTPS"
            v4_cidr_blocks = ["0.0.0.0/0"]
            port           = 443
          }
        }
        
        resource "yandex_vpc_security_group" "sg-mysql" {
          name        = "bitrix-sg"
          description = "Security group for mysql"
          network_id  = yandex_vpc_network.network-1.id
        
          egress {
            protocol       = "ANY"
            description    = "any"
            v4_cidr_blocks = ["0.0.0.0/0"]
            from_port      = 0
            to_port        = 65535
          }
        
          ingress {
            protocol       = "TCP"
            description    = "ext-msql"
            v4_cidr_blocks = ["0.0.0.0/0"]
            port           = 3306
          }
        }
        
        # Добавление готового образа ВМ
        
        data "yandex_compute_image" "ubuntu-image" {
          family = "ubuntu-2204-lts"
        }
        
        # Создание загрузочного диска
        
        resource "yandex_compute_disk" "boot-disk" {
          name     = "bootdisk"
          type     = "network-ssd"
          zone     = "ru-central1-a"
          size     = "24"
          image_id = data.yandex_compute_image.ubuntu-image.id
        }
        
        # Создание ВМ
        
        resource "yandex_compute_instance" "vm-bitrix" {
          name        = "bitrixwebsite"
          platform_id = "standard-v3"
          zone        = "ru-central1-a"
        
          resources {
            core_fraction = 20
            cores         = 2
            memory        = 4
          }
        
          boot_disk {
            disk_id = yandex_compute_disk.boot-disk.id
          }
        
          network_interface {
            subnet_id          = yandex_vpc_subnet.subnet-1.id
            security_group_ids = ["${yandex_vpc_security_group.sg-vm.id}"]
            nat                = true
          }
        
          metadata = {
             user-data = "#cloud-config\nusers:\n  - name: ${var.vm_user}\n    groups: sudo\n    shell: /bin/bash\n    sudo: 'ALL=(ALL) NOPASSWD:ALL'\n    ssh_authorized_keys:\n      - ${file("${var.ssh_key_path}")}"
          }
        }
        
        # Создание кластера Managed Service for MySQL
        
        resource "yandex_mdb_mysql_cluster" "bitrix-cluster" {
          name               = "BitrixMySQL"
          environment        = "PRESTABLE"
          network_id         = yandex_vpc_network.network-1.id
          version            = "8.0"
          security_group_ids = ["${yandex_vpc_security_group.sg-mysql.id}"]
        
          resources {
            resource_preset_id = "s2.micro"
            disk_type_id       = "network-hdd"
            disk_size          = "10"
          }
        
          host {
            zone             = "ru-central1-a"
            subnet_id        = yandex_vpc_subnet.subnet-1.id
            assign_public_ip = false
          }
        
          host {
            zone             = "ru-central1-b"
            subnet_id        = yandex_vpc_subnet.subnet-2.id
            assign_public_ip = false
          }
        }
        
        # Создание БД MySQL
        
        resource "yandex_mdb_mysql_database" "bitrix-db" {
          cluster_id = yandex_mdb_mysql_cluster.bitrix-cluster.id
          name       = "db1"
        }
        
        # Создание пользователя БД
        
        resource "yandex_mdb_mysql_user" "bitrix-user" {
          cluster_id = yandex_mdb_mysql_cluster.bitrix-cluster.id
          name       = var.mysql_user
          password   = var.mysql_password
          permission {
            database_name = yandex_mdb_mysql_database.bitrix-db.name
            roles         = ["ALL"]
          }
        }
        
      2. Файл с пользовательскими данными bitrix-website.auto.tfvars:

        bitrix-website.auto.tfvars
        folder_id      = "<идентификатор_каталога>"
        vm_user        = "<имя_пользователя_ВМ>"
        ssh_key_path   = "<путь_к_файлу_с_открытым_SSH-ключом>"
        mysql_user     = "<имя_пользователя_БД>"
        mysql_password = "<пароль_пользователя_БД>"
        

    Более подробную информацию о параметрах используемых ресурсов в Terraform см. в документации провайдера:

    • Сеть — yandex_vpc_network.
    • Подсети — yandex_vpc_subnet.
    • Группы безопасности — yandex_vpc_security_group.
    • Образ — yandex_compute_image.
    • Диск — yandex_compute_disk.
    • Виртуальная машина — yandex_compute_instance.
    • Кластер MySQL — yandex_mdb_mysql_cluster.
    • База данных — yandex_mdb_mysql_database.
    • Пользователь БД — yandex_mdb_mysql_user.
  3. В файле bitrix-website.auto.tfvars задайте пользовательские параметры:

    • folder_id — идентификатор каталога.
    • vm_user — имя пользователя ВМ.
    • ssh_key_path — путь к файлу с открытым SSH-ключом для аутентификации пользователя на ВМ. Подробнее см. Создание пары ключей SSH.
    • mysql_user — имя пользователя для подключения к БД MySQL®. В этом руководстве укажите user1.
    • mysql_password — пароль пользователя для доступа к БД MySQL®. В этом руководстве укажите значение p@s$woRd!.
  4. Создайте ресурсы:

    1. В терминале перейдите в папку, где вы отредактировали конфигурационный файл.

    2. Проверьте корректность конфигурационного файла с помощью команды:

      terraform validate
      

      Если конфигурация является корректной, появится сообщение:

      Success! The configuration is valid.
      
    3. Выполните команду:

      terraform plan
      

      В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.

    4. Примените изменения конфигурации:

      terraform apply
      
    5. Подтвердите изменения: введите в терминале слово yes и нажмите Enter.

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

Для настройки сервера для работы с «1С-Битрикс» выполните следующие шаги:

  1. Подключитесь к ВМ по SSH от имени пользователя, заданного при создании ВМ (например, ubuntu):

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

    Публичный IP-адрес ВМ можно узнать в консоли управления в поле Публичный IPv4-адрес блока Сеть на странице ВМ.

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

    Примечание

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

    sudo apt-get update
    sudo apt-get install -y apache2 libapache2-mod-php php-gd php-mbstring php-mysql
    
  3. Перейдите в рабочий каталог проекта и скачайте дистрибутив «1С-Битрикс: Управление сайтом»:

    cd /var/www/html/
    sudo wget https://www.1c-bitrix.ru/download/business_encode.tar.gz
    
  4. Распакуйте полученный архив и после этого удалите ненужные файлы:

    sudo tar -zxf business_encode.tar.gz
    sudo rm -f index.html business_encode.tar.gz
    
  5. Назначьте пользователя www-data владельцем рабочего каталога проекта:

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

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

    ls -l
    

    Результат:

    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
    
  6. Для корректной работы 1С настройте параметры PHP. Для этого воспользуйтесь встроенным редактором nano и отредактируйте следующие переменные в файле конфигурации php.ini:

    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 и т. д.

    Совет

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

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

    1. Откройте файл в текстовом редакторе:

      sudo nano /etc/apache2/sites-enabled/000-default.conf
      
    2. После строки DocumentRoot /var/www/html добавьте следующий блок и сохраните изменения:

      <Directory /var/www/html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
      </Directory>
      
    3. Перезапустите веб-сервер, чтобы все измененные настройки применились:

      sudo systemctl restart apache2
      

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

Настройте «1С-Битрикс»Настройте «1С-Битрикс»

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

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

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

    Шаг 1

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

    Шаг 2

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

    Шаг 3

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

    Шаг 4

  6. Настройте БД:

    1. В поле Сервер укажите полное доменное имя созданной вами БД. Чтобы его узнать:
      1. В консоли управления перейдите в новой вкладке браузера на страницу каталога.
      2. В списке сервисов выберите Managed Service for MySQL.
      3. В открывшемся окне выберите созданный ранее кластер BitrixMySQL.
      4. В меню слева выберите вкладку Хосты.
      5. В поле FQDN хоста подведите курсор к имени хоста (вида rc1c-cfazv1db********) и скопируйте полное доменное имя базы данных, нажав появившийся значок . К имени хоста добавится полное доменное имя, в результате в поле Сервер должно быть указано имя вида rc1c-cfazv1db********.mdb.yandexcloud.net.
    2. В полях Имя пользователя и Пароль укажите данные, с которыми вы создавали БД в разделе Создайте кластер БД MySQL®.
    3. В поле Имя базы данных укажите имя созданной БД (db1).
    4. Нажмите кнопку Далее.

    Шаг 5

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

    Шаг 6

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

    Шаг 7

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

    Шаг 8

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

    Шаг 9

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

    Шаг 10

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

    Шаг 11

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

    Шаг 12

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

    Шаг 13

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

    Шаг 14

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

    Шаг 15

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

    Шаг 16

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

    Шаг 17

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

    Шаг 18

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

    Шаг 19

Совет

Чтобы получать резервные копии системы, периодически создавайте снимки диска ВМ.

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

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

  1. Откройте конфигурационный файл bitrix-website.tf и удалите описание создаваемой инфраструктуры из файла.

  2. Примените изменения:

    1. В терминале перейдите в папку, где вы отредактировали конфигурационный файл.

    2. Проверьте корректность конфигурационного файла с помощью команды:

      terraform validate
      

      Если конфигурация является корректной, появится сообщение:

      Success! The configuration is valid.
      
    3. Выполните команду:

      terraform plan
      

      В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.

    4. Примените изменения конфигурации:

      terraform apply
      
    5. Подтвердите изменения: введите в терминале слово yes и нажмите Enter.

См. такжеСм. также

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

Была ли статья полезна?

Предыдущая
Консоль управления
Следующая
Создание кластера Linux-серверов «1С:Предприятия» с кластером Managed Service for PostgreSQL
Проект Яндекса
© 2025 ООО «Яндекс.Облако»