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

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

  • Сделайте бэкап сайта
  • Подготовьте облако к работе
  • Необходимые платные ресурсы
  • Создайте ВМ для WordPress
  • Подключитесь к ВМ
  • Установите и настройте дополнительные компоненты
  • Установите редактор nano
  • Установите phpMyAdmin
  • Настройте phpMyAdmin
  • Импортируйте БД
  • Отключите phpMyAdmin
  • Перенесите файлы сайта
  • Настройте DNS
  • Добавьте зону DNS
  • Добавьте ресурсные записи
  • Делегируйте доменное имя
  • Проверьте работу сайта
  • Установите SSL-сертификат c помощью Let’s Encrypt®
  • Установите клиент Let’s Encrypt
  • Получите SSL-сертификат
  • Выполните автообновление
  • Проверьте работу сайта
  1. Прикладные решения
  2. Создание сайта
  3. Перенос WordPress сайта с хостинга в Yandex Cloud

Перенос WordPress сайта с хостинга в Yandex Cloud

Статья создана
Yandex Cloud
Улучшена
Gorpinchuk D.
Обновлена 15 апреля 2025 г.
  • Сделайте бэкап сайта
  • Подготовьте облако к работе
    • Необходимые платные ресурсы
  • Создайте ВМ для WordPress
  • Подключитесь к ВМ
  • Установите и настройте дополнительные компоненты
    • Установите редактор nano
    • Установите phpMyAdmin
    • Настройте phpMyAdmin
  • Импортируйте БД
    • Отключите phpMyAdmin
  • Перенесите файлы сайта
  • Настройте DNS
    • Добавьте зону DNS
    • Добавьте ресурсные записи
    • Делегируйте доменное имя
    • Проверьте работу сайта
  • Установите SSL-сертификат c помощью Let’s Encrypt®
    • Установите клиент Let’s Encrypt
    • Получите SSL-сертификат
    • Выполните автообновление
  • Проверьте работу сайта

WordPress — система управления контентом с открытым исходным кодом.

С помощью WordPress вы можете создавать новостные сайты, личные или корпоративные блоги, сайты организаций, онлайн-магазины и другие сервисы.

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

В Yandex Cloud вы можете быстро создать сайт на WordPress или перенести с другого хостинга.

Для переноса сайта на CMS WordPress в Yandex Cloud:

  1. Сделайте бэкап сайта.
  2. Подготовьте облако к работе.
  3. Создайте виртуальную машину для WordPress.
  4. Подключитесь к ВМ.
  5. Установите и настройте дополнительные компоненты.
  6. Импортируйте базу данных.
  7. Перенесите файлы сайта.
  8. Настройте DNS.
  9. Создайте SSL-сертификат.
  10. Проверьте работу сайта.

Сделайте бэкап сайта

Сделайте бэкап файлов сайта и БД одним из способов:

  • С помощью различных плагинов для WordPress (например, BackWPup или Updraft Plus).

  • С помощью встроенных средств в панели управления хостингом, на котором располагается ваш сайт.

  • Скопировать все файлы на свой жесткий диск через FTP-клиент, а БД экспортировать через панель phpMyAdmin.

    Этот вариант дольше и займет от 5 до 20 минут — придется копировать много небольших файлов, из которых состоит сайт.

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

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

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

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

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

Убедитесь, что в выбранном каталоге есть облачная сеть с подсетью хотя бы в одной зоне доступности. Для этого на странице каталога выберите сервис Virtual Private Cloud. Если в списке есть сеть — нажмите на нее, чтобы увидеть список подсетей. Если нужных подсетей или сети нет, создайте их.

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

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

  • Плата за постоянно запущенную ВМ (см. тарифы Yandex Compute Cloud).
  • Плата за использование динамического или статического публичного IP-адреса (см. тарифы Yandex Virtual Private Cloud).
  • Плата за публичные DNS-запросы и зоны (см. тарифы Yandex Cloud DNS).

Создайте ВМ для WordPress

