Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Многосайтовая реализация CMS\CMF

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Принципы реализации?
virus_forever
Отправлено: 19 Ноября, 2013 - 13:36:04
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Сент. 2013  


Помог: 0 раз(а)




Доброго времени суток!

Так уж случилось, что у меня есть 3 самописных сайта.
Два из них можно сказать, что сайт-визитка для программ. Третий - сервер API, с которого программы получают необходимую для работы информацию (лицензии, обновление, некоторые настройки , ... и.т.д).

На каждом из сайтов используется "своя" система, делал попытки сделать с нуля.
Эта самая система очень простая, содержит только нужный здесь и сейчас код.
Все работает!
Все что от них требуется сейчас, они выполняют на 100%. Более того, скрипты написаны с пониманием происходящего, хорошо подошел к безопасности.

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

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

Все эти сервера\сервисы\сайты так или иначе будут использовать один и тот-же (подобный) код.

Я решил делать свою CMS \ CMF
как и сотни и тысячи других программистов взявшихся за PHP

Предпосылки:
-Хочу перейти на PHP 5.4. Хостер дает такую возможность - почему бы и нет, тем более в отличии от PHP 5.2, достаточно изменений в производительности и безопасности.
-Хочу полностью перейти на UTF-8
-Хочу мультиязычность
-Хочу поддержку пользователей и многосайтовую авторизацию.
-Хочу админку (Да да, до сих пор я пользовался phpMyAdmin + узкоспециализированными самописныеми программами.
-Хочу онлайн продажу своих настоящих и готовящихся к выходу проектов.
-Хочу резервное копирование бд с отправкой на почту (ох как было не по себе, когда денег заплатить за хостинг не было, вот вот было бы удаление учетной записи вместе со всеми данными - а без оплаты нет доступа к файлам и бд).

По каждому пункту есть некоторые наработки, в виде, так называемых, "тестов" `новых технологий`.

Я тут подумал, не плохо бы...
В целом, для начала, оформить все в виде определенного набора компонентов, подобно .Net Framework (да, в Windows я его презираю, в виду определенных причин. Но это отдельный разговор).

И сама собой сложилась вот что:
-Хочу поддержку многосайтовости.

Проблема
Проблема в том, что я совсем на данный момент, не имею представления об общих методах и принципах реализации многосайтовости.

Не видел ,доступных для изучения, (free\nulled) CMF или CMS с такой возможностью.

Может быть...
Может быть поделитесь со мной своими мыслями по данной теме?

"Сайты" должны иметь возможность использовать "общие" компоненты или свои.
Эти самые компоненты должны иметь возможность использовать "общие" данные, так и свои.
(Тут речь идет о таблицах, в пределах одной базы данных - с разными преффиксами или без. Очень грубо говоря, таблица с "сессиями" - одна для всех; а таблица с "новостями" - каждая на свой сайт).

Разумеется настройки сайта, компонентов, кеш и прочее...

Может быть есть какие-то не сильно замудренные, доступные для изучения, скрипты?

Может быть есть какие-то мануалы?
 
 Top
caballero
Отправлено: 19 Ноября, 2013 - 13:45:31
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




многосайтовость на самом деле нужна довольно редко
с этим больше хлопот чем пользы


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Ch_chov
Отправлено: 19 Ноября, 2013 - 14:38:06
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




В настройках сервера создайте несколько хостов с одним общим DocumentRoot. А дальше все зависит от ваших потребностей и от возможностей вашей CMS. Все что нужно сделать "мультисайтовым" должно быть обозначено в конфигурации (не в коде). Например, в случае с таблицей новостей, можно создать в конфиге опцию news_table и переключать её в зависимости от текущего урла. Либо, если у вас используется какой то свой класс для работы с БД, можно с помощью префиксов переключать таблицы автоматически. Лучше всего для каждого сайта подключать свой конфигурационный файл, который будет переопределять опции из файла по умолчанию.
Например:
default.ini - подключается всегда
site1.ini - подключается только для site1
site2.ini - подключается только для site2

Если сайтов много, то возможно потребуется создать дополнительный интерфейс в админке для пакетной работы с сайтами.
Для общей авторизации может понадобится устанавливать корректный cookie_domain.
 
 Top
Zuldek
Отправлено: 19 Ноября, 2013 - 15:00:04
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




Цитата:
хорошо подошел к безопасности.

Цитата:
Сайты расположены у одного хостера, на одном аккаунте, используют одну базу данных, одну файловую систему...

Улыбка
По теме. Берите Zend и делайте с ним что вам нужно чтобы избежать повторного изобретения велосипедов.

(Отредактировано автором: 19 Ноября, 2013 - 15:02:04)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« CMS и фреймворки »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB