Создание сайта на WordPress
Создайте и настройте веб-сайт на базе CMS WordPress с помощью специального образа виртуальной машины.
Чтобы настроить веб-сайт на WordPress:
Если сайт вам больше не нужен, удалите ВМ с ним.
Также инфраструктуру для веб-сайта на базе CMS WordPress можно развернуть через Terraform с помощью готового файла конфигурации.
Подготовьте облако к работе
Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:
- Перейдите в консоль управления
, затем войдите в Yandex Cloud или зарегистрируйтесь. - На странице Yandex Cloud Billing
убедитесь, что у вас подключен платежный аккаунт, и он находится в статусеACTIVE
илиTRIAL_ACTIVE
. Если платежного аккаунта нет, создайте его.
Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака
Подробнее об облаках и каталогах.
Убедитесь, что в выбранном каталоге есть облачная сеть с подсетью хотя бы в одной зоне доступности. Для этого на странице каталога выберите сервис VPC. Если в списке есть сеть — нажмите на нее, чтобы увидеть список подсетей. Если нужных подсетей или сети нет, создайте их.
Необходимые платные ресурсы
В стоимость поддержки веб-сайта на WordPress входит:
- Плата за постоянно запущенную ВМ (см. тарифы Yandex Compute Cloud).
- Плата за использование динамического или статического публичного IP-адреса (см. тарифы Yandex Virtual Private Cloud).
Создайте группу безопасности
Чтобы создать группу безопасности:
-
В консоли управления
выберите сервис Virtual Private Cloud. -
Откройте вкладку Группы безопасности.
-
Нажмите кнопку Создать группу.
-
Укажите Имя группы:
wordpress
. -
Выберите Сеть.
-
В блоке Правила создайте следующие правила по инструкции под таблицей:
Направление
трафикаОписание Диапазон
портовПротокол Тип источника /
назначенияИсточник /
назначениеИсходящий any Весь Любой CIDR 0.0.0.0/0 Входящий ext-http 80 TCP CIDR 0.0.0.0/0 Входящий ext-https 443 TCP CIDR 0.0.0.0/0 - Выберите вкладку Исходящий трафик или Входящий трафик.
- Нажмите кнопку Добавить правило.
- В открывшемся окне в поле Диапазон портов укажите порт, куда будет поступать трафик. Для исходящего трафика не указывайте ничего.
- В поле Протокол укажите нужный протокол. Для исходящего трафика оставьте Любой, чтобы разрешить передачу трафика по всем протоколам.
- В поле Назначение или Источник выберите CIDR — правило будет применено к диапазону IP-адресов. В поле CIDR блоки укажите
0.0.0.0/0
. - Нажмите кнопку Сохранить. Таким образом создайте все правила из таблицы.
-
Нажмите кнопку Сохранить.
См. раздел Как создать инфраструктуру с помощью Terraform.
Создайте ВМ для WordPress
Чтобы создать ВМ:
-
На странице каталога в консоли управления
нажмите кнопку Создать ресурс и выберите Виртуальная машина. -
В поле Имя введите имя ВМ
wordpress
. Требования к имени:- длина — от 3 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
Выберите зону доступности, в которой будет находиться ВМ.
-
В блоке Выбор образа/загрузочного диска перейдите на вкладку Cloud Marketplace и выберите публичный образ WordPress.
-
В блоке Вычислительные ресурсы:
- Выберите платформу.
- Укажите необходимое количество vCPU и объем RAM.
Для тестирования хватит минимальной конфигурации:
- Платформа — Intel Ice Lake.
- vCPU — 2.
- Гарантированная доля vCPU — 20%.
- RAM — 1 ГБ.
-
В блоке Сетевые настройки выберите, к какой подсети необходимо подключить ВМ при создании.
-
В пункте Публичный адрес выберите Автоматически.
-
В пункте Группа безопасности выберите группу
wordpress
. -
Укажите данные для доступа на ВМ:
-
В поле Логин введите имя пользователя.
-
В поле SSH-ключ вставьте содержимое файла открытого ключа.
Пару ключей для подключения по SSH необходимо создать самостоятельно. Подробнее см. Подключиться к виртуальной машине Linux по SSH.
-
-
Нажмите кнопку Создать ВМ.
Создание ВМ может занять несколько минут. Когда ВМ перейдет в статус RUNNING
, вы можете начать настраивать сайт.
При создании ВМ назначается публичный IP-адрес и имя хоста (FQDN). Эти данные можно использовать при настройке DNS и для доступа по SSH.
См. раздел Как создать инфраструктуру с помощью Terraform.
Настройте DNS (если есть доменное имя)
Если у вас есть зарегистрированное доменное имя, воспользуйтесь сервисом Yandex Cloud DNS для управления доменом.
Также настроить DNS можно с помощью Terraform, подробнее см. в разделе Как создать инфраструктуру с помощью Terraform.
В инструкции ниже описана настройка DNS для доменного имени example.com
.
Добавьте зону
Чтобы добавить публичную зону:
- Откройте раздел Cloud DNS в каталоге, где требуется создать зону DNS.
- Нажмите кнопку Создать зону.
- Задайте настройки зоны:
- Имя зоны:
example-zone-1
. - Зона:
example.com.
. Укажите ваш зарегистрированный домен. - Тип — Публичная.
- Имя зоны:
- Нажмите кнопку Создать.
Добавьте ресурсные записи
Создайте в публичной зоне записи DNS:
- В блоке Сеть на странице виртуальной машины в консоли управления
найдите публичный IP-адрес ВМ. - Создайте запись типа А:
- Откройте раздел Cloud DNS в каталоге, где находится зона
example.com
. - Выберите зону
example.com
из списка. - Нажмите кнопку Создать запись.
- Задайте параметры записи:
- Имя: оставьте пустым.
- Тип записи: оставьте значение
А
. - TTL (время кэширования записи): оставьте значение по умолчанию.
- Значение: введите публичный адрес вашей ВМ.
- Нажмите кнопку Создать.
- Откройте раздел Cloud DNS в каталоге, где находится зона
- Создайте запись типа CNAME:
- Выберите зону
example.com
из списка. - Нажмите кнопку Создать запись.
- Задайте параметры записи:
- Имя:
www
. - Тип записи: выберите значение
CNAME
. - TTL (время кэширования записи): оставьте значение по умолчанию.
- Значение: введите
example.com
.
- Имя:
- Нажмите кнопку Создать.
- Выберите зону
Делегируйте доменное имя
Делегирование — это перенос ответственности с серверов регистратора на ваши серверы. Для домена создаются ресурсные записи типа NS (ns1.yandexcloud.net
и ns2.yandexcloud.net
).
Чтобы делегировать домен, укажите для него DNS-серверы в личном кабинете регистратора.
Делегирование происходит не сразу. Серверы интернет-провайдеров обычно обновляют записи до 24 часов (86400 секунд). Это обусловлено значением TTL, в течение которого кэшируются записи для доменов.
Проверить делегирование домена можно с помощью сервиса Whoisdig
:
dig +short NS example.com
Результат:
ns2.yandexcloud.net.
ns1.yandexcloud.net.
Настройка WordPress
После того как ВМ wordpress
перейдет в статус RUNNING
, выполните:
-
В блоке Сеть на странице ВМ в консоли управления
найдите публичный IP-адрес ВМ и внесите в ресурсную запись типа А, созданную ранее. -
Перейдите по доменному имени, которое вы настроили, или по адресу ВМ в браузере.
-
Выберите язык и нажмите кнопку Продолжить.
-
Заполните информацию для доступа к сайту:
- Укажите любое название сайта, например,
yc-wordpress
. - Укажите имя пользователя, которое будет использоваться для входа в административную панель, например,
yc-user
. - Укажите пароль, который будет использоваться для входа в административную панель.
- Укажите вашу электронную почту.
- Укажите любое название сайта, например,
-
Нажмите кнопку Установить WordPress.
-
Если установка прошла успешно, нажмите кнопку Войти.
-
Войдите на сайт, используя указанные на прошлых шагах имя пользователя и пароль. После этого откроется административная панель, в которой можно приступать к работе с вашим сайтом.
-
Убедитесь, что сайт доступен, открыв публичный IP-адрес ВМ в браузере.
Как удалить созданные ресурсы
Чтобы перестать платить за развернутый сервер, достаточно удалить ВМ wordpress
.
Если вы зарезервировали статический публичный IP-адрес специально для этой ВМ:
- Выберите сервис VPC в вашем каталоге.
- Перейдите на вкладку IP-адреса.
- Найдите нужный IP-адрес, нажмите значок
и выберите пункт Удалить.
Как создать инфраструктуру с помощью Terraform
Terraform
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.
Чтобы разместить веб-сайт на базе CMS WordPress с помощью Terraform:
-
Установите Terraform, получите данные для аутентификации и укажите источник для установки провайдера Yandex Cloud (раздел Настройте провайдер, шаг 1).
-
Подготовьте файлы с описанием инфраструктуры.
Готовый архивВручную- Создайте папку для файлов.
- Скачайте архив
(1 КБ). - Разархивируйте архив в папку. В результате в ней должен появиться конфигурационный файл
wordpress.tf
.
-
Создайте папку для файлов.
-
Создайте в папке конфигурационный файл
wordpress.tf
:wordpress.tfterraform { required_providers { yandex = { source = "yandex-cloud/yandex" version = ">= 0.47.0" } } } provider "yandex" { zone = "ru-central1-a" } resource "yandex_compute_image" "wordpress" { source_family = "wordpress" } resource "yandex_compute_disk" "boot-disk" { name = "bootvmdisk" type = "network-hdd" zone = "ru-central1-a" size = "20" image_id = yandex_compute_image.wordpress.id } resource "yandex_compute_instance" "vm-wordpress" { name = "wordpress" platform_id = "standard-v3" resources { core_fraction = 20 cores = 2 memory = 1 } boot_disk { disk_id = yandex_compute_disk.boot-disk.id } network_interface { subnet_id = yandex_vpc_subnet.subnet-1.id nat = true security_group_ids = ["${yandex_vpc_security_group.sg-1.id}"] } metadata = { ssh-keys = "<имя_пользователя>:<содержимое_SSH-ключа>" } } resource "yandex_vpc_security_group" "sg-1" { name = "wordpress" description = "Description for security group" network_id = yandex_vpc_network.network-1.id ingress { protocol = "TCP" description = "ext-http" v4_cidr_blocks = ["0.0.0.0/0"] port = 80 } ingress { protocol = "TCP" description = "ext-https" v4_cidr_blocks = ["0.0.0.0/0"] port = 443 } egress { protocol = "ANY" description = "any" v4_cidr_blocks = ["0.0.0.0/0"] } } 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_dns_zone" "zone-1" { name = "example-zone-1" description = "Public zone" zone = "example.com." public = true } resource "yandex_dns_recordset" "rs-1" { zone_id = yandex_dns_zone.zone-1.id name = "example.com." ttl = 600 type = "A" data = ["${yandex_compute_instance.vm-wordpress.network_interface.0.nat_ip_address}"] } resource "yandex_dns_recordset" "rs-2" { zone_id = yandex_dns_zone.zone-1.id name = "www" ttl = 600 type = "CNAME" data = ["example.com"] }
Более подробную информацию о параметрах используемых ресурсов в Terraform см. в документации провайдера:
-
В блоке
metadata
укажите метаданные для создания ВМ<имя_пользователя>:<содержимое_SSH-ключа>
. Указанное имя пользователя не играет роли, ключ будет присвоен пользователю, который задан в конфигурации образа WordPress. В разных образах это разные пользователи. Подробнее см. в разделе Ключи, обрабатываемые в публичных образах. -
Создайте ресурсы:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validate
Если конфигурация является корректной, появится сообщение:
Success! The configuration is valid.
-
Выполните команду:
terraform plan
В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply
-
Подтвердите изменения: введите в терминале слово
yes
и нажмите Enter.
-