Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Практические руководства
    • Все руководства
      • Перенос WordPress сайта с хостинга в Yandex Cloud
        • Обзор
        • Консоль управления
        • Terraform
      • Организация виртуального хостинга
      • Создание веб-приложения на Python с использованием фреймворка Flask
      • Хостинг статического сайта на фреймворке Gatsby
      • Миграция в Cloud CDN из стороннего CDN-провайдера
      • Получение статистики посещения сайта с использованием S3 Select

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

  • Подготовьте облако к работе
  • Необходимые платные ресурсы
  • Создайте инфраструктуру
  • Настройте сервер для работы с «1C-Битрикс»
  • Настройте «1С-Битрикс»
  • Как удалить созданные ресурсы
  1. Прикладные решения
  2. Создание сайта
  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 и постоянно запущенную ВМ (см. тарифы Compute Cloud);
  • плата за использование динамического или статического публичного IP-адреса (см. тарифы Yandex Virtual Private Cloud);
  • плата за использование управляемой БД (см. тарифы 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. Система проверит, верно ли сконфигурирован сервер. Просмотрите все параметры на данной странице и нажмите кнопку Далее.

    Шаг 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. Дождитесь инициализации БД MySQL®.

    Шаг 6

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

    Шаг 7

  9. Выберите шаблон Информационный портал и нажмите кнопку Далее.

    Шаг 8

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

    Шаг 9

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

    Шаг 10

  12. Заполните все поля в соответствии с требованиями к сайту и нажмите кнопку Установить. Начнется установка и настройка всех компонентов системы. Дождитесь ее окончания.

    Шаг 11

  13. Через некоторое время появится страница, уведомляющая о том, что система установлена и настроена. Для начала работы с сайтом нажмите кнопку Перейти на сайт.

    Шаг 12

  14. Вы открыли веб-интерфейс полностью готовой для дальнейшей эксплуатации системы в режиме редактирования содержимого.

    Шаг 13

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

    Шаг 14

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

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

  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С-Битрикс» с помощью консоли управления.

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

Предыдущая
Консоль управления
Следующая
Обзор
Проект Яндекса
© 2025 ООО «Яндекс.Облако»