2009-03-22 3 views
1

Я создаю многосайтовое приложение, в котором клиент должен иметь возможность использовать свой собственный домен (как противостоящий только субдомену). мне нравится знать разные способы решения этой проблемы, и какая конфигурация необходима на обоих концах, когда/если клиент хочет обрабатывать почтовый хостинг извне., используя полные домены в многосайтовом приложении, настроенном

любая ссылка на lxadmin/hypervm тоже будет полезна. tx ~

Редактировать: Я бегу apache; не требуется ssl.

+0

Пожалуйста, добавьте дополнительную информацию в свой вопрос. Какой веб-сервер вы используете? Каковы требования? SSL? и т.п. –

ответ

0

Это что-то похожее на то, как работают блоги в wordpress.com. xyz.wordpress.com можно сопоставить с www.xyz.com.

Wordpress MU имеет ту же функцию, и для этого есть плагины. Это link даст вам некоторую идею.

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

0

Я рекомендую создать подкаталог в каталоге apache conf. Что-то вроде conf/user-domains. Каждый файл в этом каталоге будет называться как домен пользователя, например userdomain.com, и будет содержать директивы apache для этого поддомена. Нечто подобное (с верхней части моей головы):

<VirtualHost *:80> 
    ServerName userdomain.com 
    DocumentRoot "/path/to/userdomain.com/htmldocs/" 
</VirtualHost> 

Если у вас есть какой-то веб-интерфейс для пользователя, чтобы создать те домены, он будет хранить файл с его параметрами в некотором известном месте, например, $webtmp/userrequests/request-XXXYYZ. Затем у вас будет cron-задание, которое сканирует это местоположение для новых запросов и создает соответствующие файлы в conf/user-domains.

О, и сделайте мне одолжение, и не просто скопируйте ввод от пользователя в файл конфигурации - это отличный способ захватить ваш сервер. Сначала проверьте это и не используйте его, если это законно. (Я бы рекомендовал вам предоставить доступ только для записи к conf/user-domains пользователю fakedaemonuser и запустить cron-задание в качестве этого пользователя.)

EDIT: Забыл сообщить вам, вам нужно будет добавить директиву в главный конфигурационный файл сервера Apache (http.conf обычно):

Include conf/user-domains/*.conf 

конечно, это при условии, все файлы, вы создаете в conf/user-domain/ конце в .conf.