Интернет постоянно изменяется и развивается, информация появляется, исчезает, перемещается в другое место. Один из способов представления информации в интернете – сайт. И хотя перемещение запрашиваемых страниц может остаться незамеченным для конечного пользователя – это обычное явление. Перенос joomla на другой хостинг – вполне посильное дело даже для начинающего вебмастера.
Зачем может понадобиться перенос?
Само действие несёт в себе некоторые риски – потери содержимого, трафика, прибыли. Но иногда без этого не обойтись.
- Иногда приходится переезжать при смене управляющей системы на другую. Набор поддерживаемых CMS у хостеров разный, так что при смене на более актуальную и современную может оказаться, что и хостер уже не годится.
- При смене домена.
- Если услуги хостера перестали удовлетворять запросам. Объёмы передаваемого трафика или хранимой информации выросли, а возможности перейти на более подходящий тарифный план нет. Качество услуг стало хуже. Режим работы техподдержки не соответствует потребностям в обслуживании и режиму работы. Просто нашлись лучшие условия.
Карта этапов
Чтобы сделать перенос сайта joomla на хостинг, можно обратиться к хостеру с запросом, купить услугу или выполнить работу самостоятельно. Примерный порядок действий выглядит так.
- Сделать дамб базы данных. Это образ БД на момент создания в формате .sql, из него она будет восстановлена после копирования и загрузки на новое место.
- Скопировать файлы и папки.
- Прикрепить домен.
- Создать новую БД.
- Перенести сохранённую копию на новое место.
- Изменить содержимое configuration.php.
- Изменить DNS адреса.
Дамп базы данных
В БД в виде таблиц хранится совокупность содержимого сайта, начиная с момента создания и до текущего времени. Именно сюда обращается управляющая система при обработке запросов и операций.
- Чтобы создать образ, надо авторизоваться в БД через панель управления phpMyAdmin. Для авторизации понадобится название БД, логин пользователя и пароль.
- После этого в левой части окна выбрать БД, а в правой нажать на «Экспорт».
- В появившемся окне выбрать параметры экспорта – выделить все таблицы и установить переключатель на формате SQL. Лучше обойтись без сжатия, но если исходная БД слишком велика, то можно выбрать один из форматов для архивации – .zip или .gzip. При выборе следует ориентироваться на ограничения для размера импортируемой БД, который нельзя превышать. Нажать «ОК».
- Появится дамп БД в виде текстового документа. Содержимое следует скопировать полностью при помощи команд «Ctrl + A» и «Ctrl + C», чтобы ничего не пропустить.
- Для сохранения дампа нужно создать документ в любом редакторе для веб-документов – Notepad++ или подобных – и вставить туда содержимое буфера обмена клавишами «Ctrl + V». Сохранить в формате .sql. Название по умолчанию при создании и сохранении изменять нельзя.
Если вдруг реквизиты для авторизации в БД утрачены, их можно восстановить двумя способами:
- стандартной процедурой восстановления пароля через почту, пароль будет отправлен на email администратора;
- если утрачен и доступ к почте администратора, то посмотреть реквизиты доступа можно в файле конфигурации — configuration.php, который находится в корневом разделе. Обращение к БД, логин администратора и пароль хранятся в виде значений параметров public $db, public $user, public $password, которые легко найти поиском по тексту.
На этом этапе можно сделать сохранение сертификата SSL, если таковой имеется. Он нужен для передачи данных по протоколу HTTPS. Скачать сертификат можно самостоятельно в Панели управления либо же получить по запросу от службы поддержки. Чтобы установить его на новом месте, придётся изучить инструкцию либо обратиться в техподдержку. Делать это лучше после загрузки и сохранения компонентов.
Копирование файлов сайта Joomla
Чтобы перенести сайт joomla на хостинг, недостаточно перенести БД, нужно скопировать абсолютно все каталоги с содержимым. Для этого подойдёт любой FTP-клиент, например, программа Total Commander или другие подобные. Важно не нарушить расположение папок, потому что пути между разделами в управляющей системе указываются относительные.
Следует скопировать на свой компьютер полностью содержимое корневого каталога. Обычно это по умолчанию httpdocs или public_html, но если таких директорий не обнаружено, нужно выбрать первую директорию от корневого каталога, в которой есть index.html. Всё скопированное сохранить в отдельную папку.
Перенос домена на новый хостинг
На старом пространстве работа по подготовке окончена, теперь можно начать обустраиваться на новом месте. И первым делом – прикрепить к нему доменное имя. Доступ к Панели управления появляется после заключения контракта с хостером и оплаты аренды пространства.
- В разделе «Доменные имена» выбрать пункт «Добавить домен».
- Указать название домена и выбрать для него IP-адрес.
- Здесь же можно создать прикреплённый почтовый домен.
После этого появится папка – коренной каталог, в который можно будет переместить документы. Открепление адреса от прошлого сервера не происходит, пока всё работает по-прежнему – для этого надо изменить DNS у регистратора доменного имени. Сделать это лучше после завершения перемещения.
Перенос папок и файлов Joomla на новый хостинг
Теперь необходимо загрузить туда папки и файлы, которые были ранее скачаны и сохранены на компьютере администратора в специальную директорию. Делать это следует через FTP. Место назначения для загрузки – корневой каталог, созданный при добавлении доменного имени. По завершении копирования можно приступать к импорту БД.
- Создать новую базу даны в разделе MySQL. Наименование БД, логин пользователя-администратора и пароль к нему нужно сделать такими же, как в прежней.
- Перейти в раздел phpMyAdmin и там во вкладке «Импорт» выбрать дамп с образом БД, сохранённый на компьютере.
- Установить параметры настройки импорта: формат SQL, кодировка utf-8, режим совместимости SQL по умолчанию None.
- После подтверждения команды будет выполнена процедура импорта БД и по благополучном завершении появится зелёная полоса. Если зелёная полоса так и не появилась, придётся удалить импортированные фрагменты и повторить процедуру. Возможно, придётся заново экспортировать базу, если сохранение образа было выполнено без сжатия.
Редактирование configuration.php и смена DNS адресов
Редактировать configuration.php можно прямо на сервере или на своём компьютере. Для этого нельзя использовать офисные программы для обработки текстов, а только специальные редакторы для веб-документов. После сохранения изменений обновлённый configuration.php загрузить через FTP. Смена DNS-адресов – завершающий этап.
Редактирование файла configuration.php
Внутри нужно будет изменить реквизиты доступа к базе данных – public $db, public $user, public $password, заменив их значения соответственно на новое название базы данных, новый логин администратора и пароль.
После этого отредактировать адреса для рабочих каталогов logs и tmp – public $ log _ path и public $ tmp _ path. Это системные разделы для создания и хранения временной и вспомогательной информации управляющей системы, которая без них работать не будет. Зачастую расположены в корневом каталоге, относительно которого указывается путь.
Смена DNS адресов
Теперь, когда БД управляющей системы и все документы скопированы, для завершения переноса сайта joomla на хостинг надо перенаправить к нему обращения по доменному имени. Сделать это можно тремя разными способами в зависимости от способа регистрации.
- Если право на доменное имя было получено у прежнего хостера, то нужно у него в разделе «Управление DNS» вписать изменённые NS адреса вида ns1.адрес_нового_сервера и ns2.адрес_нового_сервера, указанные в письме, которое клиенты получают после регистрации.
- Если право на использование домена было получено у независимого регистратора, то в разделе «Управление DNS» нового хостинга указать DNS-адреса регистратора в виде ns1.адрес_регистратора и ns2.адрес_регистратора. Их можно узнать в Панели управления регистратора.
- Полностью сменить регистратора доменного имени и делегировать управление доменом новому хостеру – это долгая и хлопотная бюрократическая процедура.
При проверке работы после завершения перемещения следует учитывать, что смена DNS-серверов будет произведена в течение максимум 72 часов.
Ошибки, возникающие при переносе сайта и их исправление
После окончательной смены DNS-адресов следует провести тщательную проверку отображения страниц, выполнения запросов и положенных процедур. При этом могут быть выявлены следующие ошибки.
- Потеря части контента – статей, категорий, разделов. Причина – был переименован скачанный файл дампа базы данных. Процедуру его создания и импорта придётся выполнить заново.
- Текст или заголовки отображаются в виде непонятных символов. Причина – были неверно заданы настройки кодировки при создании дампа базы данных. Придётся повторить экспорт и импорт БД, установив параметры: utf-8 без BOM по умолчанию для дампа и utf-8-general-ci на стадии импорта.
- Сообщение на английском языке о невозможности соединиться с базой данных и указанием номера строки. Причины – неверное наименование базы, логин пользователя или пароль в configuration.php; ещё не поменялись DNS-сервера; проблема на сервере.
- Невозможно установить новые расширения, появляется ошибка «JFolder::create: Обнаружен Бесконечный цикл Внимание! Не удалось переместить файл!» Причина – неверно указаны пути к директориям tmp и logs.
- «Ошибка 330 (net::ERR_CONTENT_DECODING_FAILED): Неизвестная ошибка». Причина – какие-то файлы из корневого каталога потерялись. Их нужно будет перенести заново и перезаписать. Перезапись папок делать не нужно.
Разобраться, как перенести сайт joomla на другой хостинг, а затем сделать это самостоятельно – задача, посильная для любого вед-администратора с минимальными навыками. Однако, с первого раза может что-то не получиться. Поэтому лучше использовать тестовый бесплатный период, если есть такая услуга. Также не стоит откладывать мероприятие на последний день работы со старым хостингом – на нём есть сохраненный экземпляр работающего сайта, который может понадобиться на любом этапе.