Копирование сайта со сменой домена на примере Joomla

Подробности статьи
URL: https://help.gudzon.com/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=176
Номер статьи: 176
Создан: 03 Jun 2015 08:54 AM

Ответ
Довольно часто бывает что один сайт удобно использовать как шаблон для настройки другого сайта. В этом случае необходимо перенести файлы и базу и внести некоторые изменения с тем чтобы учесть что у нас будет новый домен. Некоторые операции при этом как правило совпадают для разных CMS, поэтому приведем пример для распространённой CMS Joomla, но часто будет подходить и для других CMS.

Итак, у Вас уже есть некоторый сайт копию которого Вы планируете перенести на новый домен.  Для этого нам нужно скопировать файлы из директории старого домена в директорию нового домена. Если новый домен на другом сервере то файлы необходимо скачать и закачать на сервер, а затем сделать бэкап базы данных, создать новую  базу на новом сервере и загрузить (импорт/экспорт) базу.



Развернём подробнее. К примеру нам нужно скопировать CMS находящуюся на site1.ru, на новый домен site2.ru  :
1. Для переноса сайта на Joomla потребуются: FTP клиент (к примеру FileZilla https://filezilla-project.org/download.php ), Блокнот (или еще лучше Notepad++ https://notepad-plus-plus.org/download/ )

Сделать копию папки Joomla (или другой CMS, т.е. сайта, который хотите перенести на другой домен) содержащей папки: administrator, images, templates и т.д. специфичной для CMS которую копируете, и отдельные файлы, такие как robots.txt, index.php, .htaccess и т.д. Копию можно сделать скачав файлы себе на компьютер. Или можно сделать архив в "Файл менеджере" CPanel , но в этом случае обратите внимание, что если сайт имеет размер 300 мб, а план ограничен (к примеру) 500 мб, то есть риск что архив окажется близким по размеру к сайту и превысит размер плана, что приведет к ошибкам в работе сайта или архив не сохранится. Этот момент лучше согласовать с поддержкой, можно написать нам в панели https://help.gudzon.com мы поможем если надо создать архив.

В итоге. Мы копируем файлы на компьютер или скачиваем архив к себе на компьютер

2. Сделать экспорт базы  данных Mysql копируемого сайта к себе на компьютер. Для этого зайдите на хостинг в CPanel - phpMyAdmin - Export.
Распакуйте базу данных на своём компьютере

3. Если при переносе будет меняться имя сайта то определиться с названием и размещением сайта. Создать в CPanel новое расположение добавив в разделе "Дополнительные домены" домен site2.ru. Как правило новое расположение будет находится в папке public_html/site2.ru. Путь к папке сайта у этого домена Вам надо будет записать в файл configuration.php в файлах нового сайта 
Закачать в новое расположение архив и распаковать с помощью файл менеджера, или можно закачать уже распакованную версию (для больших сайтов, более 100 Мб будет быстрее закачивать запакованную версию, но учтите что размер плана на время работ должен вместить и архив и распакованный размер).

4. Создать в CPanel пустую базу MySQL для нового сайта с помощью мастера MySQL.
Загрузить базу SQL в Блокнот или Notepad++ и откорректировать вхождения имя  домена, если Вы переносите на другой домен. Например, старый домен site1.ru, новый домен site2.ru Для этого задайте поиск с заменой.
Сохраните файл с  исправленной базой. К примеру старый файл был remont_site1.sql ваш_логин_site2.sql
Сделайте импорт исправленной базы данных с вашего компьютера в пустую, созданную Вами базу данных через CPanel - phpMyAdmin - Импорт. Для этого зайдите на хостинг в аккаунт CPanel - phpMyAdmin - выбрать базу - Выбрать раздел "Импорт".
Что касается именно специфики Joomla:
Исправьте файл configuration.php:
 public $db= имя новой базы , например, ваш_логин_site2
 public $user= имя пользователя базы данных (предварительно созданного в CPanel). Как правило совпадает с именем базы ваш_логин_site2
 public $password=   пароль новой базы данных (предварительно созданной в CPanel)
 public $log_path= путь к log файлу в новой папке сайта. Путь к папке указан в домене, например,  '/home/ваш_логин/public_html/site2.ru/logs';
 public $tmp_path= также , например, '/home/ваш_логин/public_html/site2.ru/tmp';
Сделайте нужные изменения в robots.txt и .htaccess (если в них были специфические для имени домена настройки, например встречаются пути к файлам), как правило изменения не требуются

Если что будет непонятно обращайтесь, подскажем.