Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for PostgreSQL
  • Начало работы
    • Все руководства
    • Создание кластера PostgreSQL для 1С
    • Создание кластера Linux-серверов «1С:Предприятия» с кластером Managed Service for PostgreSQL
    • Выгрузка базы данных в Yandex Data Processing
    • Поиск проблем с производительностью кластера
    • Анализ производительности и оптимизация
    • Настройка подключения из контейнера Serverless Containers
    • Поставка данных в Yandex Managed Service for Apache Kafka® с помощью Yandex Data Transfer
    • Поставка данных в Yandex Managed Service for YDB с помощью Yandex Data Transfer
    • Поставка данных в Yandex Managed Service for Apache Kafka® с помощью Debezium
    • Захват изменений PostgreSQL и поставка в YDS
    • Поставка данных из Yandex Managed Service for Apache Kafka® с помощью Yandex Data Transfer
    • Перенос данных из Yandex Object Storage с использованием Yandex Data Transfer
    • Настройка отказоустойчивой архитектуры в Yandex Cloud
      • Обзор
      • Консоль управления
      • Terraform
    • Мониторинг состояния географически распределенных устройств
    • Запись логов балансировщика в PostgreSQL
    • Создание сервера MLFlow для логирования экспериментов и артефактов
    • Работа с данными с помощью Query
    • Федеративные запросы к данным с помощью Query
    • Решение проблем с сортировкой строк после обновления glibc
    • Запись данных с устройства в базу данных
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Публичные материалы
  • История изменений
  • Обучающие курсы

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

  • Подготовьте облако к работе
  • Необходимые платные ресурсы
  • Создайте инфраструктуру
  • Настройте окружение на виртуальной машине
  • Настройте Joomla
  • Проверьте работу сайта
  • Как удалить созданные ресурсы
  1. Практические руководства
  2. Создание сайта на CMS Joomla с базой данных PostgreSQL
  3. Terraform

Создание сайта на базе Joomla с базой данных PostgreSQL с помощью Terraform

Статья создана
Yandex Cloud
Улучшена
kvendingoldo
Обновлена 6 марта 2025 г.
  • Подготовьте облако к работе
    • Необходимые платные ресурсы
  • Создайте инфраструктуру
  • Настройте окружение на виртуальной машине
  • Настройте Joomla
  • Проверьте работу сайта
  • Как удалить созданные ресурсы

Чтобы создать инфраструктуру для сайта на базе Joomla с базой данных PostgreSQL c помощью Terraform:

  1. Подготовьте облако к работе.
  2. Создайте инфраструктуру.
  3. Настройте окружение на виртуальной машине.
  4. Настройте Joomla.
  5. Проверьте работу сайта.

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

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

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

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

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

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

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

В стоимость поддержки сайта на Joomla входит:

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

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

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-joomla-postgresql
      
    2. Перейдите в директорию с репозиторием. В ней должны появиться файлы:

      • joomla-postgresql-terraform.tf — конфигурация создаваемой инфраструктуры.
      • joomla-postgresql-terraform.auto.tfvars — файл c пользовательскими данными.
    1. Создайте папку для файла с описанием инфраструктуры.

    2. Создайте в папке конфигурационный файл joomla-postgresql-terraform.tf:

      joomla-postgresql-terraform.tf
      # Объявление переменных для пользовательских параметров
      
      variable "folder_id" {
        type = string
      }
      
      variable "ssh_key_path" {
        type = string
      }
      
      variable "db_password" {
        type      = string
        sensitive = true
      }
      
      variable "domain_name" {
        type = string
      }
      
      # Добавление прочих переменных
      
      locals {
        network_name       = "joomla-network"
        subnet_name1       = "joomla-subnet-a"
        subnet_name2       = "joomla-subnet-b"
        subnet_name3       = "joomla-subnet-d"
        subnet_cidr1       = "192.168.2.0/24"
        subnet_cidr2       = "192.168.1.0/24"
        subnet_cidr3       = "192.168.3.0/24" 
        sg_vm_name         = "joomla-sg"
        sg_pgsql_name      = "postgresql-sg"
        vm_name            = "joomla-web-server"
        cluster_name       = "joomla-pg-cluster"
        db_name            = "joomla_db"
        dns_zone_name      = "joomla-zone"
        vm_user            = "yc-user"
        db_user            = "joomla"
        cert_name          = "joomla-cert"
      }
      
      # Настройка провайдера
      
      terraform {
        required_providers {
          yandex    = {
            source  = "yandex-cloud/yandex"
            version = ">= 0.47.0"
          }
        }
      }
      
      provider "yandex" {
        folder_id = var.folder_id
      }
      
      
      # Создание облачной сети
      
      resource "yandex_vpc_network" "joomla-pg-network" {
        name = local.network_name
      }
      
      # Создание подсети в зоне доступности ru-central1-a
      
      resource "yandex_vpc_subnet" "joomla-pg-network-subnet-a" {
        name           = local.subnet_name1
        zone           = "ru-central1-a"
        v4_cidr_blocks = [local.subnet_cidr1]
        network_id     = yandex_vpc_network.joomla-pg-network.id
      }
      
      # Создание подсети в зоне доступности ru-central1-b
      
      resource "yandex_vpc_subnet" "joomla-pg-network-subnet-b" {
        name           = local.subnet_name2
        zone           = "ru-central1-b"
        v4_cidr_blocks = [local.subnet_cidr2]
        network_id     = yandex_vpc_network.joomla-pg-network.id
      }
      
      # Создание подсети в зоне доступности ru-central1-d
      
      resource "yandex_vpc_subnet" "joomla-pg-network-subnet-d" {
        name           = local.subnet_name3
        zone           = "ru-central1-d"
        v4_cidr_blocks = [local.subnet_cidr3]
        network_id     = yandex_vpc_network.joomla-pg-network.id
      }
      
      # Создание группы безопасности для кластера БД PostgreSQL
      
      resource "yandex_vpc_security_group" "pgsql-sg" {
        name       = local.sg_pgsql_name
        network_id = yandex_vpc_network.joomla-pg-network.id
      
        ingress {
          description    = "port-6432"
          port           = 6432
          protocol       = "TCP"
          v4_cidr_blocks = [local.subnet_cidr2]
        }
      
        ingress {
          description       = "self"
          protocol          = "ANY"
          from_port         = 0
          to_port           = 65535
          predefined_target = "self_security_group"
        }
      
        egress {
          description    = "any"
          protocol       = "ANY"
          v4_cidr_blocks = ["0.0.0.0/0"]
          from_port      = 0
          to_port        = 65535
        }
      
      }
      
      # Создание группы безопасности для ВМ
      
      resource "yandex_vpc_security_group" "vm-sg" {
        name       = local.sg_vm_name
        network_id = yandex_vpc_network.joomla-pg-network.id
      
        egress {
          description    = "any"
          protocol       = "ANY"
          v4_cidr_blocks = ["0.0.0.0/0"]
          from_port      = 0
          to_port        = 65535
        }
      
        ingress {
          description    = "http"
          protocol       = "TCP"
          v4_cidr_blocks = ["0.0.0.0/0"]
          port           = 80
        }
      
        ingress {
          description    = "https"
          protocol       = "TCP"
          v4_cidr_blocks = ["0.0.0.0/0"]
          port           = 443
        }
      
        ingress {
          description    = "ssh"
          protocol       = "ANY"
          v4_cidr_blocks = ["0.0.0.0/0"]
          port           = 22
        }
      
        ingress {
          description       = "self"
          protocol          = "ANY"
          from_port         = 0
          to_port           = 65535
          predefined_target = "self_security_group"
        }
      }
      
      # Резервирование публичного IP-адреса
      
      resource "yandex_vpc_address" "addr" {
        name = "joomla-address"
      
        external_ipv4_address {
          zone_id = "ru-central1-b"
        }
      }
      
      
      # Добавление готового образа ВМ
      
      resource "yandex_compute_image" "joomla-pg-vm-image" {
        source_family = "ubuntu-2404-lts-oslogin"
      }
      
      resource "yandex_compute_disk" "boot-disk" {
        name     = "bootvmdisk"
        type     = "network-hdd"
        zone     = "ru-central1-b"
        size     = "10"
        image_id = yandex_compute_image.joomla-pg-vm-image.id
      }
      
      # Создание ВМ
      
      resource "yandex_compute_instance" "joomla-pg-vm" {
        name               = local.vm_name
        platform_id        = "standard-v3"
        zone               = "ru-central1-b"
      
        resources {
          cores         = 2
          memory        = 4
        }
      
        boot_disk {
          disk_id = yandex_compute_disk.boot-disk.id
        }
      
        network_interface {
          subnet_id          = yandex_vpc_subnet.joomla-pg-network-subnet-b.id
          nat                = true
          nat_ip_address     = yandex_vpc_address.addr.external_ipv4_address[0].address
          security_group_ids = [ yandex_vpc_security_group.vm-sg.id ]
        }
      
        metadata = {
          user-data = "#cloud-config\nusers:\n  - name: ${local.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}")}"
        }
      }
      
      # Создание кластера БД PostgreSQL
      
      resource "yandex_mdb_postgresql_cluster" "joomla-pg-cluster" {
        name                = local.cluster_name
        environment         = "PRODUCTION"
        network_id          = yandex_vpc_network.joomla-pg-network.id
        security_group_ids  = [ yandex_vpc_security_group.pgsql-sg.id ]
      
        config {
          version = "17"
          resources {
            resource_preset_id = "b2.medium"
            disk_type_id       = "network-ssd"
            disk_size          = 10
          }
        }
      
        host {
          zone      = "ru-central1-a"
          subnet_id = yandex_vpc_subnet.joomla-pg-network-subnet-a.id
        }
      
        host {
          zone      = "ru-central1-b"
          subnet_id = yandex_vpc_subnet.joomla-pg-network-subnet-b.id
        }
      
        host {
          zone      = "ru-central1-d"
          subnet_id = yandex_vpc_subnet.joomla-pg-network-subnet-d.id
        }
      }
      
      # Создание БД
      
      resource "yandex_mdb_postgresql_database" "joomla-pg-tutorial-db" {
        cluster_id = yandex_mdb_postgresql_cluster.joomla-pg-cluster.id
        name       = local.db_name
        owner      = local.db_user
      }
      
      # Создание пользователя БД
      
      resource "yandex_mdb_postgresql_user" "joomla-user" {
        cluster_id = yandex_mdb_postgresql_cluster.joomla-pg-cluster.id
        name       = local.db_user
        password   = var.db_password
      }
      
      # Создание зоны DNS
      
      resource "yandex_dns_zone" "joomla-pg" {
        name    = local.dns_zone_name
        zone    = "${var.domain_name}."
        public  = true
      }
      
      # Добавление сертификата Let's Encrypt
      
      resource "yandex_cm_certificate" "le-certificate" {
        name    = local.cert_name
        domains = [var.domain_name]
      
        managed {
        challenge_type = "DNS_CNAME"
        challenge_count = 1
        }
      }
      
      # Создание CNAME-записей для валидации доменов при выпуске сертификата
      
      resource "yandex_dns_recordset" "validation-record" {
        count   = yandex_cm_certificate.le-certificate.managed[0].challenge_count
        zone_id = yandex_dns_zone.joomla-pg.id
        name    = yandex_cm_certificate.le-certificate.challenges[count.index].dns_name
        type    = yandex_cm_certificate.le-certificate.challenges[count.index].dns_type
        ttl     = 600
        data    = [yandex_cm_certificate.le-certificate.challenges[count.index].dns_value]
      }
      
      # Создание ресурсной записи типа А
      
      resource "yandex_dns_recordset" "joomla-pg-a" {
        zone_id = yandex_dns_zone.joomla-pg.id
        name    = "${yandex_dns_zone.joomla-pg.zone}"
        type    = "A"
        ttl     = 600
        data    = [ yandex_compute_instance.joomla-pg-vm.network_interface.0.nat_ip_address ]
      }
      
    3. Создайте в папке файл с пользовательскими данными joomla-postgresql-terraform.auto.tfvars:

      joomla-postgresql-terraform.auto.tfvars
      folder_id          = "<идентификатор_каталога>"
      ssh_key_path       = "<путь_к_публичному_SSH-ключу>"
      db_password        = "<пароль_для_доступа_к_БД>"
      domain_name        = "<доменное_имя>"
      

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

    • Сеть — yandex_vpc_network.
    • Подсети — yandex_vpc_subnet.
    • Группы безопасности — yandex_vpc_security_group.
    • Образ ВМ — yandex_compute_image.
    • Диск — yandex_compute_disk.
    • Виртуальная машина — yandex_compute_instance.
    • Кластер PostgreSQL — yandex_mdb_postgresql_cluster.
    • БД PostgreSQL — yandex_mdb_postgresql_database.
    • Пользователь БД — yandex_mdb_postgresql_user.
    • Зона DNS — yandex_dns_zone.
    • Ресурсная запись DNS — yandex_dns_recordset.
    • TLS-Сертификат — yandex_cm_certificate.
  3. В файле joomla-postgresql-terraform.auto.tfvars задайте пользовательские параметры:

    • folder_id — идентификатор каталога.

    • ssh_key_path — путь к файлу с открытым SSH-ключом для аутентификации пользователя на ВМ. Подробнее см. Создание пары ключей SSH.

    • db_password — пароль для доступа к БД. Длина пароля должна составлять от 8 до 128 символов.

    • domain_name — имя домена. Укажите ваше зарегистрированное доменное имя, делегированное Yandex Cloud DNS. Например: example.com.

      Чтобы получить доступ к именам из публичной зоны, вам нужно делегировать домен. Укажите адреса серверов ns1.yandexcloud.net и ns2.yandexcloud.net в личном кабинете вашего регистратора доменных имен.

  4. Создайте ресурсы:

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

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

      terraform validate
      

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

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

      terraform plan
      

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

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

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

После создания инфраструктуры, установите Joomla.

Настройте окружение на виртуальной машинеНастройте окружение на виртуальной машине

На этом этапе вы подготовите окружение на виртуальной машине для запуска и настройки Joomla.

  1. Экспортируйте TLS-сертификат joomla-cert на локальный компьютер:

    Консоль управления
    1. В консоли управления выберите каталог, в котором вы создаете инфраструктуру.
    2. В списке сервисов выберите Certificate Manager и выберите сертификат joomla-cert.
    3. На панели сверху нажмите Экспортировать сертификат, выберите вариант Сертификат без приватного ключа и нажмите Скачать сертификат. На ваш компьютер будет скачан файл с сертификатом certificate.pem.
    4. Повторите предыдущее действие и скачайте закрытый ключ, выбрав вариант Только приватный ключ. Переименуйте скачанный файл с закрытым ключом в private_key.pem.
    5. Сохраните скачанные файлы certificate.pem и private_key.pem — они понадобятся при настройке веб-сервера.
  2. Скопируйте на ВМ полученные сертификат и закрытый ключ:

    scp ./certificate.pem yc-user@<IP-адрес_ВМ>:certificate.pem \
      && scp ./private_key.pem yc-user@<IP-адрес_ВМ>:private_key.pem
    

    Где <IP-адрес_ВМ> — публичный IP-адрес созданной ранее ВМ joomla-web-server.

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

    При первом подключении к ВМ появится предупреждение о неизвестном хосте:

    The authenticity of host '51.250.**.*** (51.250.**.***)' can't be established.
    ED25519 key fingerprint is SHA256:PpcKdcT09gjU045pkEIwIU8lAXXLpwJ6bKC********.
    This key is not known by any other names
    Are you sure you want to continue connecting (yes/no/[fingerprint])?
    

    Введите в терминале слово yes и нажмите Enter.

  3. Подключитесь к ВМ по SSH:

    ssh yc-user@<IP-адрес_ВМ>
    
  4. Создайте директорию для сертификата и перенесите в нее скопированные файлы:

    sudo mkdir /etc/ssl-certificates
    sudo mv certificate.pem /etc/ssl-certificates/
    sudo mv private_key.pem /etc/ssl-certificates/
    
  5. Обновите версии пакетов, установленные на ВМ:

    sudo apt update && sudo apt upgrade -y
    
  6. Установите и запустите Apache HTTP-сервер:

    sudo apt install apache2
    sudo systemctl start apache2 && sudo systemctl enable apache2
    
  7. Установите PHP c необходимыми библиотеками:

    sudo apt install php libapache2-mod-php php-common php-pgsql php-xml php-mbstring php-curl php-zip php-intl php-json unzip
    
  8. Скачайте и распакуйте пакет Joomla:

    Примечание

    В примере приведена ссылка на скачивание версии Joomla 5.2.4, актуальной на момент написания данного руководства. Уточнить наличие более новой версии и получить ссылку на скачивание вы можете на сайте проекта.

    wget https://downloads.joomla.org/cms/joomla5/5-2-4/Joomla_5-2-4-Stable-Full_Package.zip -O Joomla.zip
    sudo rm /var/www/html/index.html
    sudo unzip Joomla.zip -d /var/www/html
    rm Joomla.zip
    
  9. Настройте разрешения на доступ к директории с сайтом:

    sudo chown -R www-data:www-data /var/www/html
    sudo chmod -R 755 /var/www/html
    
  10. Измените номер порта по умолчанию, использующийся Joomla для доступа к базам данных PostgreSQL: в Yandex Managed Service for PostgreSQL используется порт 6432.

    1. Откройте файл настроек драйверов доступа к базам данных Joomla:

      sudo nano /var/www/html/libraries/vendor/joomla/database/src/Pdo/PdoDriver.php
      
    2. Найдите в файле раздел с настройками баз данных PostgreSQL и замените номер порта c 5432 на 6432:

      ...
      case 'pgsql':
      $this->options['port'] = $this->options['port'] ?? 6432;
      ...
      

      Не забудьте сохранить внесенные изменения.

  11. Настройте виртуальный хост для вашего сайта:

    1. Создайте файл конфигурации виртуального хоста:

      sudo nano /etc/apache2/sites-available/joomla.conf
      
    2. Поместите в созданный файл следующую конфигурацию:

      <VirtualHost *:80>
          ServerAdmin admin@localhost
          DocumentRoot /var/www/html
          ServerName <имя_домена>
      
          <Directory /var/www/html>
              Options FollowSymLinks
              AllowOverride All
              Require all granted
          </Directory>
      
          ErrorLog ${APACHE_LOG_DIR}/joomla_http_error.log
          CustomLog ${APACHE_LOG_DIR}/joomla_http_access.log combined
      </VirtualHost>
      
      <VirtualHost *:443>
          ServerAdmin admin@localhost
          DocumentRoot /var/www/html
          ServerName <имя_домена>
      
          ErrorLog ${APACHE_LOG_DIR}/joomla_ssl_error.log
          CustomLog ${APACHE_LOG_DIR}/joomla_ssl_access.log combined
      
          SSLEngine on
          SSLCertificateFile /etc/ssl-certificates/certificate.pem
          SSLCertificateChainFile /etc/ssl-certificates/certificate.pem
          SSLCertificateKeyFile /etc/ssl-certificates/private_key.pem
      </VirtualHost>
      

      Где <имя_домена> — доменное имя вашего сайта. Например: example.com.

  12. Активируйте созданный виртуальный хост и перезапустите веб-сервер:

    sudo a2ensite joomla.conf
    sudo a2enmod rewrite
    sudo a2enmod ssl
    sudo systemctl restart apache2
    