Чтобы создать ВМ:

  1. На странице каталога в консоли управления нажмите кнопку Создать ресурс и выберите Виртуальная машина.

  2. В блоке Образ загрузочного диска в поле Поиск продукта введите LAMP и выберите публичный образ LAMP, который содержит необходимый набор компонентов: операционную систему семейства Linux, веб-сервер Apache, СУБД MySQL® и интерпретатор PHP.

  3. В блоке Расположение выберите зону доступности, в которой будет находиться ВМ. Если вы не знаете, какая зона доступности вам нужна, оставьте выбранную по умолчанию.

  4. В блоке Диски и файловые хранилища выберите тип диска и задайте нужный размер.

  5. В блоке Вычислительные ресурсы перейдите на вкладку Своя конфигурация и укажите необходимую платформу, количество vCPU и объем RAM:

    • Платформа — Intel Ice Lake.
    • vCPU — 2.
    • Гарантированная доля vCPU — 20%.
    • RAM — 1 ГБ.
  6. В блоке Сетевые настройки:

    • В поле Подсеть выберите сеть и подсеть, к которым нужно подключить ВМ. Если нужной сети или подсети еще нет, создайте их.
    • В поле Публичный IP-адрес оставьте значение Автоматически, чтобы назначить ВМ случайный внешний IP-адрес из пула Yandex Cloud, или выберите статический адрес из списка, если вы зарезервировали его заранее.
  7. В блоке Доступ выберите вариант SSH-ключ и укажите данные для доступа на ВМ:

    • В поле Логин введите имя пользователя. Не используйте имя root или другие имена, зарезервированные ОС. Для выполнения операций, требующих прав суперпользователя, используйте команду sudo.
    • В поле SSH-ключ выберите SSH-ключ, сохраненный в вашем профиле пользователя организации.

      Если в вашем профиле нет сохраненных SSH-ключей или вы хотите добавить новый ключ:

      • Нажмите кнопку Добавить ключ.
      • Задайте имя SSH-ключа.
      • Загрузите или вставьте содержимое открытого SSH-ключа. Пару SSH-ключей для подключения к ВМ по SSH необходимо создать самостоятельно.
      • Нажмите кнопку Добавить.

      SSH-ключ будет добавлен в ваш профиль пользователя организации.

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

  8. В блоке Общая информация задайте имя ВМ: wordpress-vm.

    Внимание

    IP-адрес и имя хоста (FQDN) для подключения к ВМ назначается ей при создании. Если вы выбрали вариант Без адреса в поле Публичный IP-адрес, вы не сможете обращаться к ВМ из интернета.

  9. В блоке Дополнительно выберите сервисный аккаунт или создайте новый.

  10. Нажмите Создать ВМ.

    Создание ВМ может занять несколько минут. Когда ВМ перейдет в статус RUNNING, вы можете загрузить на нее файлы сайта.

Подключитесь к ВМ

Вы можете подключиться к ВМ по протоколу SSH, когда она будет запущена (в статусе RUNNING). Для этого можно использовать утилиту ssh в Linux/macOS/Windows 10 и программу PuTTY для Windows 7/8.

Для подключения к ВМ необходимо указать ее публичный IP-адрес.

Чтобы скопировать публичный IP-адрес ВМ:

  1. Откройте страницу каталога в консоли управления.
  2. Выберите сервис Compute Cloud.
  3. На панели слева выберите Виртуальные машины.
  4. Найдите созданную ВМ и нажмите на ее имя.
  5. В разделе Сеть скопируйте IP-адрес из поля Публичный IPv4-адрес.

Выполните подключение к ВМ.

Установите и настройте дополнительные компоненты

Перед тем, как перейти к переносу файлов, необходимо:

  • Установить текстовый редактор nano — он потребуется нам для внесения правок в некоторые файлы конфигурации.
  • Установить и настроить phpMyAdmin для работы с БД сайта.

Установите редактор nano

Ubuntu

Выполните команду:

sudo apt install nano

Дождитесь установки редактора.

Установите phpMyAdmin

Ubuntu
  1. Выполните команды:

    sudo apt-get update
    sudo apt-get install phpmyadmin php-mbstring php-gettext
    
  2. В процессе установки выберите сервер, на который будет установлен phpMyAdmin. Выберите Apache2 и нажмите пробел на клавиатуре — напротив Apache2 появится значок *. Нажмите Enter.

  3. Настройте доступ phpMyAdmin к БД. Для этого на вопрос Configure database for phpmyadmin with dbconfig-common? выберите <yes>. Ввод пароля можно пропустить, система автоматически сгенерирует его. Чтобы скопировать сгенерированный пароль, выполните команду:

    sudo cat /root/default_passwords.txt
    

    Текст файла должен содержать данные:

    MYSQL_ROOT_PASS=KjZKrQV7efFGk
    

    Скопируйте и сохраните пароль MYSQL_ROOT_PASS. Он понадобится далее.

  4. Включите расширение mbstring для PHP:

    sudo phpenmod mbstring
    
  5. Чтобы принять все изменения, перезапустите Apache:

    sudo systemctl restart apache2
    
  6. Откройте phpMyAdmin через браузер. В адресной строке введите http://<публичный_IP-адрес_ВМ>/phpmyadmin.

    Для входа в phpMyAdmin используйте следующие данные:

    Пользователь: root
    Пароль: сгенерированный системой (MYSQL_ROOT_PASS из файла default_passwords.txt)
    

Настройте phpMyAdmin

Настройте дополнительный пароль для входа в панель phpMyAdmin. Чтобы включить возможность использования настроек доступа в .htaccess, отредактируйте файл phpmyadmin.conf.

Ubuntu
  1. Выполните команду:

    sudo nano /etc/apache2/conf-available/phpmyadmin.conf
    
  2. Добавьте в файл phpmyadmin.conf строку AllowOverride All:

    <Directory /usr/share/phpmyadmin>
    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php
    AllowOverride All
    
  3. Сохраните изменения в файле phpmyadmin.conf. Для этого нажмите Ctrl + O и Enter. Для выхода из файла нажмите Ctrl + X.

  4. Перезапустите Apache:

    sudo systemctl restart apache2
    
  5. Создайте .htaccess:

    sudo nano /usr/share/phpmyadmin/.htaccess
    
  6. Скопируйте строки в .htaccess:

    AuthType Basic
    AuthName "Restricted Files"
    AuthUserFile /etc/phpmyadmin/.htpasswd
    Require valid-user
    
  7. Сохраните изменения в файле.

  8. Создайте .htpasswd:

    sudo htpasswd -c /etc/phpmyadmin/.htpasswd <имя_пользователя>
    

    Введите желаемый пароль и повторите его.

  9. Перезапустите Apache:

    sudo systemctl restart apache2
    

Теперь при входе в phpMyAdmin нужно будет ввести дополнительный логин и пароль, указанный в файле .htpasswd.

Импортируйте БД

Ubuntu
  1. Откройте файл конфигурации WordPress вашего сайта. Для этого распакуйте архив и в корневой папке откройте файл wp-config.php. Найдите значения параметров DB_USER, DB_NAME, DB_PASSWORD:

    define('DB_USER', 'UsernameTEST');
    define('DB_NAME', 'database_wordpress');
    define('DB_PASSWORD', 'MySecretPassword');
    
  2. Зайдите в phpMyAdmin — введите в адресной строке браузера:

    http://<публичный_IP-адрес_ВМ>/phpmyadmin`
    
  3. Перейдите в раздел Учетные записи пользователей и добавьте учетную запись пользователя с параметрами:

    • Имя пользователя — вставьте значение для DB_USER из wp-config.php.
    • Имя хоста — оставьте по умолчанию %.
    • Пароль — вставьте значение для DB_PASSWORD из wp-config.php.
    • Глобальные привилегии — включите опцию Отметить все.

    Все остальные параметры при создании пользователя оставьте по умолчанию. Внизу экрана нажмите Вперед.

  4. Перейдите в раздел Базы данных. Заполните поле Имя базы данных — вставьте значение для DB_NAME из wp-config.php. Выберите кодировку utf8_general_ci. Нажмите Создать.

  5. Импортируйте БД из бэкапа:

    • В левой колонке выберите созданную БД.
    • Нажмите Импорт и выберите сохраненный бэкап БД. Если бэкап БД превышает установленный по умолчанию лимит 2 МБ, отредактируйте файл конфигурации php.ini, где задано данное ограничение.
    1. Выполните команду:

      sudo nano /etc/php/X.X/apache2/php.ini
      

      X.X— версия PHP. Возможные значения 5.6,7.0,7.1,7.2,7.3,7.4,8.0,8.1.

    2. Отредактируйте параметры:

      • upload_max_filesize — максимальный размер загружаемого файла.
      • post_max_size — максимальный размер сообщения методом POST.
      upload_max_filesize = 80M
      post_max_size = 80M
      
    3. Сохраните изменения — нажмите Ctrl + O и Enter. Для выхода из файла нажмите Ctrl + X.

    4. Перезапустите Apache:

      sudo systemctl restart apache2
      
    5. Повторите операцию импорта БД.

Отключите phpMyAdmin

Все основные действия по переносу БД выполнены. Чтобы не подвергать phpMyAdmin атакам извне, отключите утилиту:

Ubuntu
sudo a2disconf phpmyadmin.conf && sudo /etc/init.d/apache2 restart

Для работы с БД вы можете использовать терминал.

Перенесите файлы сайта

Чтобы перенести файлы бэкапа на ВМ, воспользуйтесь FTP-клиентом FileZilla:

  1. Откройте FileZilla.

  2. Перейдите в раздел Файл → Менеджер сайтов и добавьте новый сайт.

  3. Выберите протокол SFTP, введите публичный IP-адрес ВМ. В разделе Тип входа выберите Файл с ключом.

  4. Укажите пользователя, созданного при настройке ВМ, и выберите файл ключа — ключ находится в папке /Users/<имя_пользователя>/.ssh/.

    FTP-клиент не видит скрытую папку по умолчанию. Нажмите сочетание клавиш Cmd + Shift + G и выберите файл id_ed25519 без расширения pub. Будет выведено сообщение, что файл не поддерживается. FTP-клиент предложит переконвертировать его в нужный формат. Нажмите Да. Сохраните переконвертированный файл в удобном вам месте.

  5. Нажмите Подключиться и введите кодовую фразу, которую сформировали в начале работы. Вы подключитесь к ВМ.

  6. Найдите папку /var/www/html на ВМ и скопируйте в нее файл бэкапа. Файл index.html копировать не нужно.

    Ubuntu

    По умолчанию для этой папки заданы права 755. Чтобы скопировать файл архива сайта с жесткого диска в папку html, измените права на папку:

    sudo chmod 777 /var/www/html
    

    Распакуйте бэкап:

    cd /var/www/html
    tar -xvf FILENAME.tar.gz
    

    Вместо FILENAME укажите название файла с архивом сайта.

    Внимание

    Все файлы должны распаковываться в корневую директорию html, а не в поддиректорию /var/www/html/wordpress.

    Удалите файл бэкапа, чтобы он не занимал места:

    rm FILENAME.tar.gz
    

    Верните права на папки:

    • html и вложенных папок — 755.
    • Для всех файлов внутри html — 644.
    • Для wp-config.php отдельно уровень доступа — 600.
    cd var/www/
    sudo find ./ -type d -exec chmod 0755 {} \;
    sudo find ./ -type f -exec chmod 0644 {} \;
    sudo chmod 600 wp-config.php
    

    Параметр f — ищет все файлы внутри директорий. Параметр d — ищет все директории внутри html.

Настройте DNS

Воспользуйтесь сервисом Cloud DNS для управления доменом.

В инструкции ниже описана настройка DNS для доменного имени example.com.

Добавьте зону DNS

Консоль управления

Чтобы добавить публичную зону DNS:

  1. Откройте раздел Cloud DNS в каталоге, где требуется создать зону DNS.
  2. Нажмите кнопку Создать зону.
  3. Задайте настройки зоны DNS:
    • Зона — example.com.. Или укажите ваш зарегистрированный домен.
    • Тип — Публичная.
    • Имя — example-zone-1.
  4. Нажмите кнопку Создать.

Добавьте ресурсные записи

Создайте в публичной зоне записи DNS:

Консоль управления
  1. В блоке Сеть на странице виртуальной машины в консоли управления найдите публичный IP-адрес ВМ.
  2. Создайте запись типа А:
    • Откройте раздел Cloud DNS в каталоге, где находится зона DNS example.com.
    • Выберите зону DNS example.com из списка.
    • Нажмите кнопку Создать запись.
    • Задайте параметры записи:
      • Имя — оставьте пустым.
      • Тип — оставьте значение А.
      • Значение — введите публичный адрес вашей ВМ.
      • TTL (в секундах) (время кэширования записи) — оставьте значение по умолчанию.
    • Нажмите кнопку Создать.
  3. Создайте запись типа CNAME:
    • Выберите зону DNS example.com из списка.
    • Нажмите кнопку Создать запись.
    • Задайте параметры записи:
      • Имя — www.
      • Тип — выберите значение CNAME.
      • Значение — введите example.com.
      • TTL (в секундах) (время кэширования записи) — оставьте значение по умолчанию.
    • Нажмите кнопку Создать.

