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 :: Пользовательские автоподдомены

 PHP.SU

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


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

> Без описания
perseydoft
Отправлено: 24 Июня, 2010 - 14:36:34
Post Id


Новичок


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


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




Здравствуйте. Сам я пока новичок в PHP, но немного осваиваюсь. Вопрос, который хотел бы задать, охватывает сразу несколько тем на этом форуме, поэтому я выбрал тему наиболее непонятного для меня вопроса.

Существует довольно большое количество сайтов, после регистрации на которых вы можете получить собственный поддомен. Ну, например, LiveJournal или bestpersons.
Как можно реализовать подобное?
Очевидно, что нужен свой выделенный сервер, хотя бы виртуальный.

Сам я предполагаю такой выход: со всех поддоменов сайта example.com (то есть с 1.example.com, vasya.example.com, petya.example.com и пр.) идёт перенаправление на один и тот же IP-адрес. Как следует сконфигурировать сервер доменных имен (например, named) на сервере для этого?
Затем веб-сервер будет получать от браузера значение запрашиваемого домена (например, vasya.example.com), а движок сайта выводить нужную страницу. Напомните, пожалуйста, как называется переменная запрашиваемого браузером клиента доменного имени в PHP?
Подскажите, как следует настроить Apache, просто listen ip:port? Если я предпочту связку nginx + Apache, то как их нужно настроить? Лучше ли будет вариант nginx + php-fpm + eaccelerator?
Вопрос усложняется, если на поддомене pic.example.com и static.example.com должен храниться статичный контент. То есть их точно придётся раздавать посредством nginx.

Вообще, осуществимо ли это на PHP? Насколько можно судить по социальной сети «ВКонтакте» — вполне, там пользовательские автоподдомены функционируют. Но может, мне стоит выбрать иной язык для реализации подобного?

(Разумеется, я понимаю, что задаю слишком много вопросов, и, возможно, желание отвечать на такую кучу просто улетучивается, но, думаю, и посетителям форума такая теория будет полезна.)

(Отредактировано автором: 24 Июня, 2010 - 14:38:49)

 
 Top
JustUserR
Отправлено: 24 Июня, 2010 - 16:08:53
Post Id



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


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


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




perseydoft пишет:
Как можно реализовать подобное?
Очевидно, что нужен свой выделенный сервер, хотя бы виртуальный
Реализовать систему пользовательских субдоменов можно различными средставми - в зависимости от этого домены могут быть реальными или виртуальными - хотя в любом случае это будет некоторый обработчик виртуального хоста
В самом простом случае вы делаете перенаправление всех доменов *.domain.ru кроме ваших служебных субдоменов - на специальный виртуальный хост в котором располагатся CGI-скрипт и выполняет определенные дейтсвия То есть соответствюущих виртуальных хостов у пользователей на самом деле нет - но CGI-скрипт за счет HTTP-переменных окружения HTTP_HOST выполняет требуемую эмуляцию
Можно реализовать и реальную систему субдоменов для пользователей - для этого потребуется динамическое изменение httpd.conf или специальные модули для поточного создания виртуальных хостов
Конечно же для всего вышеуказанного требуется чтобы DNS-сервер обрабатывал все возможные запросы на ваш домен - и переадресовывал их на соответствующий IP-адрес вашего web-сервера


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Администрирование *nix »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB