С целью поковыряться и набраться опыта в администратировании хочу построить хостинг на локалхосте. При этом сам хостингом никогда не пользовался, и уровень знаний не больше, чем настроить nginx + php-fpm. Но хочется развернуть на том же локалхосте полноценный «энтерпрайз», для личных целей, и только чтобы все было настроено грамотно. :)
Сейчас настроил нечто вроде shared-хостинга, когда работает один nginx, php-fpm, а через vsftpd виртуальные пользователи управляют файлами на своих доменах. Безопасность такого решения под большим вопросом.
Прочитав на википедии статью «Хостинг», — понял, что нужно что-то бОльшее и огороженное, потому что также необходимо настраивать лимиты на ресурсы (память, процессор, объем сайта), количество доменов на пользователей, и в дальнейшем настройка аккуантов почты, БД и прочая-прочая-прочая… Все это я хочу реализовать без виртуализации, ISP менеджеров… — все исключительно руками, в консоли. Создание новых доменов, пользователей в будущем автоматизировать собственными же скриптами.
В интернете полным полно материала на тему настройки демонов в отдельности (nginx, postfix, *sql, openssh, iptalbes), но не смог найти статьи про конкретно создание собственного хостинга, чтобы все эти демоны работали взаимосвязано. И когда например, пользователи настраивают себе nginx, многие любят связывать хомяк с www через mount --bind, что я считаю костылем, т.к. все, имхо, должно решаться естественным указанием путей.
Например, когда вы верстаете сайт на локалхосте, а затем заливаете его в «энтерпрайз», на хостинг, — так вот я хочу делать тоже самое, только этот самый хостинг должен распологаться на локалхосте.
И по мере изучения хостинга изнутри — пишу статью про это на LOR Wiki.
Целью монетизации домашнего хостинга не задаюсь, только лишь хочу, чтобы правильно настроить весь необходимый минимум хостинга уровня «энтерпрайз» мог любой пользователь. Кого хостить — уже будет решать пользователь, может себя и друзей, может 100500 клиентов, а возможности «энтерпрайза» упираются только в железо. :)
Думаю 90% хостинга строится на готовых решениях вроде средств виртуализации, биллинга (например,Billmanager) и панели управления (ISPManager, CPanel, DirectAdmin, и др.). Большая часть ПО идет в комплекте. Биллинг чаще самописный, чем панелька — т.к. его сделать проще.
Целеком самописные решения создают только монстры (вроде мастерхоста), и то далеко не все, и не во всём… Потому статей и нет — архитектура такого хостинга это интеллектуальная собственность компании.
Уж что-что, а биллинг самописным быть не может, все что считает деньги должно иметь сертификат соответствия. Писать и сертифицировать свой биллинг сильно дороже покупки существующего.
subvillion, любые электронные таблицы, личный кабинет на любом сайте с онлайн-оплатой да даже калькулятор и счеты тоже должны иметь сертификат соответствия? Они все могут считать деньги. А если считать в уме? Заметьте, я не говорю что писать биллинг дешевле покупки существующего… Писать своё (даже без какой-либо сертификации) в любом случае дороже чем купить готовое. Только готовое не всегда подходит с точки зрения возможностей, юзабилити, политики безопасности компании…
неверно вы пишите, ЗлойЗмей. Я работал у провайдера, где всё настроено руками. Уровень средненький, далеко не Мастерхост. Насколько я знаю, у некоторых других украинских хостеров так же.
Вот только инструкции нет ни у кого. Каждый делает по-своему, в меру своих знаний.
Правда, потом у нас всё-таки внедрили DirectAdmin. Действительно, такие решения намного упрощают работу, хотя с ними тоже надо научиться работать.
charon у большинства мелких да, куплены только isp/plesk может еще что, остальное Freeware технологии и самописные костыли, билинги и все остальное… (( да в меру знаний ведущего админа…
Знакомьтесь, www.parallels.com и им подобные — решения для хостинга. Есть и другие. Они связаны с виртуализацией, поэтому ищите по системама виртуализации, Xen например.
По организации хостинга — достаточно просто почитать мануалы по настройке безопасности и высокой производительности (оптимизации) по тем продуктам, которые Вы собираетесь использовать — дистрибутиву линукса, веб сервера, php/perl/python, sql/ssh/ftp, настройке selinux/firewall'а/nat'а.
Биллинг и панель управления чаще или самописные или купленные (ISPManager, Plesk, например), в зависимости опять же от решения — если это виртуалки Win — это одно, *nix — это другие системы виртуализации и распределения ресурсов.
Как только появится возможность скачать полностью настроенную виртуальную хостинг-машину, которую можно инсталлировать на физический сервер, то кто захочет заморачиваться с настройкой компонент по отдельности?
Если бы я хотел открыть СЕЙЧАС хостинг, то стал бы искать уже настроенную виртуалку…