Огненный Лис

Огненный Лис

+6
Репутация
0
Рейтинг
#1 Несколько сайтов в одном 9 июля 2016 в 17:29


Вы сами то каким хостингом пользуетесь?

Огненный Лис
Вот этим Сервера расположены в России, Европе и в Украине

Volgomarket

Volgomarket, сравнил "возможности" обоих хостингов (здесь dominant-telecom.ru/help/power-levels и здесь timeweb.com/ru/support/faq/hosting/technical/kakie-ogranicheniya-ustanovleny-na-serverakh-virtualnogo-khostinga/#answer), пришёл к выводу, что у хостинга dominant-telecom.ru слишком большие ограничения по способностям, большого "наплыва" посетителей он не выдержит. В общем, мне свой больше нравится) Но спасибо за вариант)
#2 Несколько сайтов в одном 9 июля 2016 в 16:06


Огненный Лис, я плачу 300 рублей в месяц за безлимит. Около 10 сайтов. Правда посещалка на всех маленькая, но открываются быстро.

Volgomarket

Пробовал несколько безлимитных, ни один из них так не радовал, как радует мой хостинг. Пользуюсь ТаймВебом (http://timeweb.com/ru/services/hosting/), плачу 299 за 25 сайтов. Так как здесь, ни где мои сайты лучше не летали.

Вы сами то каким хостингом пользуетесь?
#3 Несколько сайтов в одном 9 июля 2016 в 14:53
У кого ни будь есть идеи, почему Cron не работает?
#4 Несколько сайтов в одном 9 июля 2016 в 14:43


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

Нил™

Нил, вот честно, нет у меня 700 руб. в месяц на хостинг! Да и не доверяю я "безграничным" хостингам – у них часто сайты медленно работают.
#1 Несколько сайтов в одном 9 июля 2016 в 12:15
Пользуюсь хостингом с ограничением по количеству сайтов. В какой-то момент достиг потолка и понял, что переплачивать только лишь за возможность создавать бОльшее их число не хочется, поэтому решил задаться вопросом: возможно ли в рамках одного сайта создать несколько?

Решение нашлось, понадобится добавить лишь несколько строчек кода, об этом ниже)

В принципе, я подготовил архив с уже подредактированными файлами – они для версии 2.5.1. Необходимо просто закинуть на хостинг, заменив имеющиеся. Файл можно скачать здесь: cloud.mail.ru/public/HSSo/xvgxtdPEs
\install\steps\config.php
\system\controllers\admin\actions\install_ftp.php
\system\core\config.php
Добавится один новый – \system\config\domen.config.php

Принцип работы прост: при заходе с разных доменов на сайт, CMS подключается к разным базам данных, либо той же, но с другими настройками (какие — укажете при установке). Обо всём подробнее ниже.

Добавляемые строки кода

Строка 8:
  1. $file = 'config.php';
заменяется на
  1. $file = $_SERVER['HTTP_HOST'] . '-config.php';
В функции "create_config" добавляются строки:
  1. $newdomen = fopen($path . '/' . 'domen.config.php', 'a');
  2. fwrite($newdomen, "else if(\$_SERVER[HTTP_HOST] == '" . $_SERVER[HTTP_HOST] . "') { \$cfg_file='" . $file . "'; } \n");
  3. fclose($newdomen);
Добавляется новая функция:
  1. public function getDomenConfig(){
  2. //require_once('domen.config.php');
  3. include('system/config/domen.config.php');
  4. return $cfg_file;
  5. }
В функции "checkDestination" добавляются строки:
  1. $cfg_file='config.php';
  2. $cfg_file = self::getDomenConfig();
Там же меняется строка
  1. 'system/config' => 'config.php'
на
  1. 'system/config' => $cfg_file
.

Добавляется новая функция:
  1. public function getDomenConfig(){
  2. //require_once('domen.config.php');
  3. include('system/config/domen.config.php');
  4. return $cfg_file;
  5. }
В функциях "__construct", "load", "save" и "update" добавляются строка:
  1. $cfg_file = self::getDomenConfig();
.

Здесь прописаны переменная и правило:
  1. $cfg_file='config.php';
  2. if($_SERVER[HTTP_HOST] == 'mysite.ru') { $cfg_file='config.php'; }
ПС. В дальнейшем, при установке новых сайтов, здесь будут добавляться правила вида: если на сайт был заход с такого-то домена, то открывается такой-то файл конфигурации.
Внимание! Прежде чем продолжить работу над сайтом, необходимо изменить доменное имя "mysite.ru" на имя вашего первого (основного) домена!

Все изменения сопровождаются комментариями в самих файлах.

В общем-то ни чего сложного нет, как видите. Этот способ был опробованы на версиях 2.4.0 и 2.5.1 – всё отлично работает!

Установка

Рекомендую производить установку первого сайта обычным образом, с применением стандартной сборки CMS. Иначе, если вы замените файлы до установки первого (основного) сайта, необходимо будет подредактировать следующие файлы:
\system\config\domen.config.php — здесь понадобится удалить лишнюю строку
  1. if($_SERVER[HTTP_HOST] == 'your-domen.ru') { $cfg_file='your-domen.ru-config.php'; }
— она появится сразу после строки
  1. if($_SERVER[HTTP_HOST] == 'mysite.ru') { $cfg_file='config.php'; }
(ПС. Здесь "your-domen.ru" — имя домена, с которого вы производили установку первого (основного) сайта).
Далее заменяем в строке
  1. if($_SERVER[HTTP_HOST] == 'mysite.ru') { $cfg_file='config.php'; }
доменное имя "mysite.ru" на доменное имя первого (основного) сайта.
\system\config\your-domen.ru-config.php — заменяем имя файла на "config.php" (ПС. Здесь "your-domen.ru" — имя домена, с которого вы производили установку первого (основного) сайта).

После того, как вы закончили с установкой первого сайта, можно подходить к установке второго, и последующих – процедура установки каждого следующего сайта, начиная со второго, одинакова:

1. Заходим на нужный нам домен (например, "site2.ru"), добавляем через слеш название папки инсталляции (например, так: "site2.ru/install"), переходим по получившемуся адресу;
2. Здесь вполне стандартная установка, кроме двух пунктов:
– на вкладке, где указываем расположение кэша и загружаемых файлов, желательно (не обязательно) указать другое расположение, и скопировать туда соответствующие предустановленные папки ("cache" и "upload");
– на вкладке, где прописываем базу данных и префикс, мы должны указать другую базу данных, либо префикс – иначе оба ваших сайта будут работать с одними и теми же данными.
3. Радуемся)

