opened image

Копирование сайта CMS WordPress с VestaCP при помощи SSH

Копирование сайта CMS WordPress с VestaCP при помощи SSH


В прошлой статье мы показали как можно сделать копирование/перенос сайта с одного домена на другой при помощи FTP. Теперь мы покажем, как сделать это подключившись к серверу по SSH.

 

 

Данный метод является быстрее в исполнении, так как все действия мы выполняем внутри сервера ничего не скачивая / загружая на сервер. Новое доменное имя должно быть направлено на IP-адрес сервера. Как это сделать, смотрите в соседней инструкции - "Как добавить домен в DNS-хостинг". Как подключиться к серверу по SSH, Вы можете ознакомиться в этой инструкции "Подключение к серверу по SSH". Итак, приступим.

 

Основная часть

 

Вы подключились к серверу. Теперь необходимо перейти в директорию /home/admin/web , изначально Вы находитесь в домашней директории пользователя /root. Пропишем команду:

 

cd /home/admin/web/

 

 

После этого создадим новый домен и базу данных с помощью встроенных команд Vesta CP:

 

v-add-domain USER DOMAIN [IP] [RESTART]
/usr/local/vesta/bin/v-add-domain admin zomro-new-domain.com
v-add-database USER DATABASE DBUSER DBPASS [TYPE] [HOST] [CHARSET]
/usr/local/vesta/bin/v-add-database admin zomro_new zomro_new zomro_new

 

 

В команде v-add-domain нам достаточно указать пользователя панели управления, который будет владеть доменом и собственно название домена. Если у Вас несколько IP-адресов на сервере, тогда следует после названия домена прописать нужный Вам IP-адрес, например:

/usr/local/vesta/bin/v-add-domain admin zomro-new-domain.com 127.0.0.1

 

Для команды v-add-database достаточно будет вписать пользователя панели управления, название базы данных, пользователя базы данных и пароль. Заметьте, что команда работает аналогично версии через браузер, имя пользователя будет префиксом к названию базе данных: admin_zomro_new.

Для копирования всех файлов, включая скрытых, с сохранением параметров директорий и файлов воспользуемся следующей командой:

 

cp -rp zomro-old-domain.com/public_html/. zomro-new-domain.com/public_html/

 

 

Переходим в директорию нового домена, выполняем поиск названия базы данных в файле wp-config.php:

 

cd zomro-new-domain.com/public_html/
grep "DB_NAME" wp-config.php

 

Делаем дамп файл через команду mysqldump и выполняем замену старого домена на новый:

 

mysqldump admin_zomro > admin_zomro.sql
sed -i "s/zomro-old-domain.com/zomro-new-domain.com/g" admin_zomro.sql

 

 

Импортируем дамп файл в новую базу данных и изменяем в конфигурационном файле wp-config.php данные для подключения к базе данных. Для редактирования файлов внутри сервера мы используем текстовый редактор Vim, Вы же можете использовать Nano, mcedit, к примеру, дело вкуса. Для Vim команды ниже:

 

mysql admin_zomro_new < admin_zomro.sql
vim wp-config.php

Внутри файла нажимаем с английской раскладкой на латинскую букву I , что означает Insert , переходим на нужную нам строку и вносим правки. Для выхода из файла и сохранить наши изменения нажмём Esc , а после комбинацию Shift + : , после знака двоеточия необходимо вписать две буквы: wq. Если Вы вдруг что-то не то удалили или не так отредактировали файл, то Вы можете нажать на кнопку Esc и после этого латинскую букву U , что означает Undo , то есть вернуть, нажмите столько раз, сколько хотите сделать возвратов назад. Если хотите выйти из файла без сохранения, то нажмите на клавишу Esc, комбинация Shift + : , !wq , так файл не сохранится и Вы выйдите из текстового редактора. Сделайте изменения в файле robots.txt и на этом перенос можно считать завершенным.

Отдельные моменты
1) Если в базе данных не будет изменен домен на новый, тогда сайт автоматически будет выполнять переадресацию на старый домен.
2) В файле .htaccess у Вас может быть прописан путь к плагину кэширования, если он имеется. Также, следует проверить файл на наличие редиректов, которые упоминают старый домен.
3) Если У Вас вместо сайта показывается серый экран с названием Вашего домена, не переживайте, удалите файл index.html – это заглушка для сайта, которую создаёт панель управления при создании домена.
4) У Вас в конфигурационном файле wp-config.php могут быть следующие константы: wp_home и wp_siteurl , которые необходимо редактировать под Ваш новый домен.
5) Если для первого домена подключен SSL-сертификат, то и для второго желательно его подключить. В панели управления Vesta CP => вкладка "Web" => выберете домен => кнопка "Edit" => "SSL Support" => "Let's Encrypt Support". Доменное имя должно быть направлено на сервер с которого Вы генерируете к нему SSL-сертификат.