Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

каталог_статей:веб-окружение:миграция_сайта_с_сервера_на_сервер [2019/03/12 09:02] (текущий)
s.ovcgaruk_colobridge.com создано
Строка 1: Строка 1:
 +====== Миграция сайта с сервера на сервер ======
 +
 +----
 +===== Способы переноса сайта: =====
 +Сайт можно перенести используя средства панели управления сервера или вручную.
 +Перенос сайта средствами панели возможно только при условии,​ что оба сервера используют ​ одинаковые панели управления сервером. К примеру,​ перенос сайта с сервера с панелью ISP manager на сервер с панелью ISP manager возможен средствами панели. Детальную информацию можно найти в документации разработчиков панелей управления сервером. ​
 + 
 +В данной статье рассмотрен вариант переноса сайта в ручную.
 +На примере сайта secret.sisadmin.by рассмотрим перенос сайта с сервера server.sisadmin.by на server2.sisadmin.by. На старом сервере установлена панель управления Plesk, а на новом — ISP manager, поэтому перенос средствами не желателен (либо не возможен).
 +
 +Конфигурация нового сервера (версия MySQL, PHP) должна максимально соответствовать конфигурации старого сервера.
 +
 +Перенос сводится к следующим шагам:
 +  - Подготовка нового сервера.
 +  - Создание архива сайта и базы данных на старом сервере.
 +  - Копирование архива сайта и базы на новый сервер.
 +  - Распаковка архива и подключение базы данных к сайту.
 +  - Проверка работы сайта и смена А-записи домена (что бы сайт начал открываться с нового сервера)
 +
 +===== Подготовка нового сервера:​ =====
 +  * Используя панель ISP manager, необходимо создать пользователя sisadmin и домен secret.sisadmin.by:​
 +{{ :​работы:​isp_1.png?​nolink&​640 |}}
 +Файлы сайта будут расположены в каталоге «/​var/​www/​sisadmin/​data». ​
 +  * Далее необходимо создать базу данных database и пользователя database_user. Для этого используем ссылку «Базы данных» в меню «Инструменты» и нажимаем кнопку «Создать»:​
 +
 +{{ :​работы:​isp_2.png?​nolink&​640 |}}
 +Сохраните имя пользователя и пароль. Эти данные понадобятся при подключении сайта к базе данных.
 +
 +
 +===== Создание архива сайта и базы данных на старом сервере:​ =====
 +Необходимо выполнить подключение на старый сервер,​ где лежит сайт, по ssh-протоколу. Для Windows есть программа Putty ( http://​putty.org.ru/​download.html ). Для Linux, есть возможность использовать программу «Терминал»:​
 +<​code>​ root@gerty:/#​ ssh root@server.sisadmin.by </​code>​
 +
 +Если на сервере используется нестандартный протокол,​ то его следует указать,​ используя ключ «-p».
 +
 +<code | Например:>​
 +root@gerty:/#​ ssh -p42222 root@server.sisadmin.by </​code>​
 +
 +Перед тем, как запаковать сайт в архив, надо выяснить,​ где он находится. Данная информация содержится в файле конфигурации web-сервера:​
 +<​code>​root@server:​~#​ apache2ctl -S | grep secret.sisadmin.by
 +         port 7080 namevhost secret.sisadmin.by (/​etc/​apache2/​plesk.conf.d/​vhosts/​secret.sisadmin.by.conf:​136) </​code>​
 +
 +
 +Со строки 136 файла начинается описание сайта:
 +<​code>​ /​etc/​apache2/​plesk.conf.d/​vhosts/​secret.sisadmin.by.conf </​code> ​
 +
 +Для определения,​ в каком каталоге находятся файлы сайта:
 +<​code>​ root@server:​~#​ cat -n /​etc/​apache2/​plesk.conf.d/​vhosts/​secret.sisadmin.by.conf | grep DocumentRoot
 +    17         DocumentRoot "/​var/​www/​vhosts/​server.sisadmin.by/​secret.sisadmin.by"​
 +   ​143  ​   DocumentRoot "/​var/​www/​vhosts/​server.sisadmin.by/​secret.sisadmin.by"​ </​code>​
 +
 +Создание архива archive.tar каталога secret.sisadmin.by:​
 +<​code>​ root@server:​~#​ tar -cvf archive.tar /​var/​www/​vhosts/​server.sisadmin.by/​secret.sisadmin.by/​ </​code>​
 +
 +После создания архива сайта, необходимо создать дамп базы данных сайта. ​
 +
 +В панели Plesk пароль пользователя root сервера баз данных находится в файле:
 +<​code>​ /​etc/​psa/​.psa.shadow </​code> ​
 +
 +Используя консоль MySQL  выясним какие базы данных есть на сервере:​
 +<​code>​ root@server:​~#​ mysql -uadmin -p`cat /​etc/​psa/​.psa.shadow`
 +mysql> show databases;
 ++-------------------------+
 +| Database ​               |
 ++-------------------------+ ​      
 +| secretsisadminby ​       |
 ++-------------------------+ </​code>​
 +
 +База данных сайта - secretsisadminby. ​
 +Выходим из консоли MySQL и создаем копию базы данных ​ secretsisadminby в файл ​ secretsisadminby.sql:​
 +<​code>​ mysql> quit
 +root@server:​~#​ mysqldump -uadmin -p`cat /​etc/​psa/​.psa.shadow` secretsisadminby > secretsisadminby.sql </​code>​
 +В итоге, ​ архив сайта находится в файле archive.tar,​ а копия базы данных в файле secretsisadminby.sql. ​
 +
 +=====Копирование архива сайта и базы на новый сервер:​ =====
 +Необходимо скопировать эти файлы на новый сервер. Для этого используется утилита scp:
 +<​code>​ root@server:​~#​ scp secretsisadminby.sql archive.tar root@server2.sisadmin.by:/​ </​code>​
 +
 +===== Распаковка архива и подключение базы данных к сайту: =====
 +После того как файлы будут скопированы на новый сервер,​ необходимо подключиться ​ к новому серверу по ssh-протоколу и перейти в каталог с новым сайтом:​
 +<​code>​ root@server:​~#​ ssh root@server2.sisadmin.by
 +root@server2:​~#​ cd /​var/​www/​sisadmin/​data/​www/​secret.sisadmin.by/​ </​code>​
 +
 +Следующей командой производится распаковка сайта:
 +<​code>​ root@server2:/​var/​www/​sisadmin/​data/​www/​secret.sisadmin.by#​ tar -xf /​archive.tar </​code>​
 +
 +Для просмотра распакованных файлов можно использовать следующую команду:​
 +<​code>​ root@server2:/​var/​www/​sisadmin/​data/​www/​secret.sisadmin.by#​ ls -la </​code>​
 +
 +Для копирования содержимого каталога secret.sisadmin.by в текущую директорию используем команду:​
 +<​code>​ root@server2:/​var/​www/​sisadmin/​data/​www/​secret.sisadmin.by#​ cp -r secret.sisadmin.by/​* </​code>​
 +
 +Далее необходимо назначить файлы пользователю sisadmin:
 +<​code>​ root@server2:/#​ chown -R sisadmin:​sisadmin /​var/​www/​sisadmin/​data/​www/​secret.sisadmin.by/​ </​code>​
 +
 +Теперь следует добавить secretsisadminby.sql в базу данных database, используя данные ранее созданного пользователя:​
 +<​code>​ root@server2:/#​ mysql -u database_user -p database < secretsisadminby.sql <​code>​
 +
 +Осталось подключить сайт к базе данных. В примере сайт использует CMS Made Simple ​  и подключение описывается в файле config.php.
 +Открыть файл на редактирование можно следующей командой:​
 +<​code>​root@server2:​~#​ nano /​var/​www/​sisadmin/​data/​www/​secret.sisadmin.by/​config.php </​code>​
 +
 +Редактируем необходимые строки:<​code>​
 +$config['​db_username'​] = '​user';​ (указываем пользователя sisadmin)
 +$config['​db_password'​] = '​password';​ (указываем пароль пользователя)
 +$config['​db_name'​] = '​database';​ (указываем имя базы данных)</​code>​
 +
 +Сохраняем файл и выходим из редактора.
 +
 +===== Проверка работы сайта и смена А-записи домена =====
 +Проверить работу сайта с нового сервера можно, добавив у себя на компьютере запись вида:
 +xxx.xxx.xxx.xxx mysite.loc (где xxx.xxx.xxx.xxx — ip-адрес нового сервера,​ mysite.loc — домен)
 +в файле /etc/hosts, если Linux, в файле C:​\Windows\Systes32\drivers\etc\hosts если Windows. ​
 +
 +Работоспособность сайта можно проверить в браузере. Если сайт работает корректно,​ можно переключить А-запись домена,​ что бы она вела на новый сервер. Это можно сделать в панели регистратора домена.
 +
 +---- 
 +Актуальность:​ 2015/01/26 14:58 
 +
 +{{tag> ISP Plesk MySQL Database}}