Как сделать локальную копию сайта Joomla на Denwer
Добавил(а) microsin
В этой статье описана несложная процедура создания тестовой копии рабочего сайта на Денвер [1]. Это полезно для тестирования качества резервного копирования сайта, а также для проведения разных экспериментов с новыми компонентами и расширениями.
1. Найдите незанятое доменное имя для тестирования. Оно не должно пинговаться в Интернет. Предположим, что Вы нашли такое имя: mytstdomain.ru. Это имя будет использоваться как имя домена для копии тестируемого сайта.
Примечание: это не обязательный шаг, в принципе Вы можете использовать любое имя, даже старое доменное имя сайта. В любом случае при запуске Денвер перенастроит это имя (путем автоматического редактирования системного файла hosts) на локальный адрес 127.0.0.1. Но удобнее все же найти не занятое доменное имя, чтобы сразу работало 2 версии сайта - одна рабочая (на глобально доступном через Интернет сервере), другая тестовая на Денвер (которая работает на локальном компьютере).
2. Скачайте и установите Denwer [1]. При установке можно принять все рекомендуемые настройки по умолчанию. Запустите Denwer, проверьте. Должны нормально отображаться ссылки http://localhost/denwer/ и http://test1.ru/
3. Создайте каталог Z:\home\mytstdomain.ru, в нем создайте папку www.
Примечание: Z: это имя виртуального диска, который был создан после установки Denwer.
4. Перепишите все файлы и папки из корневого каталога сайта Joomla в каталог Z:\home\mytstdomain.ru\www.
Примечание: корневой каталог сайта - это каталог на сервере, где находятся файлы configuration.php, index.php, каталоги administrator, libraries, components и другие каталоги Joomla).
5. Отредактируйте файл configuration.php так, чтобы в нем настройки ссылались на новое имя домена mytstdomain.ru.
Предположим, что старое доменное имя сайта было domain.ru. Нам нужно перенастроить файл configuration.php тестовой копии Joomla на Denwer так, чтобы Joomla работала на новом тестовом домене mytstdomain.ru.
• Настройка каталогов log и tmp.
// var $log_path = '/var/www/microsin/data/www/domain.ru/logs';
// var $tmp_path = '/var/www/microsin/data/www/domain.ru/tmp';var$log_path='Z:/home/mytstdomain.ru/www/logs';
var$tmp_path='Z:/home/mytstdomain.ru/www/tmp';
• Настройка каталога FTP (не обязательно, если Вы не используете ftp для администрирования Joomla на Denwer).
// var $sitename = 'domain.ru';var$sitename='mytstdomain.ru';
6. Перезапустите Денвер. Попробуйте в браузере открыть ссылку http://mytstdomain.ru/. Вы должны увидеть сообщение "Database Error: Unable to connect to the database:Could not connect to MySQL".
Все в порядке, Joomla работает, теперь осталось залить базу MySQL и настроить к ней доступ.
Если у Вас еще не настроен доступ к базам MySQL Joomla, то при доступе к тестируемому сайту на Денвер (который установлен на локальном компьютере) в Internet Explorer 10 появляется ошибка 500 "Веб-сайту не удается отобразить страницу". При этом http://localhost/denwer/ и тестовый сайт http://test1.ru/ в Internet Explorer 10 открываются нормально, и имя тестируемого сайта mytstdomain.ru пингуется также нормально. Браузер chrome нормально показывает тестируемый сайт, а Internet Explorer 10 при доступе к тому же сайту выдает ошибку 500.
Наверное, это старая добрая традиция Microsoft - скрывать от пользователя, что происходит на самом деле. Почему бы им в разделе "Подробнее" не выдать ответ сайта (который сообщает об ошибке доступа к MySQL), как это делают все другие нормальные браузеры?
7. Откройте в браузере ссылку http://localhost/Tools/phpmyadmin/index.php, это phpMyAdmin, система управления базами данных MySQL. Залейте из бекапа дамп своей старой базы с сайта domain.ru. Обычно дамп бекапа - это просто текстовый файл с расширением *.sql, в котором записаны команды для MySQL, которые позволяют создать базу данных Joomla и все таблицы в ней. Вот пример такого файла (его начало):
Вам нужно создать базу данных для Joomla (например domainru_joomla_base), и потом восстановить в этой базе все таблицы Joomla. Все это делается с помощью инструментария phpMyAdmin.
Базы данных -> Создать базу данных -> ведите имя базы данных (например domainru_joomla_base) -> Сравнение введите utf8_bin -> Создать. Это имя позже будет указано в конфигурационном файле Joomla. Зайдите в эту базу данных, нажмите закладку Импорт, выберите файл дампа, нажмите OK.
Примечание: Если файл дампа слишком большой, то может появиться ошибка наподобие такой:
Warning: POST Content-Length of 37592691 bytes exceeds the limit of 8388608 bytes in Unknown on line 0
Вероятно, размер загружаемого файла слишком велик. Способы обхода данного ограничения описаны в документации.
Цитата с сайта pmdesign.ru: "При импорте базы в PhpMyAdmin максимальный размер загружаемого файла по умолчанию равен 2М. Что бы изменить это значение нужно исправить upload_max_filesize в файле php.ini. Однако, этого может быть недостаточно. Если нужное значение больше заданного в переменной post_max_size в том же файле, если нужно можно поменять и его. Но нужно учитывать, что оба этих значения должны быть меньше указанного в memory_limit. И еще: если файл велик, то возможно, для его обработки понадобится много времени, ограничение в переменной max_execution_time может дать отрицательный эффект."
Короче говоря, откройте текстовым редактором файл Z:\usr\local\php5\php.ini, и отредактируйте в нем следующие строчки:
Перезапустите Денвер, и попробуйте снова залить базу данных из дампа.
Через несколько секунд (в зависимости от объема базы) импорт будет завершен.
8. Нам осталось отредактировать файл configuration.php, чтобы в нем были прописаны параметры доступа к базе данных MySQL.
var$dbtype='mysql';
var$host='localhost';
// var $user = 'старое_имя_пользователя_MySQL';var$user='root';
var$db='domainru_joomla_base';
...// var $password = 'старый_пароль_пользователя_MySQL';var$password='';
Примечание: для доступа к базе данных MySQL мы ввели имя пользователя root и пустой пароль, потому что это настройки по умолчанию в пакете Денвер.
На этом установка сайта Joomla на Денвер завершена. По ссылке http://mytstdomain.ru/ будет открываться тестовая копия Вашего сайта, с которой можно проводить эксперименты.