[DLE] Один движок с разными конфигами и базами

D
На сайте с 06.10.2012
Offline
46
1116

Добрый день

Сделал:

1. Откроем файл /engine/init.php для редактирования

2. Найдем

@include (ENGINE_DIR . '/data/config.php'); и запишем перед этой строкой следующий код

$Host = str_replace('www.', "", $_SERVER['HTTP_HOST']);

define ('CONFIG_DIR',$Host);

unset($Host);

3. Заменим исходную строку на

@include (ENGINE_DIR . '/data/' . CONFIG_DIR .'/config.php');

4. Найдем далее

require_once ENGINE_DIR . '/data/dbconfig.php'; и заменим ее на

require_once ENGINE_DIR . '/data/' . CONFIG_DIR .'/dbconfig.php';

5. Откроем файл /engine/inc/include/init.php для редактирования

6. найдем в нем строку

require_once (ENGINE_DIR .'/data/config.php'); и допишем перед ней

$Host = str_replace('www.', "", $_SERVER['HTTP_HOST']);

define ('CONFIG_DIR',$Host);

unset($Host);

7. заменим исходную строку на

include (ENGINE_DIR . '/data/' . CONFIG_DIR .'/config.php');

8. найдем строку

require_once (ENGINE_DIR .'/data/dbconfig.php'); и заменим ее на

require_once ENGINE_DIR . '/data/' . CONFIG_DIR .'/dbconfig.php';

Мы только что изменили расположение конфигов для сайта и админки, остался последний момент,это сохранение настроек.

9. откроем файл /engine/inc/options.php и найдем в нем строку

$handler = fopen( ENGINE_DIR . '/data/config.php', "w" ); и заменим ее на

$handler = fopen( ENGINE_DIR . '/data/' . CONFIG_DIR .'/config.php', "w" );

10. с правкой файлов закончено, переходим к последнему этапу, это копирование исходных конфигов в нужное место. Зайдем в каталог /engine/data/ и создадим в нем каталоги с названием всех сайтов, прилинкованых к данному сайту, без www. то есть каталоги будут выглядить следующим образом: my-site1.ru, my-site1.com, my-site2.ru, my-site2.com и так далее и скопируем в каждый из них файлы config.php и dbconfig.php

11. заходим в phpMyAdmin и делаем бекап вашей базы даных.

12. Шаг 12 будет отличаться в зависимости от вашего хостинга:

а) если общее число баз данных ограничено, то в файле dbconfig.php меняем префикс таблиц, и дальше в .sql файле меняем префикс 'dle_' на новый во всем файле

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

13. Загружаем бекап на сервер в зависимости от шага 12 либо в новую бд, либо в исходную базу

В результате мы получили один движок с разными конфигами и базами.

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

if(CONFIG_DIR == 'site.ru'){

тут подключаем модуль

}

Не знаете почему не отображается номера страниц 1.2.3, может быть нужно что-то подправить?

просто я не знаю как прописать пути engine/data/site1 и engine/data/site2 для всех файлов

получается один движок с разными конфигами и базами

сайт http://hosting.droncs.ru/

Торговля бинарными опционами http://droncs.ru (http://droncs.ru)
D
На сайте с 06.10.2012
Offline
46
#1

ни кто не знает?

S5
На сайте с 04.01.2010
Offline
77
#2

Не читал ту срань выше, делается просто. В зависимости от $_SERVER['HTTP_HOST'] подключается необходимый конфиг с базой. Непонятно только зачем

D
На сайте с 06.10.2012
Offline
46
#3

для мультисайтности на поддоменах

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий