Как перенести WordPress-сайт на Drupal

Узнайте, как перенести WordPress на Drupal, используя модуль WordPress Migrate. Данная статья предоставляет пошаговые инструкции для экспорта WordPress-сайта, установки Drupal и плагина WordPress Migrate.

Содержание

Экспорт WordPress

Зайдите в панель администрирования WordPress, Инструменты > Экспорт (Tools > Export).

Выберите «Все содержимое» (All Content), затем нажмите «Скачать файл экспорта» (Download Export File). Сохраните этот файл на ваш компьютер.

Создайте резервную копию

Мы рекомендуем создать резервную копию сайта. Это позволит вам «откатить» изменения, если потребуется.

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

Установка Drupal

Установите Drupal в ту же папку, где находится WordPress. Это приведёт к тому, что сайт перестанет работать. Но вы все равно сохраните доступ к панели администрирования, а по адресу сайта будет отображаться ресурс на Drupal.

Прежде, чем продолжить, убедитесь, что вы создали резервные копии всех файлов WordPress-сайта.

Проверка системных характеристик сервера

У Drupal 7 есть несколько технических требований, которым должен соответствовать используемый сервер.

Проверка версии PHP

Drupal 7 поддерживает только PHP 5.2.5 или выше. Чтобы проверить версию PHP, с помощью командной строки перейдите в корень сайта и создайте файл phpinfo.php:

sudo nano phpinfo.php

Добавьте туда следующий код:

<?php
phpinfo();
?>

В целях безопасности необходимо удалить этот файл после того, как вы проверите версию PHP.

Сохраните файл и закройте его. Затем откройте в браузере. Версия PHP будет отображена в верхней части страницы.

В примере, приведенном выше, сервер работает на PHP версии 5.4.16.

Проверьте версию MySQL/MariaDB

Drupal 7 поддерживает MySQL 5.0.15/MariaDB 5.1.44 или выше. Чтобы проверить версию MySQL/MariaDB на сервере, зайдите в клиентское приложение СУБД, выполнив команду:

sudo mysql -u root -p

Номер версии будет отображён в приветственном сообщении.

В примере, приведенном выше, сервер работает на MySQL версии 5.5.47.

Проверьте версию Apache

Drupal 7 поддерживает Apache версии 1.3 или выше. Чтобы проверить ее, выполните команды:

В CentOS и Red Hat:

sudo httpd -v

В Ubuntu и Debian:

sudo apache2 -v

Это отобразит информацию об используемом сервере Apache.

В примере, приведенном выше, сервер работает на Apache версии 2.4.6.

Скачайте и распакуйте установочный пакет Drupal

Подключитесь к серверу с помощью SSH и перейдите в корень сайта. Скачайте актуальную версию Drupal, выполнив команду:

sudo wget [download URL]

Чтобы найти URL-адрес для загрузки, посетите страницу загрузки на сайте Drupal. Перейдите в раздел «Рекомендованная версия» («Recommended release») для Drupal Core 7.x.

На следующей странице, скопируйте URL-адрес ссылки «Download .tar.gz». Чтобы сделать это, кликните правой кнопкой по кнопке скачивания и выберите пункт «Скопировать ссылку» («Copy link location»). Затем вы сможете вставить этот адрес, нажав Shift + Insert.

Например, чтобы скачать текущую стабильную версию Drupal 7.50, используйте приведенную команду:

sudo wget https://ftp.drupal.org/files/projects/drupal-7.51.tar.gz

Распакуйте файл:

sudo tar --strip-components=1 -xvzf [file name]

Совет: Можно использовать автоматическое заполнение, чтобы упростить процесс. Наберите sudo tar -xvf drup и нажмите Tab. Командная строка автоматически добавит остальную часть имени файла.

Например, для распаковки файла, скачанного в приведенном выше примере, команда будет следующей:

sudo tar --strip-components=1 -xvzf 
https://ftp.drupal.org/files/projects/drupal-7.51.tar.gz

После того, как содержимое Drupal распаковано, установите право собственности на файлы для пользователя Apache:

В CentOS 7:

sudo chown -R apache:apache *

В Ubuntu и Debian:

sudo chown -R www-data:www-data *

Теперь можно удалить файл .tar.gz:

sudo rm [file name]

Для этого используйте следующую команду:

sudo rm drupal-7.51.tar.gz

Создание базы данных

Теперь нужно создать базу данных. Подключитесь к серверу с помощью SSH и зайдите в СУБД MySQL/MariaDB, выполнив следующую команду:

sudo mysql –u root –p

Создайте базу данных с помощью приведенной ниже команды:

CREATE DATABASE [database name];

Замените [database name] именем вашей базы данных и выполните следующую команду:

CREATE DATABASE my_drupal_site;

Создайте пользователя базы данных и предоставьте ему все права с помощью приведенной ниже команды:

GRANT all ON [database name].* TO [database username]@localhost IDENTIFIED BY 
'[database user password]';

Замените:

  • [database name] именем вашей базы данных;
  • [database username] именем пользователя;
  • [database user password] паролем для этого пользователя.

Например, чтобы создать пользователя my_drupal_user с паролем Fr4i*Re!2 и предоставить ему права администратора в базе данных my_drupal_site, используйте эту команду:

GRANT ALL ON my_drupal_site.* TO my_drupal_user@localhost IDENTIFIED BY 
'Fr4i*Re!2';

После этого выйдите из клиентского приложения СУБД с помощью команды

