О переносе сайта на Joomla с одного хостинга rucenter (nic.ru) на другой хостинг rucenter

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

Как и положено первым делом я слил через ftp сайт на свой комп, вторым шагом с помощью myadminphp я экспортировал базу joomla в файл. Далее я залил сайт на новый хостинг и с помощью myadminphp попробовал импортировать базу из файла. Вот тут то я и наткнулся на проблему, сталкнулся с ошибкой 

#1044 - Access denied for user 'user_name'@'%' to database 'db_name'

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

После этого база успешно создается на новом хостинге.

Последний шаг правка configuration.php

Путь к папке логов:
var $log_path = ‘/home/yoursite/public_html/logs’; (это примерный вариант, какой должен быть точно – нужно уточнить в панели управления хостинга, ищите надпись “домашний каталог” или “абсолютный путь до корня сайта”)

Путь к папке с временными файлами:
var $tmp_path = ‘/home/proksima/public_html/tmp’;

Доступ по FTP:
var $ftp_host = ’111.1.111.11′;

Имя пользователя FTP:
var $ftp_user = ‘user’;

Пароль для FTP:
var $ftp_pass = ‘password’;

Корневой каталог FTP:
var $ftp_root = ‘/public_html’;

Хост базы данных (чаще всего это localhost, но бывают и варианты, уточняйте в настройках, выданных хостером):
var $host = ‘localhost’;

Имя пользователя базы данных (которого мы создали совсем недавно):
var $user = ‘base_user’;

Имя базы данных:
var $db = ‘mysql_base’;

Пароль к базе данных:
var $password = ‘password’;

И вот тут то произошла реальная беда! Файл configuration.php я исправил редактором в админке rucenter, а этот мерзкий редактор внес в начало символ "?", которого в нем категорически быть недолжно. В результате сайт заработал, но сконфигурился с ошибками. Включив отображение ошибок php я получил сообщение об ошибке "Cannot send session cache limiter - headers already sent". Но посчитал это ернудой. Второе что обнаружил это то что в Virtuemart пропали изображения, точнее появились пустые изображения, т.е. Virtuemart потерял к ним путь. Что удивительно путь в самом VM был указан точно. Я искал причину, долго гугулил, нашел кучу тем в которых есть вопрос но нет ответа. В итоге я решил для начала решить первую задачу, устранить ошибку "Cannot send session cache limiter - headers already sent". Сохранив configuration.php в правильном формате utf8 без БОМ решились обе задачи.

Ура!

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