Перенос сайта на WordPress из командной строки

Задача по переносу сайта на WordPress между VPS серверами

Подразумевается, что у нас есть root доступ к обоим VPS, на VPS не стоит phpMyadmin по соображениям безопасности, да и вообще он не нужен.

Статья написана для начинающих, простыми словами и без лишней терминологии и сложностей. Написано для знакомых дизайнеров, которые делают сайты и потом передают их клиентам на их VPS/VDS сервера.

Вся задача разбивается на несколько этапов:

1. Подготовка данных к переносу.

2. Перенос данных.

3. Подготовка нового хоста.

 

Подготовка данных к переносу

Нам нужна копия сайта.

Копия должна в себя включать код сайта и данные из Mysql.

Создание копии сайта из командной строки: tar -czvf <имя файла>.tar.gz /<путь к папке сайта>/

Пример команды: tar -czvf /home/arc/sites.tar.gz /var/www/sites/data/

В каталоге /home/arc/ будет создан файл sites.tar.gz

Создание копии сайта при помощи MC (Midnight Commander): перейти в корень каталога, который надо заархивировать, нажать F2. Выбираем пункт «Compress the current subdirectory (tar.gz)».

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

Перенос SSL сертификатов сайта

Где хранить сертификаты для доменов каждый решает для себя сам. Готовых путей к папкам тут нет и быть не может.

Как найти где хранятся сертификаты? Проще всего открыть в mc файл с конфигурацией хоста и дальше поискать нужную строку.

Поиск в открытом файле в mc вызывается через кнопку F7.

Для nginx ищем строку «SSL».

Для apache ищем строку «443».

Недалеко от найденной строки будет путь к сертификатам.

Архивируем всю папку с сертификатами любым из предложенных выше способов.

Создание дампа базы данных MySQL

Переходим к выгрузке баз данных.

Нам надо точно знать какую базу мы хотим выгрузить, для этого заходим в корень папки сайта, находим там файл wp-config.php и открываем через nano (nano /<путь к папке сайта>/wp-config.php) или через mc.

В файле нам нужно найти строки (в 99,99% случаев они располагаются в самом начале файла, после комментариев):

(‘DB_NAME’,’имя базы‘)

(‘DB_USER’,’имя пользователя‘)

(‘DB_PASSWORD’,’пароль‘)

Я рекомендую открывать файл в редакторе nano, в этом случае работает copy-paste режим. Данные из эти строк копируем в блокнот. Можно открыть второй окно с подключением к серверу и сразу вводить нужные данные в нем. Я бы сделал так, но новичкам рекомендую использовать блокнот, чтобы потом не запутаться в окнах.

Данные мы нашли, теперь можно сделать дамб базы MySQL. Делаем его при помощи команды:

mysqldump -u»имя пользователя» -p «имя базы» > /home/arc/site_dump.sql

Пояснения по команде:
ковычки надо убрать, -p означает запросить пароль, вас его спросят после запуска команды.
> — показывает, что вывод команды надо направить в файл.

/home/arc/ — путь, где будет создан файл дампа. На серверах, которые настраивал я, такой путь существует, на других серверах используйте свой.

site_dump.sql — имя файла. Рекомендую вместо site писать имя домена, чтобы потом не запутаться.

Выход из редактора nano сочетание клавиш ctrl+x.

Копирование данных на другой сервер через SSH

Подготовку к переносу мы закончили. Теперь надо все архивы скопировать в одну папку, я предполагаю, что все лежит в папке /home/arc.

Пришло время перенести данные на новую VPS. В этом нам поможет программа scp. По-умолчанию на серверах, которые настраивал я, она установлена.

Если не установлена, введите yum install scp -y (команда справедлива для CentOS Linux при работе из-под root).

Команда:   scp -P port_SSH -r /home/arc/ root@host_name или IP>:/home/arc/

Расшифровка:

port SSH  — собственно тут надо указать порт SSH, если стандартный, можно -P и номер порта не указывать.

-r  рекурсивно копировать, папку и подпапки.

дальше я думаю все понятно: путь откуда копировать, имя пользоваться@ip или имя домена куда копируем:путь куда складывать.

На этом мы закончили копирование данных сайта на WordPress на новую VPS/VDS.

В следующей статье будет рассмотрен процесс подготовки VPS для развертывания на нем сайта под управлением WP.