Перенос сайта WordPress с виртуального хостинга на VPS
Вступление
Большинство людей создают свой сайт на виртуальном хостинг аккаунте, но рано или поздно им потребуется больше мощностей и больше управления над их сервером. Это является причиной их перехода на VPS.
В этом руководстве, мы поможем вам сделать перенос сайта WordPress с виртуального хостинга на VPS сервер, но эта тактика может быть применена к любому другому виду сайтов.
Оглавление
Что понадобится
- Доступ к вашему хостинг-аккаунту на виртуальном хостинге и на VPS.
Шаг 1 – Создание бэкапа вашего сайта
Прежде, чем делать каким-либо изменения с сайтом, обязательно сделайте бэкап. Это не только поможет в передаче файлов и баз данных, но и будет надёжной защитой сохранности данных, если вдруг что-то пойдёт не так.
В этом примере покажем, как можно сделать бэкап из Панели Управления Hostinger:
- Зайдите в Панель Управления Hostinger;
- Выберите Бэкапы в разделе Файлы;
- После входа в раздел Бэкапы вы увидите список файлов. Колонка Тип указывает на то, это бэкап для базы данных MySQL или для файлов сайта. Для уже сформированных бэкапов, вы можете увидеть дату в колонке Дата Бэкапа. Вы можете создать новый бэкап, если пожелаете. Для этого выполните эти шаги:
- Нажмите на кнопку Создать новый бэкап внизу.
- Затем отобразится приветственное сообщение, нажмите Да. Начнётся создание бэкапа.
- Когда бэкап создан (или уже был создан ранее), скачайте оба для MySQL и для файлов сайта, нажав на кнопку Скачать в колонке Действие.
После создания бэкапов, можно переходить с настройке VPS сервера.
Шаг 2 – Настройка VPS
В разделе мы рассмотрим как настроить VPS сервер. Рекомендуем выбрать шаблон, в котором установлены LAMP, MySQL и Webmin/Virtualmin. Управлять сервером с такими шаблонами будет проще в будущем.
Как вариант, вы можете установить свой собственный стек (без GUI). Некоторые полезные руководства, о том как устанавливать другие стеки:
- How to Install Nginx, MySQL, PHP v7 (LEMP) stack on CentOS 7 (на англ.)
- Установка LAMP или как установить стек Linux, Apache, MySQL, PHP на Ubuntu 16.04
- Установка LAMP (Linux, Apache, MySQL, PHP) на CentOS 7
Чтобы изменить операционную систему на вашем VPS и установленное программное обеспечение, следуйте шагам ниже:
- В панели управления Hostinger перейдите в раздел Серверы.
- Прокрутите вниз пока не доберётесь до панели Другие настройки.
- Для Операционная система выберите Ubuntu 16.04 64bit with Webmin/Virtualmin/LAMP и нажмите Сохранить изменения.
Шаг 2.1 – Доступ к Webmin / Virtualmin
Теперь подождите несколько минут для установки новой операционной системе и продолжайте дальнейшую настройку своего VPS:
- Ваши данные VPS: IP, адрес, имя пользователя, SSH порт, а также другие детали, собраны в SSH Details. Если вы не знаете своего пароля root, вы можете его сбросить в этом же разделе (необходимо несколько минут для обновления внесённых изменений).
- Теперь войдите и скопируйте IP-адрес вашего VPS, добавьте https вначале него и порт :10000 в конце, чтобы зайти в Webmin / Virtualmin. Это будет выглядеть примерно так: https://195.110.59.211:10000
- Теперь вы увидите приветственное окно, введите данные доступа к вашему SSH для входа.
- Теперь вы увидите Webmin Post-Installation Wizard, который проведёт вас шаг за шагом по установке. Нажимайте кнопку next, чтобы начать установку.
Шаг 2.2 – Установка Virtualmin
Мы пройдёмся по всем шагам установки один за одним:
- Memory (память):
- Preload Virtualmin libraries? : Рекомендуется выбрать No, так как мы не используем GUI очень часто, а основная работа будет производиться по SSH.
- Run email domain lookup server?: Если email-письма важны для вас и вы планируете запустить Email сервер на вашем VPS, выберите Yes; это поможет сделать сервис email быстрее. Обратная сторона этого выбора состоит в том, что будет использоваться больше RAM.
- Virus scanning: Рекомендуем разрешить сканер вирусов ClamAV, то есть выбрать Yes.
- Spam filtering: Значение этой настройки хорошо объяснено в описании. В кратце, если вы хотите запустить email-сервер на своём VPS, включите сервер SpamAssassin.
- Database servers: Выберите сервис базы данных, используемый на сервере. Чаще всего, вам потребуется только сервер баз данных MySQL.
- MySQL password: Для предотвращения управления базой данных MySQL другими пользователями вашей системы, необходимо установить пароль для главного пользователя. Вводите надёжный, безопасный пароль.
- MySQL database size: Здесь хорошо расписано, в каких ситуациях, какие настройки нужно выбирать. Однако, рекомендуем выбрать настройку Medium, если вы не уверенны в том, какую вам нужно.
- DNS Zones: Для DNS зон, созданных Virtualmin для разрешения, основной сервер имён для каждой зоны должен быть установлен на такое значение, которые будет разрешаться другим системами в интернете. Так как мы направили домен на сервер VPS по A записи, на данный момент нам не нужно задавать приватный сервер имён. Таким образом, выбираем Skip check for resolvability.
- Passwords: Настоятельно рекомендуем выбрать опцию Only store hashed passwords, так как это защитит шифрованием все сохраняемые вами пароли.
- И это всё. Настройка Virtualmin завершена. Теперь вы увидите кнопку Re-check and refresh configuration. Нажмите её для проверки правильности установки сервера и его работы.
Шаг 2.3 – Создание виртуального сервера
Теперь нам нужно создать пользователя, базу данных MySQL и каталог для сайта. Всё это можно сделать, используя Virtualmin:
- Нажмите Create Virtual Server.
- Введите доменное имя и пароль администратора и нажмите кнопку Create Server. Простой сервер будет создан и этого будет достаточно для размещения сайта.
Шаг 3 – Перенос файлов сайта на VPS
Теперь, когда мы установили сервер VPS, мы перенесём наши файлы сайта и базу данных один за другим с сервера виртуального хостинга.
Будем использовать команду wget для скачивания архивов бэкапа, которые мы создавали на Шаге 1.
- Соединитесь по SSH с вашим сервером VPS (Смотрите здесь в случае, если вы не знаете, как это сделать).
- Как только подключились, смените свой каталог на рабочий, тот, где будут храниться файлы вашего сайта. Virtualmin автоматически создаёт каталог основываясь на имени домена. Например, для домена hostinger-tutorials.com он создаст каталог под названием hostinger-tutorials.com. Таким образом, для доступа к нему мы можем использовать команду:
cd /home/hostinger-tutorials/public_html/
- Теперь вернёмся к разделу Панели Управления Hostinger -> Бэкапы и скопируем ссылку для скачивания архивов бэкапов файлов вашего сайта. Это вы можете сделать нажатием правой кнопки мыши по кнопке Скачать и выбором из появившегося меню Copy Link Address.
- Выполните следующую команду для скачивания архива с бэкапом на VPS (не забудьте изменить адрес ссылки):
wget http://server64.main-hosting.eu:8080/download-backup/cfb1f54144e0cf4394a247dca73f48f8d04c9cb6/u694443746.tar.gz
- Теперь распакуйте архив:
tar -xvf u694443746.tar.gz
- Это создаст новый каталог внутри public_html, который будет содержать все файлы вашего сайта. Название этого каталога будет совпадать с ID вашего аккаунта на виртуальном хостинге Hostinger. Таким образом, нам нужно переместить все файлы в каталог public_html. Есть несколько путей это сделать, но основной – следующий:
- Зайдите в распакованный каталог public_html (в котором находятся все файлы вашего сайта):
cd u694443746/public_html/
- Переместите все файлы в новый public_html, созданный Virtualmin:
mv * ../../
- Зайдите в распакованный каталог public_html (в котором находятся все файлы вашего сайта):
- Теперь зайдите в каталог public_html, созданный Virtualmin:
cd ../../
- Проверьте все файлы, перемещённый этой командой:
ls
Вы увидите что-то похожее на это:
- Как вы видите все файлы были перемещены верно в каталог public_html. Однако, наша работа на этом не заканчивается. Эти файлы и каталоги имеют неверные права доступа. Нам надо сменить их, чтобы они соответствовали тем, что созданы Virtualmin. Так же, как каталог, Virtualmin создаёт пользователей и группы, основываясь на доменном имени. Таким образом, чтобы изменить права доступа мы может использовать такую команду (помните, hostinger-tutorials нужно изменить на свой вариант):
chown hostinger-tutorials:hostinger-tutorials -R *
Теперь успешно мы переместили все ваши файлы с виртуального хостинга на сервер VPS. Следуйте шагам ниже, для переноса базы данных и финальному шагу, когда всё заработает!
Шаг 4 – Перемещение файлов Базы данных на VPS
Теперь, когда мы уже переместили наши файлы, будем перемещать базы данных. Так же, как и для файлов, будем использовать wget для скачивания бэкапов из раздела бэкапов на Hostinger (как показано на Шаге 1) и импортировать все таблицы в вашу базу данных на VPS сервер.
Помните, база данных MySQL уже была создана во время создания Виртуального Сервера. Таким образом, вам не нужно дополнительно создавать базы данных.
Шаг 4.1 – Проверка имени и пароля Базы данных MySQL
Чтобы сделать импорт бекапов базы MySQL и завершить процесс перемещения, нужно вначале найти имя новой базы данных, имя пользователя и пароль. Имя базы данных может быть найдено в панели управления Virtualmin, в разделе Edit Databases.
Имя и пароль базы данных MySQL можно найти в этом же разделе во вкладке Passwords.
В нашем примере, детали MySQL:
- MySQL Database Name – hostinger_tutorials
- MySQL Username – hostinger-tutorials
- MySQL User Password – OTuXH1IVHdtMpQS7
Шаг 4.2 – Скачивание и импортирование бэкапов MySQL
Теперь, когда имя базы данных MySQL нам известно, мы можем начать импортировать наш дамп MySQL.
- Перейдём к разделу Бэкапы и нажмём на Copy link address для бэкапов базы данных MySQL.
- На нашем VPS мы создадим новый и зайдём в него. Сохраним архив бэкапа MySQL backup здесь.
mkdir sql_backup && cd sql_backup
- После того как зашли в каталог, скачиваем файл с бэкапов хостинга при помощи wget на наш VPS сервер.
wget http://server64.main-hosting.eu:8080/download-backup/dd8604b60a0178f0d9b7a2665261001400388d62/u694443746_meryr.sql.gz
- Как только файл закачан распаковываем SQL-файлы из архива, используя команду gunzip
gunzip u694443746_meryr.sql.gz
- Теперь вы получите файл с таким же названием формата .sql, можем сбросить всё, что в нём в базу данных командой (помните, что нужно поменять имя архива MySQL)
mysql -u root -p hostinger_tutorials < u694443746_meryr.sql
- Тепер вы успешно импортировали все таблицы из файла бэкапа в базу данных нашего сервера.
Шаг 5 – Вносим финальные изменения
Теперь, когда перенесены и файлы сайта, и файлы базы данных на сервер VPS, ваш сайт WordPress ещё не будет работать корректно. Скорее всего вы получите ошибку Как исправить ошибку Error Establishing a Database Connection в WordPress. Чтобы её исправить, нужно отредактировать файл wp-config.php и изменить в нём детали базы данных MySQL на новые.
Для запуска нашего сайта воспользуемся встроенным редактором файлов командной строки nano для внесения изменений в конфиг файл.
Чтобы отредактировать файл wp-config.php следуйте шагам ниже:
- Войдите в каталог, где хранятся файлы вашего сайта, используя команду cd.
cd /home/hostinger-tutorials/public_html/
- После этого мы увидим все файлы в текущем каталоге. Проверяем наличие файла wp-config.php.
ls
- Как только убедитесь, что файл существует, открывайте его для редактирования в текстовом редакторе nano.
nano wp-config.php
- Теперь, когда файл открыт в режиме редактирования, промотайте вниз к строке // ** MySQL settings – You can get this info from your web host ** //
// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define('DB_NAME', 'u694443746_meryr');/** MySQL database username */ define('DB_USER', 'u694443746_tatym');/** MySQL database password */ define('DB_PASSWORD', 'byMaHuTuMu');/** MySQL hostname */ define('DB_HOST', 'mysql');
- Теперь обновите следующие значения:
- DB_NAME – имя базы данных MySQL. Мы уже знаем его с Шага 4.1
- DB_USER – имя пользователя MySQL.
- DB_PASSWORD – пароль MySQL.
- DB_HOST – введите здесь localhost, так как наша база данных MySQL находится на том же сервере.
- После внесения изменений нажмите CTRL + X на клавиатуре и затем нажмите Y и ENTER, чтобы сохранить изменения в файле.
Последним шагом будет направление доменного имени на сервер VPS с сервера виртуального хостинга. Самый простой способ это сделать обновить A запись.
Информация о нашем доменном имени находится на серверах имён Hostinger, поэтому A запись нужно установить в Панели управления Hostinger -> Редактор DNS зоны. Просто установите IP-адрес вашего VPS как A запись и нажмите кнопку Сохранить.
Примечание: Изменение DNS может занять 24 часа.
Более подробное руководство о том, как направлять доменное имя на VPS сервер можно найти здесь.
Заключение
В руководстве Перенос сайта WordPress с виртуального хостинга на VPS мы успешно перенесли и запустили ваш существующий сайт на новый VPS сервер. Рекомендуем вам делать регулярные бэкапы на вашем сервере для безопасности и сохранности ваших данных.