Поставили задачу, решение которой я не могу найти. Помогите советом. Задача стоит в следующем: Есть система (CMS), которая могла бы создавать множество аккаунтов на своей стороне. Каждый аккаунт, это сайт со своей структурой и содержимым. Все содержимое всех аккаунтов находится на сервере CMS (база и данные). Используется набор псевдонимов для каждого аккаунта. Трудность для меня в том, что я не могу представить, как можно реализовать, что бы при наборе в браузере http://имя_аккаунта (или псевдоним аккаунта), мы получали результатирующее содержимое указанного аккаунта, сформированное CMS ранее.
Если используется апач и у CMS есть доступ к конфигам апача, то создавать в конфигруации виртуального хоста помимо основного Код (Text): ServerName test.ru алиасы Код (Text): ServerAlias test2.ru test3.ru test158.ru
Хорошо. Получается, при каждом создании аккаунта, я должен открывать httpd.conf и добавлять алиасы ручками, а затем делать рестарт апача? (( А возможно ли это делать автоматически?
Что-то я действительно стормозил: ведь если апач не находит имя сервера среди виртуальных хостов (и их алиасов), то он передает управление первому в списке виртуальному хосту. Вот так.
Вопрос открыт! Есть ли возможность автоматизировать процедуру формирования списка алиасав в конфиге апача с последующим рестартом апача? Любые решения, кроме - "ручками". Ведь админ CMS скорее всего будет обычный пользователь, и о вмешательстве оного в конфиг сервера и речи не может быть.
Можно. У меня на локальном компе управление локальными хостами происходит автоматически. Все что нужно вставить/удалить в конфигурации апача нужные строки. Это обыкновенная работа с текстом, а затем перезапустить апач. В винде C:\Apache\Apache.exe -w -n \"Apache\" -k restart. В линуксе не знаю.
У меня в Debian хосты лежат отдельно, т.е. для каждого виртуального хоста в /etc/apache/sites_available свой конфиг. Заменяем его на нужный (генерим заново на основе имеющихся файлов), потом /etc/init.d/apache restart. Если у вас одна CMS на весь сервер, то проще через дефолтный хост работать.
Не понял ответа... Мне интересно, каким образом только при помощи mod rewrite и каталогов можно решить эту задачу? Изложите плз. свои мысли яснее и детальнее.
1. делаем дефотлтный хост. (на него попадают все запросы к серверу) 2. в его index.php делаем разбор адрессной строки 3. выводим контент согласно домену.
угу. и при десяти клиентах при сотне посетителей в каждом сервер ляжет. Нет, такое только разруливать Апачем.
Ну... тут многое зависит от сервера... яндекс же не ложится от миллионов в день Тем более на сколько я понял: не зависимо от того как будет реализовано распределение хостов - их всех будет обслуживать одна CMS?
S.t.A.M., как раз в яндексе все решено еще как я говорю, даже еще круче - разруливает хосты отдельный проксирующий вебсервер, который заодно и распределяет нагрузку. никаких скриптовых языков. Все работает под дебианом, кстати. (Дебиан - спасет серверный мир, Убунта - бабушек-домохозяек!) И кстати да, если мне не изменяет память, у янадекса уже 3 датацентра собственных. Но тут могу приврать, в меньшую сторону.