Программирование HTML Как сделать локальную копию сайта Joomla на Denwer Thu, November 21 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.


Как сделать локальную копию сайта Joomla на Denwer Печать
Добавил(а) microsin   

В этой статье описана несложная процедура создания тестовой копии рабочего сайта на Денвер [1]. Это полезно для тестирования качества резервного копирования сайта, а также для проведения разных экспериментов с новыми компонентами и расширениями. 

1. Найдите незанятое доменное имя для тестирования. Оно не должно пинговаться в Интернет. Предположим, что Вы нашли такое имя: mytstdomain.ru. Это имя будет использоваться как имя домена для копии тестируемого сайта. 

Примечание: это не обязательный шаг, в принципе Вы можете использовать любое имя, даже старое доменное имя сайта. В любом случае при запуске Денвер перенастроит это имя (путем автоматического редактирования системного файла hosts) на локальный адрес 127.0.0.1. Но удобнее все же найти не занятое доменное имя, чтобы сразу работало 2 версии сайта - одна рабочая (на глобально доступном через Интернет сервере), другая тестовая на Денвер (которая работает на локальном компьютере).

2. Скачайте и установите Denwer [1]. При установке можно принять все рекомендуемые настройки по умолчанию. Запустите Denwer, проверьте. Должны нормально отображаться ссылки http://localhost/denwer/ и http://test1.ru/ 

denwer install done denwer first start denwer test1 domain

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 $ftp_host = '127.0.0.1';
   var $ftp_port = '21';
   var $ftp_user = 'имя_пользователя_ftp';
   var $ftp_pass = 'пароль_этого_пользователя';
   var $ftp_root = '/www/mytstdomain.ru/';

• Настройки электронной почты (не обязательно). 

   var $mailfrom = 'почтовый_адрес@mail.ru';
   var $fromname = 'mytstdomain.ru';

• Имя сайта.

//   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".

denwer database error

Все в порядке, Joomla работает, теперь осталось залить базу MySQL и настроить к ней доступ.

Если у Вас еще не настроен доступ к базам MySQL Joomla, то при доступе к тестируемому сайту на Денвер (который установлен на локальном компьютере) в Internet Explorer 10 появляется ошибка 500 "Веб-сайту не удается отобразить страницу". При этом http://localhost/denwer/ и тестовый сайт http://test1.ru/ в Internet Explorer 10 открываются нормально, и имя тестируемого сайта mytstdomain.ru пингуется также нормально. Браузер chrome нормально показывает тестируемый сайт, а Internet Explorer 10 при доступе к тому же сайту выдает ошибку 500.

denwer IE10 error 500

Наверное, это старая добрая традиция Microsoft - скрывать от пользователя, что происходит на самом деле. Почему бы им в разделе "Подробнее" не выдать ответ сайта (который сообщает об ошибке доступа к MySQL), как это делают все другие нормальные браузеры?

7. Откройте в браузере ссылку http://localhost/Tools/phpmyadmin/index.php, это phpMyAdmin, система управления базами данных MySQL. Залейте из бекапа дамп своей старой базы с сайта domain.ru. Обычно дамп бекапа - это просто текстовый файл с расширением *.sql, в котором записаны команды для MySQL, которые позволяют создать базу данных Joomla и все таблицы в ней. Вот пример такого файла (его начало): 

-- MySQL dump 10.11
--
-- Host: localhost    Database: domainru_joomla_base
-- ------------------------------------------------------
-- Server version 5.0.51a-24+lenny5
 
 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
 
--
-- Table structure for table `jos_acesearch_extensions`
 
-- DROP TABLE IF EXISTS `jos_acesearch_extensions`;
SET @saved_cs_client     = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `jos_acesearch_extensions` (
  `id` int(255) NOT NULL auto_increment,
...

Вам нужно создать базу данных для 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, и отредактируйте в нем следующие строчки: 

;upload_max_filesize = 2M
upload_max_filesize = 50M
 
;post_max_size = 8M
post_max_size = 100M

Перезапустите Денвер, и попробуйте снова залить базу данных из дампа.  

Через несколько секунд (в зависимости от объема базы) импорт будет завершен. 

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/ будет открываться тестовая копия Вашего сайта, с которой можно проводить эксперименты.

[Ссылки]

1Денвер - локальный сервер site:denwer.ru.
2. Как мы с одной девушкой накатывали на Денвер тестовый сайт.

 

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


Защитный код
Обновить

Top of Page