В своих материалах мы часто затрагивали тему веб-серверов, ограничиваясь в основном технической частью, оставляя вопрос создания и настройки сайта за кадром. В тоже время многие наши читатели выразили пожелание несколько расширить тему, рассказав, как создать и настроить свой сайт. Мы решили пойти на встречу и открыть новый раздел нашего сайта, в котором разберем процесс создания сайта от и до, делая упор на техническую сторону вопроса. А начнем, как обычно, с самого начала.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Доменное имя
Доменное имя - это то, что мы набираем в адресной строке браузера, сегодня имя домена ассоциируется именно с именем сайта. Привычные всем доменные имена - это домены второго уровня. Первый уровень, это так называемые доменные зоны, они же домены первого уровня: .com, .ru, .net и т.д.
Став обладателем домена второго уровня, администратор получает в свое распоряжение персональное пространство имен, которым может распоряжаться по своему усмотрению: создавать домены третьего (четвертого и далее) уровня (поддомены), размещать на них различные сетевые сервисы и службы и т.д. и т.п.
Существуют общепринятые домены третьего уровня, которые подразумевают наличие на них вполне определенных сервисов. Они сложились исторически, когда разные службы физически располагались на разных хостах: www - веб содержимое, mail - почта, ftp - FTP-сервер и т.д. Особо следует отметить домен третьего уровня www, сегодня наличие сайта подразумевается по корневому имени домена, но в целях сохранения совместимости он должен быть доступен и на домене третьего уровня www. Остальные домены не являются обязательными, но их использование является правилом хорошего тона, вполне логично, что почту пользователь будет искать по адресу mail и т.д.
Также домен второго уровня позволяет вам разместить неограниченное число сайтов, в т.ч. и на разных хостингах. Например, основной сайт - example.com, личный блог - blog.example.com, сайт техподдержки - support.example.com, вики - wiki.example.com и т.д. Все это может быть организовано как в виде единого портала, так и в виде независимых проектов.
Теперь о том, какое значение имеет доменное имя для сайта. С точки зрения протокола HTTP, на котором базируется современный интернет, любой сайт представляет собой набор документов доступных посредством обращения к универсальным указателям URL, в состав которых обязательно входит доменное имя. Проще говоря, доступ к содержимому сайта можно получить единственным образом - перейдя по ссылке. Ссылки на ресурсы вашего сайта попадают в индекс поисковых систем, в закладки пользователей, становятся частью содержимого других ресурсов. Таким образом сайт постепенно получает ссылочную массу, которая обеспечивает его посещаемость, ранжируемость в поиске, авторитетность и т.д. и т.п.
Что будет, если вы вдруг потеряете доступ к своему доменному имени? Вся эта ссылочная масса в один момент станет недействительной. Вы можете разместить содержимое сайта по другому адресу, но в плане раскрутки вам придется начинать все сначала. Это равносильно тому, что некая фирма внезапно переехала, не сообщив никому нового адреса. Так и вашим посетителям придется искать сайт заново и не факт, что это получится. А при перехвате домена, например, в случае неоплаты или взлома аккаунта, сторонние лица могут воспользоваться плодами вашей популярности в т.ч. и в мошеннических целях.
К доменному имени следует относиться точно также, как и к иной своей собственности, принимая должные меры осмотрительности и безопасности. Регистрируйте доменное имя только на реальные данные и, по возможности, сделайте привязку аккаунта к мобильному телефону или иным способом подтвердите свою личность и права на владение доменом. Делать это следует для того, чтобы в случае возникновения каких-либо проблем вы могли быстро вернуть контроль над доменом, согласитесь, будет обидно потерять результаты многолетнего труда только потому, что вы в свое время зарегистрировали доменное имя на Васю Пупкина.
Следующий вопрос - какой домен выбрать? Здесь все зависит от ваших пожеланий. В рунете наиболее популярны (и недороги) домены национальной зоны .ru, также довольно широко используются международные домены .org, .com, .net и т.д. Никакого существенного влияния на работу и индексацию сайта поисковыми системами доменная зона не оказывает, хотя соответствующие мифы продолжают распространяться по различным ресурсам.
Однако при выборе домена первого уровня есть свои особенности. Все доменные зоны делятся на национальные и международные. С последними все просто и ясно - регистрация в этих зонах доступна любому желающему согласному с условиями использования домена.
Национальные зоны можно условно разделить на зоны, использующиеся в национальных сегментах сетей и зоны используемые в коммерческих целях, обычно слаборазвитых или малонаселенных стран. Реально используемые национальные зоны могут иметь ограничения регистрации, например, только для резидентов и обычно регулируются согласно национальному законодательству, что следует учитывать при разработке сайта. Нарушение этого правила может повлечь блокировку или отмену регистрации домена.
Не стоит думать, что это касается только нелегального или полулегального контента. Национальные законодательства могут иметь ограничения на распространение информации вполне легальной в других странах, это может касаться областей авторского и патентного права, видов деятельности, требующих лицензирования и т.д. и т.п. В России, например, существуют ограничения на рекламу табака, спиртного, медицинских услуг и препаратов. Поэтому, размещая сайт в чужой национальной зоне, желательно уточнить список возможных ограничений, чтобы не попасть в неприятную ситуацию.
Другая категория национальных доменов используется исключительно в коммерческих целях, обычно это домены небольших государств с еще меньшим количеством интернет пользователей, например, .tv - Тувалу, .fm - Микронезия, .me - Черногория. Как правило, эти зоны не содержат ограничений в регистрации и выведены из-под действия национального законодательства, хотя изучить правила регистрации и почитать отзывы будет не лишним.
В любом случае, перед тем как регистрировать домен, хотя бы коротко ознакомьтесь с основными правилами регистрации в выбранной зоне. Это поможет избежать различных неприятных ситуаций в будущем, хотя не факт, что они обязательно возникнут. Например, регистрация в зоне .biz может быть оспорена, если лицо, зарегистрировавшее домен не занимается коммерческой деятельностью, а доменная зона .eu, хоть и позволяет де-факто регистрироваться в ней любому желающему, формально ограничена только резидентами Евросоюза. Условия еще одной зоны .tk составлены довольно хитрым образом и позволяют регистратору "вполне законно" отобрать и перепродать любой домен.
Чего следует однозначно воздерживаться, так это создания сайтов на бесплатных доменах третьего уровня. Причин тут несколько, основная - вы вкладываете силы и средства в раскрутку не принадлежащего вам домена. Его владелец не связан с вами какими-либо обязательствами и может в любой момент лишить вас домена. Также, если проект вырос, то возникнут определенные трудности с переходом на собственный домен, так как уже существующая ссылочная масса будет еще длительное время использовать старый адрес.
Также не следует использовать домены второго уровня, зарегистрированные не на вас, какими бы не были условия на текущий момент. Это все равно, что строить дом на не принадлежащем вам участке. Возможный риск перевешивает копеечную прибыль.
Последний вопрос - где и как зарегистрировать домен. Это совсем не сложно, на рынке присутствует большое количество регистраторов и их партнеров. Как правило крупные регистраторы держат официальную цену, а у партнеров можно получить вполне ощутимые скидки. Так официальная цена домена .ru - 600 руб, в то время как у партнеров можно приобрести данные домены дешевле 100 руб. Внимательный читатель сразу спросит: где тут подвох? Но никакого скрытого дна здесь нет, многие реселлеры держат более низкие цены за счет объема продаж и сокращения перечня сопутствующих услуг, например, не предоставляют услугу управления DNS-зоной. В любом случае, даже если партнер завтра прекратит свое существование, вы всегда сможете продолжить обслуживать домен через вышестоящего регистратора, единственное условие - домен должен регистрироваться именно на ваше имя.
Международные домены обычно выгоднее приобретать у зарубежных регистраторов и их партнеров. Это обусловлено как более широким выбором зон, так и более низкими ценами, по сравнению с отечественными компаниями.
Хостинг
Если домен - это имя сайта, то хостинг - это его дом. С технической точки зрения хостинг - это совокупность веб-сервера, СУБД и дискового пространства, а также некоторых сопутствующих сервисов. В зависимости от способа предоставления технических и разделения ресурсов между пользователями выделяют разные виды хостинга, которые имеют разлиную стоимость.
Самый простой способ разместить свой сайт - это приобрести услугу виртуального хостинга. В этом случае вы получаете полностью настроенный веб-сервер, все что вам остается, это разместить содержимое сайта и начать работать. Технически виртуальный хостинг представляет обычный веб-сервер каждому пользователю которого выделяется некоторый объем ресурсов. Также это самый недорогой вид хостинга, так как ресурсы одного сервера имеется возможность продать максимально большому числу пользователей.
Несомненное достоинство виртуального хостинга - простота использования, вам не нужно обладать навыками администрирования, чтобы работать со своим сайтом. Отсюда же вытекают и недостатки, так как сервер один для всех, то вы не можете выбирать тип используемого ПО и изменять его настройки. Также вы будете ограничены лимитами, которые, особенно на недорогих тарифах, могут оказаться весьма существенными.
Обычно пользователь виртуального хостинга ограничен дисковым пространством, количеством доменов и баз данных. Эти лимиты явно указываются в описании тарифа и понятны большинству пользователей. Если же более внимательно прочитать правила, то там обнаружатся ограничения по нагрузке на хостинг, такие как ограничения использования процессора, памяти, количество запросов к БД и т.д. Если вы не имеете соответствующего опыта, то оценить эти ограничения будет несколько затруднительно. Но можно с уверенностью сказать, для размещения посещаемых ресурсов виртуальный хостинг подходит слабо. Как только ваш сайт начнет производить существенную нагрузку вас сначала попросят перейти на более дорогой тариф, а затем, возможно, на выделенный сервер.
Еще один недостаток виртуального хостинга - вы делите сервер с другими ресурсами, а это увеличивает риск попасть под фильтры антивирусов и поисковых систем, блокировки государственных органов и т.д. Поэтому всегда читайте отзывы и смотрите, какие ресурсы размещаются у данного хостера.
Стоимость виртуального хостинга невелика, от 100 рублей в России и 1,5 - 2 $ за рубежом. Однако не стоит гнаться за низкой ценой, дешевый тарифный план может иметь крайне низкую производительность или жесткие лимиты, что может сделать нормальную работу современных систем управления сайтом невозможной.
Мы можем порекомендовать виртуальный хостинг для небольших стандартных проектов, когда вам нужно просто получить сайт на одном из популярных "движков", при этом не вникая в технические особенности. Однако по мере роста ресурса будьте готовы к тому, что придется переходить на более дорогие тарифные планы, сравнимые со стоимостью аренды виртуального сервера.
Виртуальный сервер (VPS или VDS) - наиболее популярная услуга у многих хостеров, так как оптимально сочетает цену с предоставляемыми возможностями. Представляет собой виртуальную машину с предустановленной ОС, которую вы вольны настраивать по собственному усмотрению. Требует от владельца навыков администрирования и более сложен в настройке, но в тоже время позволяет самостоятельно выбирать ПО и конфигурировать его наиболее оптимальным для вашего проекта способом.
Достоинства - это ваш сервер, можете настроить его так, как это нужно именно вам. Никто, кроме системных ресурсов, не ограничивает вас в количестве сайтов, баз данных, пользователей и т.п.
Недостатки - требуется достаточная квалификация для администрирования либо привлечение сторонних специалистов. Неправильно настроенный сервер также будет только вашей головной болью, кроме того, на вас ложится ответственность за безопасность. Хостер просто предоставляет вам сервер, а что вы там будете делать его не волнует, до тех пор, пока вы соблюдаете правила хостинга или на вас не начнут поступать жалобы.
Приобретая VPS внимательно ознакомьтесь с правилами использования, многие хостеры запрещают использование некоторого типа ПО: VPN и прокси-серверов, торрентов и некоторых веб-приложений. Это может быть связано как с особенностями системы виртуализации, так и с требованиями законодательства и борьбой с нелегальной деятельностью. Если у вас есть сомнения - проконсультируйтесь в поддержке.
Еще один популярный вопрос - где приобретать VPS, в России или за рубежом. Наша практика показывает, что зарубежный хостинг имеет более привлекательные тарифные планы при одинаковой стоимости с отечественным. Однако не забывайте, что размещать сервер следует ближе к целевой аудитории, поэтому для сайта с преимущественно российской аудиторией хорошим размещением будут отечественные и европейские хостеры. Хостинг в Штатах, при прочих равных, будет иметь более высокое время доступа, иногда существенно более высокое. Также учтите, что американские хостеры редко предоставляют безлимитный трафик, обычно бесплатен определенный месячный пакет, за превышение которого нужно платить.
Что касается качества, то мы не можем сказать, что зарубежные хостеры превосходят отечественных, как у нас, так и у них есть как отличные компании, так и откровенные аутсайдеры, предоставляющие услуги сомнительного качества.
Если вы все-таки решили выбрать зарубежного хостера, то уточните, на каких языках они оказывают поддержку, а также трезво оцените собственное владение иностранным языком, в противном случае вы можете оказаться в ситуации, когда поддержка просто не будет понимать, что вы от нее хотите.
Стоимость VPS начинается от 500-600 руб/мес у нас и 5-7 $ за рубежом, однако за эти деньги вы получите базовую конфигурацию с существенно ограниченными ресурсами, нормальные сервера обойдутся от 1000 рублей или 15$. При желании можно найти предложения и с более низкими ценами, но существенное отличие от средней по рынку цены должно только настораживать, в любом случае следует внимательно изучить отзывы о провайдере и не оплачивать услуги на длительный срок.
С учетом небольших цен мы можем смело рекомендовать виртуальные сервера самому широкому кругу администраторов. Если вы хотите полностью управлять собственным проектом, то это выбор для вас.
Следующим шагом, после виртуального сервера, является выделенный сервер, когда вы арендуете в дата-центре физический сервер или размещаете собственный. Работа с ним практически ничем не отличается от работы с виртуальным сервером, со всеми достоинствами и недостатками. Отдельно следует отметить, что это очень недешевое удовольствие и используется обычно весьма крупными и нагруженными ресурсами.
Как альтернативу серверам можно рассматривать облачную инфраструктуру. Здесь следует сразу внести ясность, так как термин "облако" стараниями маркетологов применяется сегодня к любым удаленным сервисам. В нашем случае под облаком следует понимать IaaS - инфраструктура как сервис. Воспользовавшись услугами облачного провайдера, например, Amazon AWS или Microsoft Azure, вы также можете разместить на его стороне виртуальный сервер и получите полный аналог VPS. В чем же разница?
Разница в способе предоставления и оплаты ресурсов. В случае с VPS вы платите фиксированную цену за сервер с заранее оговоренными ресурсами. При резком повышении нагрузки производительность упрется в ограничения вашей виртуальной машины, со всеми вытекающими отсюда последствиями. Для увеличения производительности вам необходимо будет сменить тариф, увеличив доступные ресурсы вашей виртуальной машины.
В облаке вы оплачиваете потребляемые ресурсы: трафик, использование процессора, операции ввода-вывода. При этом вы не ограничены одним виртуальным сервером, также кроме виртуальных машин вы можете использовать другие ресурсы облака, например, дисковые хранилища или сервера БД, также оплачивая только то, что потребили.
Несомненный плюс облака - масштабирование, при резком увеличении нагрузки на сайт он не упрется в некий потолок, а получит необходимые ресурсы, правда за это придется заплатить. Такая схема подходит, например интернет-магазинам, которым надо несколько раз в году выдерживать сезонный пик продаж, скажем, предновогодний. В случае с выделенным сервером или VPS возникает дилемма: сэкономить на сервере и получить потенциальные проблемы в горячий сезон или взять ресурсов с запасом, оплачивая весь год простаивающие мощности.
Однако эта же самая особенность способна стать большим минусом, при неправильной настройке сервера или ПО, DDoS-атаке или случайном "хабраэффекте" вы получите серьезный перерасход ресурсов и, как следствие, серьезно переплатите.
В общем, облачные услуги при той же вычислительной мощности обходятся дороже чем VPS или выделенный сервер и просто перенеся проект в облако, вы не получите ощутимых плюсов, кроме выросших расходов. В тоже время облако оптимально подходит для проектов с неравномерной нагрузкой, а также для развивающихся проектов, так как позволяет сократить затраты на инфраструктуру на начальном этапе.
Наш рассказ о хостинге был бы неполным, без упоминания про бесплатный хостинг. Как правило, он отличается ограниченными ресурсами и отвратительным качеством, а также принудительным показом рекламы. На наш взгляд связываться с таким хостингом не стоит, так как кроме низкого качества вы рискуете в один не очень прекрасный момент остаться без результатов вашего труда, большинство бесплатных хостеров могут прекратить оказание услуг без предупреждения.
Хотя можно найти бесплатные предложения без рекламы от коммерческих хостеров, их отличает только ограничение ресурсов. Расчет там простой, если у пользователя все получается на бесплатном аккаунте и сайт начинает развиваться - он перейдет на платные тарифы, в противном случае он ничего не теряет и скорее всего снова придет, когда захочет попробовать еще раз.
Также существуют сервисы, например, uCoz, которые не являются хостингом в прямом смысле этого слова, но также позволяют создать свой сайт, используя специальные конструкторы. Использовать данные сервисы или нет - решать вам. Но учтите, когда ваш проект вырастет и выйдет за рамки сервиса, забрать его оттуда и разместить на своих ресурсах будет в большинстве случаев невозможно без полной переработки проекта.
Ну и напоследок поговорим о домашнем (офисном) хостинге. На первый взгляд размещение сайта на своих мощностях может показаться неплохой идеей, действительно, интернет сейчас стоит копейки, особенно для домашних пользователей, а собрать неплохой веб-сервер можно из старого ненужного железа. Однако не все так просто, как кажется. Основная проблема - обеспечение бесперебойной работы. Если для нормального хостера недоступность в течении нескольких часов - это серьезное ЧП, то для провайдера отсутствие интернета в течении целого дня - рядовая проблема, особенно если потребитель - физическое лицо. Добавьте сюда возможные перебои с электроснабжением и получите вовсе безрадостную картину, когда ничего не работает, и вы не в силах как-либо повлиять на ситуацию.
Подобный способ размещения подходит только для внутренних ресурсов, используемых преимущественно внутри организации и для разработки и тестирования собственных проектов, т.е. в тех случаях, когда не требуется обеспечивать бесперебойную работу сайта для внешнего мира.
Системы управления сайтом (CMS)
Представить современный сайт без системы управления содержимым практически невозможно, разве только что простенький сайт из пары тройки страничек. В остальных случаях CMS или "веб-движок" позволяет сосредоточить внимание на содержимом сайта, взяв на себя все технические вопросы. Что такое "движок" сайта? Это веб-приложение или набор скриптов которые обрабатывают запросы от веб-сервера и отдают ему готовые страницы.
Например, пользователь запросил страницу http://example.com/blog/bla-bla-bla.html, но на самом деле такой страницы может и не существовать физически, а указанный адрес будет псевдонимом страницы http://example.com/index.php?cat=blog&id=137, т.е. веб-сервер запустит скрипт веб-движка передав ему некоторые параметры. В свою очередь движок запросит в базе данных данные записи с id137 и сгенерирует веб-страничку в соответствии с настройками раздела blog, передав результат обратно веб-серверу, который покажет пользователю требуемую информацию.
Для работы веб-движка серверу потребуется соответствующий интерпретатор, в большинстве случаев это PHP, и база данных, обычно - MySQL. Разные движки выдвигают разные требования к ресурсам сервера и совместимым версиям ПО, поэтому внимательно изучайте системные требования и исходя из этого подбирайте хостинг.
Какую систему управления сайтом выбрать? Это зависит от его назначения. Так для интернет магазина лучше всего подойдет специализированный движок, в то время как сайт-визитку или блог можно реализовать практически на любой CMS.
Мы бы рекомендовали начать свое знакомство с одним из популярных бесплатных движков, это позволит без лишних затрат освоить веб-технологии, а сформированные вокруг таких продуктов сообщества способны оказать посильную помощь в освоении. Кроме того, популярность движков позволяет легко найти ответы на часто возникающие вопросы, инструкции, советы и хитрости. В будущем, уже обладая опытом и знаниями, вы может быть перейдете на один из более специализированных движков, но начинать лучше с самых популярных и используемых.
Например, данный блог использует довольно специфический движок MovableType, который, на наш взгляд, является лучшим в своем классе, но, если нас спросят, какой движок взять для блога начинающему, мы посоветуем WordPress.
Для начинающих мы можем посоветовать два движка: WordPress и Joomla. Оба просты в установке и освоении, имеют множество дополнений, отлично документированы и поддерживаются обширными сообществами, в т.ч. русскоязычными. Drupal, на наш взгляд, гораздо более сложен, а русскоязычное сообщество не отличается особым дружелюбием.
Для форумов можно выбрать SMF или phpBB, которые примерно равнозначны в работе и позволяют создавать площадки для общения любого типа и размера.
Что касается платных CMS, то мы категорически не советуем начинать с них, по крайней мере до тех пор, пока вы не будете четко представлять, какие именно функции требуются вам от движка.
В дальнейших статьях нашего цикла мы будем рассматривать создание сайтов и форумов на базе движков Joomla, WordPress и SMF.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Последние комментарии