Задача по переносу сайта на 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.