Путеводитель по услугам хостинга
Обычный или "shared" (т.е. "разделяемый") хостинг - наверное самая распространенная услуга хостинг-провайдеров, особенно начинающих.
Технически представляет собой "мощный" сервер, подключеный к "толстому" каналу. На таком сервере "живут" от несколько десятков до нескольких сотен WWW проектов (сайтов). Все они используют (в классическом случае) один WWW сервер, один FTP сервер, один SQL сервер, один сервер почты и другие вспомогательные службы.
Все дело в том, что современные реализации этих служб (программы-демоны) можно настроить так, что они предоставляют свои услуги сразу многим зарегистрированным на сервере "пользователям". Например, WWW сервер "знает", что главная страничка ресурса http://www.pupkin.ru лежит в каталоге /usr/www/pupkin, а главная страничка проекта http://www.dudkin-zoro.ru лежит в каталоге /usr/www/dudkin-zoro. Аналогично FTP сервер настроен таким образом, что при обращении на машину по протоколу FTP и c логином pupkin можно получить доступ к /usr/www/pupkin; при обращении же с логином dudkin-zoro откроется доступ только к /usr/www/dudkin-zoro. Наконец, почтовый сервер "понимает", что miranda@pupkin.ru и miranda@dudkin-zoro.ru - это разные почтовые ящики, и раскладывает приходящую почту для этих адресов в разные файлы.
Заметим, что на заре развития Интернета дела обстояли далеко не так благополучно, и приходилось "сажать" каждый WWW проект на отдельный IP адрес и для каждого проекта запускать привязанные именно к нему службы.
Итак, в случае "обычного" хостинга все проекты лежат на одной машине, каждый в своем каталоге (конечно, проект ограничен некоторой дисковой квотой - в зависимости от выбранного тарифного плана). Управляет всем этим хозяйством системный администратор (или целая команда администраторов) хостинг-провайдера. Понятно, что главными задачами администратора по обслуживанию такой системы являются:
* обеспечение внешней безопасности;
* обеспечение внутренней безопасности;
* контроль за потребляемыми ресурсами, т.е. недопущение перегрузки сервера.
Рассмотрим подробнее эти понятия:
Задача обеспечения внешней безопасности (т.е. противодействие сетевым атакам) не является специфической именно для хостинга и решается стандартными методами - своевременным обновлением ПО, настройкой файерволла, слежением за журналами соединений и т.п.
Обеспечение же внутренней безопасности - задача более сложная, т.к. исходить нужно из того, что любой пользователь системы (уже имеющий легальный доступ на сервер - в рамках своего проекта) может попробовать себя в роли "хакера" и попытаться получить доступ к документам других проектов, находящихся на этой же машине. Ни при каких условиях, случайно или намеренно, пользователь pupkin не должен смочь прочитать/изменить документы проекта dudkin-zoro.ru, прочитать/изменить содержание почтовых ящиков в домене dudkin-zoro.ru и т.п.
Наконец, одной из важнейших задач хостинг-провайдера является контроль за нагрузкой на сервер. С одной стороны, чем больше WWW проектов "тащит" один сервер, тем экономически выгоднее хостинг для провайдера. С другой стороны, чем больше нагрузка на WWW сервер (или, например, SQL сервер), тем больше "время отклика" отдельно взятого проекта. "Хороший" хостинг-провайдер обязан вовремя замечать необходимость выделения дополнительных ресурсов (аппаратный апгрейд, установка еще одного сервера, расширение канала и т.п.) по мере роста числа клиентов хостинга. Оценить, насколько "загружен" хостинг данного провайдера, можно просто: посетив проекты, размещенные на этои хостинге и субъективно оценив скорость загрузки страничек и скорость реакции скриптов (чаты, форумы, гостевые книги). Узнать же об этих проектах можно либо на сайте хостинг-провайдера, либо в разделе "Отзывы клиентов" проекта hostobzor.ru (тексты отзывов лучше не читать :) ), либо написав письмо в службу технической поддержки. Предпочтительный вариант - если провайдер дает такую возможность - получить тестовый бесплатный доступ на некоторый срок, с тем чтобы "на месте" разобраться, как поведет себя Ваш проект на тестируемом сервере.
Из всего вышесказанного следует, что технически (для провайдера) "бесплатный хостинг" и "обычный" хостинг по некому тарифному плану за "X у.е. в месяц" не сильно отличаются друг от друга - разве что количеством предоставляемых пользователю возможностей (база данных, терминальный доступ по Telnet/SSH, доступ к лог-файлам, домены 3-его уровня в рамках своего проекта, SSL и прочие "вкусности"). Но, в отличие от "бесплатного" хостинга, никаких баннеров от провайдера на Ваших страничках не крутится и вообще, Вы на 100% сами определяете, что увидит в своем браузере посетитель Вашего проекта. И конечно, как правило, техническая поддержка более доступна и "человечна" - ей можно позвонить и задать вопрос, написать электронное письмо или даже пообщаться через ICQ. И конечно, размещение корпоративного сайта в "своем" домене 2-го уровня (например, http://www.firma.ru) выглядит гораздо более солидно, чем на бесплатном хостинге с адресом http://firma.superhosting.ru и главной страничкой, на которой постоянно висит рекламный баннер от провайдера совершенно "не в тему".