Делегируйте доменное имя

Делегирование — это перенос ответственности с серверов регистратора на ваши серверы. Для домена создаются ресурсные записи типа NS (ns1.yandexcloud.net и ns2.yandexcloud.net).

Чтобы делегировать домен, укажите для него DNS-серверы в личном кабинете регистратора.

Делегирование происходит не сразу. Серверы интернет-провайдеров обычно обновляют записи до 24 часов (86 400 секунд). Это обусловлено значением TTL, в течение которого кэшируются записи для доменов.

Проверить делегирование домена можно с помощью сервиса Whois или утилиты dig:

dig +short NS example.com

Результат:

ns2.yandexcloud.net.
ns1.yandexcloud.net.

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

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

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

Установите SSL-сертификат c помощью Let’s Encrypt®

Для установки сертификата используйте Let’s Encrypt. Let’s Encrypt — это центр сертификации, предоставляющий бесплатные SSL-сертификаты.

Установите клиент Let’s Encrypt

Ubuntu
  1. Введите в терминал команду:

    sudo apt-get update && sudo apt-get install software-properties-common
    
  2. Добавьте репозитории universe and certbot:

    sudo add-apt-repository universe && sudo add-apt-repository ppa:certbot/certbot
    

    Нажмите Enter.

  3. Установите клиент Let’s Encrypt:

    sudo apt-get update && sudo apt-get install certbot python-certbot-apache
    
  4. Нажмите Y и Enter.

Получите SSL-сертификат

Ubuntu
  1. Введите команду:

    sudo certbot --apache
    
  2. В интерфейсе введите название вашего домена example.com или www.example.com.

  3. Определите, нужно ли перенаправлять все страницы с http на https при открытии сайта. Выберите 2 — перенаправить на https.

  4. Протестируйте ваш сайт — введите в адресную строку браузера https://www.ssllabs.com/ssltest/analyze.html?d=example.com.

Выполните автообновление

Сертификат выдается на 90 дней. Необходимо регулярно обновлять его. Настройте расписание обновления с помощью cron:

Ubuntu
  1. Введите в терминале команду:

    sudo crontab -e
    
  2. В диалоге выберите первый пункт из списка.

  3. Добавьте в самый конец файла строчку кода:

    30 2 * * 1 /usr/bin/certbot renew >> /var/log/le-renew.log
    

    В итоге будет запланировано обновление SSL-сертификата с выполнением каждый понедельник в 2:30 ночи. Результат выполнения будет записан в лог-файл.

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

У сайтов на WordPress иногда возникает проблема открытия внутренних ссылок при переходе от одного хостинга к другому. Проверьте, существует ли файл .htaccess в корневой папке вашего сайта — var/www/html/.htaccess.

Если файла нет, создайте его.

Ubuntu
  1. Введите в терминале команду:

    sudo nano /var/www/html/.htaccess
    
  2. Добавьте код:

    <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteBase /
      RewriteRule ^index\.php$ - [L]
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule . /index.php [L]
    </IfModule>
    
  3. Сохраните изменения — Ctrl + O и Enter. Для выхода нажмите Ctrl + X.

Проверьте сайт. Если ссылки не открываются, значит в Apache отключена поддержка .htaccess файла.

Чтобы включить поддержку .htaccess:

Ubuntu
  1. Введите команду:

    sudo nano /etc/apache2/sites-available/000-default.conf
    
  2. Добавьте код:

    <Directory /var/www/html>
      AllowOverride All
      Order allow,deny
      allow from all
    </Directory>
    
  3. В результате:

    <VirtualHost *:80 [::]:80>
      ServerAdmin webmaster@localhost
      DocumentRoot /var/www/html
      <Directory /var/www/html>
        AllowOverride All
        Order allow,deny
        allow from all
      </Directory>
      ErrorLog ${APACHE_LOG_DIR}/error.log
      CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>
    
  4. Перезапустите Apache:

    sudo systemctl restart apache2
    

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

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