Настройте JoomlaНастройте Joomla

  1. Получите имена хостов кластера Managed Service for PostgreSQL, они потребуются в процессе установки Joomla:

    Консоль управления
    1. В консоли управления выберите каталог, в котором находится кластер, и в списке сервисов выберите Managed Service for PostgreSQL.
    2. Выберите кластер joomla-pg-cluster и перейдите на вкладку Хосты.
    3. Наведите указатель мыши на поле FQDN хоста в строке с каждым из хостов и нажмите значок , чтобы скопировать FQDN хоста. Сохраните скопированные значения — они понадобятся позднее.
  2. Установите и настройте Joomla:

    1. Откройте в браузере мастер установки и настройки Joomla. На этом этапе он должен быть доступен по любому из адресов:

      • http://<публичный_IP-адрес_ВМ>
      • http://<имя_вашего_домена>
      • https://<имя_вашего_домена>
    2. При настройке параметров базы данных заполните поля:

      • Тип базы данных — PostgreSQL (PDO).

      • Имя хоста:

        <имя_хоста_1>,<имя_хоста_2>,<имя_хоста_3>
        

        Где <имя_хоста_1>, <имя_хоста_2>, <имя_хоста_3> — FQDN-имена хостов кластера Managed Service for PostgreSQL, скопированные на предыдущем шаге.

      • Имя пользователя базы данных — joomla.

      • Пароль пользователя базы данных — пароль пользователя БД, заданный при создании кластера PostgreSQL.

      • Имя базы данных — joomla_db.

      • Шифрование соединения — оставьте значение по умолчанию.

    3. В качестве проверки безопасности Joomla может попросить вас создать или удалить определенный тестовый файл в директории установки продукта на ВМ. Перейдите в директорию /var/www/html/installation/ и создайте или удалите там указанный файл:

      Вы пытаетесь использовать хост базы данных, который недоступен на локальном 
      сервере. Вам необходимо подтвердить право собственности на учетную запись 
      на хостинге. Пожалуйста, ознакомьтесь с информацией на странице Защищенная 
      процедура установки Joomla.
      
      Для подтверждения права собственности на сайт, пожалуйста, удалите файл 
      _JoomlazUZKusLnD2jXi********.txt в каталоге installation и нажмите 
      "Установить Joomla" для продолжения.
      
  3. После завершения установки удалите директорию installation на ВМ. Это требование безопасности Joomla:

    sudo rm -rf /var/www/html/installation
    

Если в процессе установки Joomla у вас возникли трудности, воспользуйтесь инструкцией на сайте проекта.

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

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

  • http://<публичный_IP-адрес_ВМ>
  • http://example.com
  • https://example.com

Теперь вы можете приступить к дальнейшей настройке вашего сайта и наполнению его контентом с помощью административного интерфейса и инструментов Joomla.

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

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

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

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

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

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

      terraform validate
      

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

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

      terraform plan
      

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

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

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

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

  • Создание сайта на базе Joomla с базой данных PostgreSQL с помощью Консоли управления.

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

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