Как перенести сайт Joomla с локального сервера на хостинг

Перенос готового сайта Joomla с локального компьютера на хостинг

Перенос готового сайта Joomla с локального компьютера на хостинг состоит из трёх основных задач: нужно перенести файлы сайта, скопировать базу данных и указать в configuration.php параметры нового сервера. Сам процесс не зависит от конкретной локальной среды: сайт может быть создан в Open Server, XAMPP, Docker или другом локальном окружении.

Ниже рассмотрен ручной способ переноса. Он немного длиннее автоматического восстановления из резервной копии, зато позволяет понять, где находятся файлы Joomla, как переносится база данных и какие параметры чаще всего становятся причиной ошибок после переезда.

Что понадобится перед переносом

Перед началом желательно подготовить:

  • рабочую локальную копию сайта Joomla;
  • доступ к панели управления хостингом;
  • домен или технический адрес, на котором будет проверяться сайт;
  • возможность создать базу данных MySQL/MariaDB;
  • доступ к файловому менеджеру или FTP/SFTP;
  • резервную копию файлов и базы данных.

Также стоит заранее проверить, что выбранная на хостинге версия PHP совместима с установленной версией Joomla, шаблоном и расширениями. Если переносится уже работающий проект, исходную копию лучше не удалять до полной проверки сайта на новом сервере.

Шаг 1. Подготовить и заархивировать файлы Joomla

На локальном компьютере откройте корневую папку Joomla. В ней должны находиться каталоги administrator, components, images, modules, plugins, templates и другие системные папки, а также файлы configuration.php и index.php.

Все содержимое корневого каталога следует поместить в один ZIP-архив. Удобнее архивировать именно содержимое сайта, а не родительскую папку: после распаковки на сервере файл index.php должен оказаться непосредственно в корневом каталоге домена, а не внутри дополнительной папки вроде site/site/.

Важно: если используется файл .htaccess, убедитесь, что он также попал в архив. Скрытые файлы легко пропустить.

Шаг 2. Экспортировать базу данных

Файлы Joomla содержат код, шаблоны, расширения и изображения, но статьи, меню, пользователи, настройки и большая часть данных сайта находятся в базе данных. Поэтому одного копирования файлов недостаточно.

Откройте phpMyAdmin в локальной среде, выберите всю базу данных сайта, а не отдельную таблицу, и перейдите во вкладку «Экспорт». Для обычного переноса чаще всего достаточно быстрого экспорта в формате SQL.

  1. Выберите базу данных Joomla в левой колонке phpMyAdmin.
  2. Откройте вкладку «Экспорт».
  3. Выберите формат SQL.
  4. Сохраните полученный файл на компьютер.

Получившийся файл, например site.sql, понадобится после создания новой базы данных на хостинге.

Шаг 3. Подготовить домен и хостинг

На хостинге сайт должен быть привязан к домену, а у домена — определена корневая директория. В ISPmanager это можно проверить в разделе WWW → WWW-домены (в некоторых версиях панели раздел называется «Сайты»).

Список сайтов и корневые директории в ISPmanager

Обратите внимание на поле «Корневая директория». Именно в этот каталог нужно загрузить файлы переносимого сайта.

Если хостинг ещё только выбирается, полезно заранее проверить доступные версии PHP, ограничения тарифа, резервное копирование и возможность создать базу данных. В качестве одного из вариантов можно посмотреть обзор Parkovka.ua, однако сама процедура переноса Joomla практически одинакова у разных провайдеров.

Шаг 4. Загрузить файлы Joomla на сервер

Откройте файловый менеджер хостинга и перейдите в корневой каталог нужного сайта. В ISPmanager путь к текущему каталогу отображается в верхней части окна.

Файлы Joomla в менеджере файлов ISPmanager

Для нового переноса каталог обычно должен быть пустым либо содержать только служебные файлы хостинга. Если в нём уже есть другая установка Joomla, WordPress или тестовая страница, не перезаписывайте её без резервной копии.

Нажмите «Загрузить» и выберите подготовленный ZIP-архив сайта.

Загрузка ZIP-архива сайта в ISPmanager

После загрузки распакуйте архив в корневую директорию домена. Затем проверьте, что в ней действительно появились папки Joomla и файл index.php. Сам ZIP-файл после успешной распаковки лучше удалить, чтобы он не занимал место и не оставался доступным на сервере без необходимости.

Шаг 5. Создать базу данных на хостинге

Следующий этап — новая база данных и пользователь с правами доступа к ней. В ISPmanager откройте Основное → Базы данных и нажмите «Создать».

Создание новой базы данных MySQL в ISPmanager

Сохраните четыре значения — они понадобятся для configuration.php:

  • сервер базы данных;
  • имя базы данных;
  • имя пользователя;
  • пароль пользователя.

Удалённый доступ к базе для обычного сайта Joomla, работающего на том же сервере, как правило, не требуется. Его следует включать только тогда, когда база действительно должна принимать подключения с другого хоста.

Шаг 6. Импортировать базу данных

После создания пустой базы в неё необходимо загрузить SQL-дамп, экспортированный с локального компьютера. В ISPmanager это можно сделать непосредственно из раздела баз данных через функцию загрузки дампа.

Загрузка дампа базы данных в ISPmanager

Выберите файл .sql и запустите импорт. Для крупных баз данных ограничение размера загрузки в панели может оказаться недостаточным; в таком случае используются phpMyAdmin, командная строка или инструменты, предоставленные хостингом.

После завершения импорта убедитесь, что в новой базе появились все таблицы Joomla. Префикс таблиц должен совпадать со значением $dbprefix в файле configuration.php.

Шаг 7. Изменить configuration.php

Локальная Joomla продолжает хранить параметры подключения к локальной базе данных. После переноса их необходимо заменить данными созданной базы на хостинге.

В корне сайта откройте файл configuration.php и найдите параметры:

public $host = 'db_host';
public $user = 'db_user';
public $password = 'db_password';
public $db = 'db_name';
public $dbprefix = 'abc_';

Подставьте значения, выданные хостингом. Префикс $dbprefix обычно менять не нужно, если была импортирована исходная база целиком: он должен соответствовать реальным названиям таблиц.

Также проверьте пути:

public $log_path = '/path/to/site/administrator/logs';
public $tmp_path = '/path/to/site/tmp';

Они должны указывать на существующие каталоги нового сервера. Если $live_site присутствует в конфигурации и для него нет специальной причины, обычно его оставляют пустым:

public $live_site = '';

Не публикуйте реальные пароль базы данных и другие учетные данные в скриншотах, статьях или открытых репозиториях.

Шаг 8. Проверить сайт после переноса

После сохранения configuration.php откройте сайт по новому адресу и отдельно проверьте административную часть /administrator.

Минимальная проверка после переноса:

  • открывается главная страница и несколько материалов;
  • вход в административную панель работает;
  • загружаются изображения, CSS и JavaScript;
  • работают внутренние ссылки и SEF-адреса;
  • Joomla видит базу данных без ошибок подключения;
  • каталоги временных файлов и журналов доступны для записи;
  • установленные расширения не выдают ошибок;
  • корректно работает HTTPS;
  • отправляется почта, если она используется сайтом.

Если домен только что перенаправлен на новый сервер, обновление DNS может занять некоторое время. До окончания распространения DNS сайт у разных пользователей может открываться со старого или нового сервера.

Частые проблемы после переноса Joomla

Ошибка подключения к базе данных

В первую очередь проверьте $host, $user, $password и $db в configuration.php. Пользователь базы должен иметь права на импортированную базу данных.

Ошибка 500 или белая страница

Причиной могут быть несовместимая версия PHP, старое расширение, правила в .htaccess или серверные настройки. Если локально использовалась другая версия PHP, начните проверку именно с этого пункта.

Не работают ЧПУ-ссылки

Проверьте файл .htaccess, настройки SEF в Joomla и поддержку URL rewriting на сервере. При переносе из подкаталога также убедитесь, что в правилах не осталось старого пути.

Не устанавливаются расширения

Проверьте значения $tmp_path и $log_path, а также права записи для соответствующих каталогов.

Не загружаются изображения или стили

Убедитесь, что все файлы действительно распакованы, права доступа корректны, а в шаблоне или расширениях нет абсолютных путей, привязанных к старому локальному адресу. На Linux также имеет значение регистр букв в именах файлов.

Итоги

Ручной перенос Joomla с локального сервера на хостинг сводится к понятной последовательности: архивировать файлы, экспортировать базу данных, подготовить домен и корневой каталог, загрузить и распаковать сайт, создать новую базу, импортировать SQL-дамп и обновить configuration.php.

Главное — не удалять исходную локальную копию до полной проверки перенесённого сайта и заранее сохранить отдельную резервную копию. Если после переноса возникают ошибки, чаще всего причина находится либо в параметрах подключения к базе данных, либо в путях и серверных настройках.

Добавить комментарий

Нашли ошибку или неточность?

Выделите фрагмент текста и нажмите Ctrl + Enter. Также можно воспользоваться кнопкой ниже.

Нашли ошибку или неточность?

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

Форма защищена от автоматических отправок

Данные используются только для проверки и исправления материала.