quit;

Завершение установки

Перейдите в браузер и откройте ваш сайт. Вы увидите установочную страницу Drupal. Выберите вариант «Стандартный» (Standard) и нажмите «Сохранить и продолжить» (Save and Continue).

На следующей странице нажмите «Сохранить и продолжить» (Save and Continue).

Выберите MySQL, MariaDB или другую СУБД. Затем укажите параметры подключения к базе данных: имя пользователя базы данных и пароль, которые были созданы на предыдущем шаге. Нажмите «Сохранить и продолжить» (Save and Continue).

На следующей странице введите информацию о сайте и создайте учётную запись администратора. Заполните все необходимые поля, прокрутите страницу вниз и нажмите «Сохранить и продолжить» (Save and Continue).

Теперь можно использовать Drupal 7.

Кликните правой кнопкой мыши по ссылке для скачивания файла .tar.gz и скопируйте URL-адрес

Затем войдите на Drupal-сайт с правами администратора и нажмите на пункт меню «Модули» (Modules).

На странице модулей нажмите «Установить новый модуль» (Install New Module).

Вставьте URL-адрес для скачивания файла .tar.gz в поле «Установить с URL» (Install from a URL) и нажмите «Установить» (Install).

Повторите описанный выше процесс, чтобы установить модуль WordPress Migrate, используя URL-адрес со страницы Drupal-проекта WordPress Migrate.

Вернитесь на страницу модулей в раздел «Перенос» (Migration), в котором расположены модули для переноса сайта.

Отметьте флажками опции Migrate, Migrate Example, Migrate UI и Migration из модуля WordPress, а затем нажмите «Сохранить конфигурацию» (Save configuration).

Перенос WordPress-сайта

Создайте приватную папку

Создайте папку в корневом каталоге сайта. Например, если корневая папка сайта – это /var/www/example.com/html, то создайте новую /var/www/example.com/drupal. Чтобы сделать это в SSH-сессии, используйте команду:

sudo mkdir /var/www/example.com/drupal

В CentOS 7:

sudo chown -R apache:apache /var/www/example.com/drupal

В Ubuntu 14.04:

sudo chown -R www-data:www-data /var/www/example.com/drupal

Измените файл php.ini (если это необходимо)

Если WordPress экспортирует XML-файл размером более 2Мб, нужно изменить файл php.ini на сервере. Иначе перенос завершится ошибкой «The file could not be uploaded, most likely because the file size exceeds the configured limit of 2 MB» («Файл не может быть загружен, потому что его размер превышает установленный лимит в 2 Мб»).

Найдите файл php.ini. Для этого создайте файл phpinfo.php в корне сайта. В данном примере корень сайта – это /var/www/example.com/html:

sudo nano /var/www/example.com/html/phpinfo.php

Добавьте приведенный ниже код в только что созданный файл:

<?php phpinfo(); ?>

Сохраните и закройте файл, а затем откройте в браузере. Он выведет список всех параметров PHP сервера. Найдёте раздел «загруженный файл конфигурации» (Loaded Configuration File).

Откройте файл конфигурации по указанному пути:

sudo nano /etc/php.ini

Нас интересуют следующие строки:

; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 2M

Измените значение 2M на большее число. В приведенном ниже примере мы увеличим максимальный размер загружаемого файла до 4Mb:

; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 4M

Сохраните файл php.ini, затем перезагрузите сервер, чтобы внесенные изменения вступили в силу.

В CentOS 7:

sudo systemctl restart httpd

В Ubuntu 14.04

sudo service apache2 restart

Из соображений безопасности удалите страницу phpinfo.php.

Завершите перенос

В панели администрирования Drupal нажмите на кнопку «Контент» (Content).

Перейдите на вкладку «Перенос» (Migrate).

Нажмите «Импортировать из WordPress» (Import from WordPress).

Теперь нужно настроить путь к файлам для загрузки. Перейдите на страницу Конфигурация > Медиа (Configuration > Media).

Введите полный путь к папке, которую вы создали. Затем нажмите «Сохранить конфигурацию» (Save Configuration).

Настройки будут сохранены, и вы вернётесь на страницу переноса. Нажмите на кнопку «Обзор» (Browse), чтобы выбрать XML-файл экспорта WordPress (WXR), сохраненный на вашем компьютере. Затем нажмите «Далее» (Next).

На следующем шаге Drupal спросит, хотите ли вы импортировать пользователей WordPress или назначить все посты новому пользователю Drupal. Выберите «Да» (Yes) и нажмите «Далее» (Next).

Следующий шаг похож на предыдущий и относится к авторам WordPress. Выберите «Да» (Yes) и нажмите «Далее» (Next).

Затем Drupal спросит, как импортировать контент с WordPress-сайта. Оптимальным вариантом будет импортировать посты как тип «Статья» (Article), а страницы — как тип «Основная страница» (Basic page).

Следующий шаг импорта преобразует посты WordPress- блога. После установки всех параметров нажмите «Далее» (Next).

Шестой шаг отвечает за обработку страниц WordPress. После настройки нажмите «Далее» (Next).

На последнем шаге убедитесь, что правильно задали параметры импорта вашего сайта. После этого нажмите «Сохранить настройки импорта и выполнить импорт» (Save import settings and run import).

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

Данная публикация представляет собой перевод статьи «How to Migrate a WordPress Site to Drupal» , подготовленной дружной командой проекта Интернет-технологии.ру