Копирование сайта 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-сертификат.