Комментарии и замечания

Во время установки второго сайта на первой вкладке я менял названия папок следующим образом: "\cache" на "\cache_domen-name", "\upload" на "\upload_domen-name". На второй вкладке я исправлял только префикс с "cms_" на "cms_domen-name_", базу данных я оставлял прежней. Здесь важное замечание: ни когда не пишите префиксы с точками, например так: "cms_site2.ru_" – работать не будет, проверенно!

Cron не работает, увы.

  1. PHP Warning: include(system/config/domen.config.php): failed to open stream: No such file or directory in /home/x/мой_логин_на_хостинге/папка_сайта/public_html/system/core/config.php on line 50
  2. PHP Warning: include(system/config/domen.config.php): failed to open stream: No such file or directory in /home/x/мой_логин_на_хостинге/папка_сайта/public_html/system/core/config.php on line 50
  3. PHP Warning: include(): Failed opening 'system/config/domen.config.php' for inclusion (include_path='.:/opt/php53/share/pear:/usr/share/pear') in /home/x/мой_логин_на_хостинге/папка_сайта/public_html/system/core/config.php on line 50
  4. PHP Warning: include(system/config/domen.config.php): failed to open stream: No such file or directory in /home/x/мой_логин_на_хостинге/папка_сайта/public_html/system/core/config.php on line 50
  5. PHP Warning: include(system/config/domen.config.php): failed to open stream: No such file or directory in /home/x/мой_логин_на_хостинге/папка_сайта/public_html/system/core/config.php on line 50
  6. PHP Warning: include(): Failed opening 'system/config/domen.config.php' for inclusion (include_path='.:/opt/php53/share/pear:/usr/share/pear') in /home/x/мой_логин_на_хостинге/папка_сайта/public_html/system/core/config.php on line 50
  7. PHP Warning: include(/home/x/мой_логин_на_хостинге/папка_сайта/public_html/system/config): failed to open stream: No such device in /home/x/мой_логин_на_хостинге/папка_сайта/public_html/system/core/config.php on line 168
  8. PHP Warning: include(): Failed opening '/home/x/мой_логин_на_хостинге/папка_сайта/public_html/system/config/' for inclusion (include_path='.:/opt/php53/share/pear:/usr/share/pear') in /home/x/мой_логин_на_хостинге/папка_сайта/public_html/system/core/config.php on line 168

Обновлять не пробовал. ИМХО, это возможно, но производить обновление придётся в обязательном порядке для каждого "внутреннего сайта", ни кого не упуская, так как системные (основные) файлы у них у всех будут одни и теже.
Прикрепленный файл
multidomen251_gbc7d.zip 7 Кб
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.