12 лет назад 10 марта 2007 в 2:16 59

Средства самовыражения

Автор: Сергей Голубев

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

ВЕБ-СЕРВЕР

Безусловно, лучшим выбором для пользователя (неважно – домашнего или корпоративного) будет знаменитый Apache (www.apache.org). Однако для многих он может оказаться слишком сложным. Поэтому начать лучше с отечественной программы Small HTTP server (home.lanck.net/mf/srv). Тем более что для некоммерческого использования она распространяется бесплатно, и с сайта можно забрать русскую версию.

Вкратце о достоинствах этого приложения. Во-первых, размер. В развернутом виде сервер “весит” чуть больше 100 кб. При таком раскладе его можно поместить на самую древнюю флэшку, причем там еще останется место для контента. Если учесть, что большинству домашних пользователей жалко, что их собственный винчестер эксплуатируется посторонними дядями, то довод в пользу Small HTTP Server весьма весомый.

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

В-третьих, сервер нетребователен к системным ресурсам. Если нет других вариантов, а заявить о себе хочется, то организовать его можно на своей рабочей станции – серьезных помех повседневной работе он не создаст.

Однако хватит слов – пора переходить к делу. Устанавливаем сервер в произвольную папку, читаем лицензионное соглашение, из которого узнаем, что для снятия некоторых ограничений программу следует зарегистрировать (для жителей СНГ – бесплатно), и запускаем файл http.exe.

Тут нас подстерегает небольшой подвох. Появившееся на экране окошко очень напоминает обычную заставку, которую требуется прочитать и закрыть. Так вот, делать этого не следует, поскольку приложение тут же выгрузится. Сверните окно, и тогда в системном трее появится иконка, через которую и нужно управлять сервером.

После того как сервер запущен, открывайте меню (правая кнопка мыши) и выбирайте пункт “Настройки”. Первым делом имеет смысл запретить показ того самого окна, которое надо сворачивать – активируем опцию “Сворачиваться при старте”. Теперь программа стартует тихо, не привлекая к себе лишнего внимания.

Позаботимся о некоторых маленьких удобствах. По умолчанию предполагается, что пользователь абсолютно уверен в своих действиях и отладка ему не нужна. Поэтому в настройках запрещено ведение лог-файлов. Решение спорное – по крайней мере, на первом этапе дополнительная информация может понадобиться. Стало быть, активируем все опции, которые отвечают за составление и сохранение отчетов. Чтобы не запутаться, прикажите программе создавать новый лог-файл каждый день. В этом случае вы получите полную ежедневную статистику.

Теперь об экономии системных ресурсов. Чтобы сервер не ушел в нокдаун, можно ограничить количество одновременно обрабатываемых запросов. Для незарегистрированной версии предел равен шестнадцати. Если это число вас устроит, замечательно. Если же что-то не так, измените умолчальное значение. Главное – не стоит переоценивать свои возможности и думать, что через пару дней обгоните по популярности Google. Проще говоря, не слишком на этом заморачивайтесь.

Аналогично следует отнестись к ограничению одновременных подключений с одного хоста. Этот параметр актуален для FTP-ресурсов с мультимедийным контентом. Их владельцам действительно надо как-то бороться с нахалами. А вот веб-страницы вряд ли зачитают до дыр.

Жесткий диск не резиновый. Поэтому определитесь с размером кэша и целесообразностью его организации. По умолчанию он запрещен, и для пересмотра такого решения требуются веские основания.

Если вы хотите подключить к наполнению сервера других людей, то стоит задуматься о введении лимитов на объем трафика – диву даешься, насколько люди щедры, когда речь идет о чужом дисковом пространстве. Настройки позволяют ограничить не только закачку, но и скачивание. Функция ограничения трафика реализована так, что уже начатая транзакция не оборвется на полпути. Сервер даст пользователю завершить операцию авансом, но потом будет отказывать ему в доступе до тех пор, пока он не будет погашен. Кстати, если вы активируете этот режим, то не забудьте опубликовать на своей странице соответствующее предупреждение – в противном случае люди будут обижаться и перестанут к вам заходить.

Теперь подумаем о безопасности. Прежде всего, выберите стратегию – разрешительную или запретительную. В первом случае владелец ресурса только разрешает доступ для каких-то адресов – остальные запрещены. Во втором, наоборот, каждый запрет должен быть явно прописан в настройках. Для локальной сети больше подходит второй. Наверняка у вашего провайдера есть некий черный список сетевых хулиганов и, если его хорошо попросить, то он поделится информацией о том, какие адреса следует забанить сразу. Второй источник – сообщество владельцев ресурсов, которое наверняка есть в каждой сети. Они тоже подскажут, для кого следует закрыть вход.

Не забудьте, что за добро платят добром. Регулярно просматривайте лог-файлы своего сервера и сообщайте коллегам о неадекватном поведении отдельных посетителей. Только так наши сети станут чище.

Интересно, что сервер сделан с учетом перспективы – поддерживается IPv6. Конечно, пока это совершенно неактуально, но кто знает, что будет завтра. Менять же программу только потому, что она не понимает нужного протокола – явное неуважение к собственному времени.

Теперь надо определиться с физическим местонахождением сервера. Если он будет крутиться на настольной машине и включаться лишь при необходимости, то окно настроек можно закрывать. В этом случае любые обновления контента будут вноситься при помощи обычного штатного Проводника системы Windows. Способ самый безопасный и, если нет противопоказаний, то его следует предпочесть.

Другое дело – удаленное размещение. Тут следует побеспокоиться о доступе к файлам сайта. Самый простой способ – FTP. Может быть, знатоки сочтут его недостаточно безопасным, но в домашних условиях – самое оно, просто и понятно. Поэтому разрешите в настройках соответствующий доступ.

Удаленное размещение потребует и дистанционного управления. По умолчанию эта опция отключена – если вы попытаетесь получить доступ к настройкам через веб-интерфейс, то программа напомнит вам об этом. Главное – не забыть поставить галочку еще до того, как машину поставят в служебное помещение провайдера, которое закрывается на ключ, иначе придется побегать в поисках ответственного товарища.

Большинству домашних пользователей вполне достаточно “чистого” HTML. В этом случае на стороне сервера не будет выполняться никаких команд, что обеспечивает высокую скорость отображения страницы. Правда, при таком подходе придется отказаться от динамического контента, но это небольшая потеря. Создавать супернавороченный ресурс, который будут посещать от силы несколько десятков человек (а это судьба любого локального сайта, не поддерживаемого провайдером) – очень плохая идея. Самовыражение не должно перерастать в выпендреж.

Если же эти слова вас не убедили, то придется регистрировать на сервере CGI-интерпретаторы. Сложного тут ничего нет – Small HTTP Server поддерживает PE *.exe, MZ *.exe, *.com, perl-скрипты внешнего Perl-интерпретатора и может запускать приложения, ассоциированные с типами файлов системы Windows. Также поддерживается SSI, что позволяет динамически вставлять объекты в произвольные места запрошенного документа.

Но самое главное в случае удаленного расположения сервера – это создание пользователей. Администратор, кстати, у нас уже есть – он зарегистрирован при установке программы. Если вам понадобятся пользователи с другими правами, то жмите кнопку “Добавить”. Только учтите, что в незарегистрированной версии больше трех логинов записать не получится. Впрочем, в большинстве случаев этого будет вполне достаточно – не мегапортал ваяем, в конце концов.

Как говорится, на вкус и цвет товарищей нет: кому нравится арбуз, а кому – свиной хрящик. Поэтому все опции продублированы в веб-интерфейсе. Это разумно, поскольку при удаленном размещении других вариантов у владельца ресурса не будет. При этом веб-интерфейс значительно богаче окна настроек – видимо, автор программы прекрасно понимает, что большинство пользователей разместят ресурс на отдельной машине.

Первый большой раздел веб-интерфейса – “Установки”. Он практически аналогичен тому, что мы уже рассматривали. Отсюда вывод: не стоит уж слишком стараться сразу конфигурировать сервер до оптимального состояния. Устанавливать его на место можно практически сразу, а уже потом потихоньку доводить до ума.

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

Например, можно разрешить обрабатывать SSI в HTML-файлах, хотя по умолчанию проверяются только SHT, SML и ASP. Но это потребует больше ресурсов, и сервер будет работать медленнее. Хорошая тактика – начинать так, как есть, но в разделе “Статистика” периодически контролировать среднюю скорость. Если имеется запас, то никто не мешает активировать более продвинутый режим. А при первых же признаках перегруженности вернуться к предыдущим настройкам.

И не забывайте заходить на свой ресурс в прайм-тайм, чтобы побыть в шкуре обычного посетителя. В конце концов, личные впечатления о производительности – самые надежные, ни одна статистика их не заменит.

Раз уж мы перешли к статистике, надо обратить внимание еще на одну полезную запись – тип браузеров, при помощи которых посетители просматривают вашу веб-страницу. Если подавляющее большинство использует IE, то вам будут доступны некоторые украшательства и упрощения, поддерживаемые этой программой. Если же ресурс привлекает поклонников Firefox или какой-нибудь экзотики типа Linx, то при написании кода придется строго следовать стандартам.

Наконец, нельзя не сказать несколько слов о ручной настройке. Она, кстати, чрезвычайно удобна – все опции собраны в одном конфигурационном файле http.cfg, который расположен в каталоге программы. Он очень компактен – в любом случае там проще найти нужное, чем в дебрях менюшек. К тому же в поставку программы входит подробная документация на русском языке.

Пора размещать на сервере свой сайт. Для него уже подготовлено место – если вы ничего не меняли в настройках, то просто перенесите готовую конструкцию (все HTML-файлы, созданные в соответствующем редакторе) в каталог www. Проверяйте – все должно работать.

Если сайт не работает

Вроде все сделано правильно, но при попытке открыть сайт браузер отображает иконки с файлами и папками, как будто на FTP-сервер зашел. Неприятно? Конечно, но не смертельно.

В этой статье уже упоминалось, что главная причина неудач – не незнание, а невнимательность. Скорее всего, имя файла по умолчанию не соответствует заявленному, а это лечится очень просто. Заходим в “Настройки-Параметры HTTP-сервера-Имя файла по умолчанию”. Видим, что там написано index.*. Это означает, что отображаться будет файл с именем index, а расширение роли не играет. Вполне возможно, что ваша веб-страница начинается не с него, а, например, с default.html. Чтобы не менять все ссылки в коде, просто отредактируйте умолчальное значение этого параметра.

FTP-СЕРВЕР

Несмотря на то что собственная веб-страница греет душу, надо трезво смотреть на вещи. Конкурировать с такими монстрами, как Udaff.com, практически невозможно. Другое дело – FTP-сервер. Музыку, фильмы и дистрибутивы из интернета особо не покачаешь. Анлимит нужен, а он есть не у всех. Поэтому если хочешь славы – открывай файлохранилище. Трудозатрат это потребует значительно меньше, а эффект будет больше.

Самая подходящая программа для этого, пожалуй, Gene6 FTP Server (www.g6ftpserver.com). Удобная, не шибко дорогая, и есть модуль русского языка (качается отдельно с официального сайта). Именно ее мы и будем использовать для организации FTP-сервера. И не только по вышеназванным причинам. Этот инструмент предлагает пользователю легкость и прозрачность управления аккаунтами, возможность создавать виртуальные директории и ограничивать трафик. Имеется средство удаленного администрирования, что позволит держать ресурс на удаленной машине, а интерфейс панели управления будет одинаков независимо от того, где находится ресурс. Позволяется делегировать полномочия другим абонентам локалки, причем их права можно ограничить. Дополнительные администраторы подключаются по шифрованному каналу через настраиваемый порт.

Безопасности работы вообще уделено много внимания. Помимо поддержки SSL обеспечиваются ограничение доступа на узел, управление правами, использование пароля Windows для авторизации, ограничение срока действия учетной записи и некоторые другие полезные прибамбасы.

При установке приложения от нас потребуется задать пароль администратора – это единственное активное действие (кроме нажатия на кнопку “Далее”), которое придется совершить на этом этапе. Естественно, пароль следует запомнить, иначе доступ к настройкам будет закрыт, несмотря на то что в свойствах Local Machine его якобы можно изменить. Увы, попытка войти по новому паролю окажется неудачной – старый остается активным. Так зачем же нужен этот инструмент? Для создания нового сервера. Для домашней машины это не актуально, а вот если вы хотите организовать крупный портал, на котором будут работать несколько ресурсов, то такая возможность лишней не будет.

Если вы уверены в том, что лица, имеющие физический доступ к серверу, не склонны к шалостям, то есть смысл разрешить им доступ к настройкам без ввода логина и пароля. Разумеется, разработчики не рекомендуют этим злоупотреблять, но отсутствие пароля ничем не хуже очень популярного секретного слова “123”, создающего только видимость безопасности.

Хорошим решением, кстати, будет привязка администратора сервера к конкретным хостам сети (Администрирование – Свойства – Безопасность – Доступ по IP). В настройках можно задать не только один адрес, но и некоторую группу. Верно и обратное – отдельные узлы могут быть исключены из списка. Это позволяет создавать достаточно сложные правила.

После того как решены вопросы безопасности, можно переходить непосредственно к настройкам сервера (FTP-сервер – Свойства). Тут нас интересуют два раздела – “Заблокированные файлы” и “Доступ по IP”. В первом следует указать маски файлов, которые не могут быть загружены на ресурс. Это актуально, если планируется создание специальной папки, открытой для закачки, что весьма удобно для посетителей.

Однако велик риск превратить файлохранилище в файлопомойку. Хороший сервер должен иметь свой профиль – только фильмы, только музыка, только программы. Есть резон запретить все, что не имеет прямого отношения к направлению ресурса. Например, логично будет не разрешать размещать программы на сервере с музыкой.

Ограничение доступа по IP позволит оградить ресурс от сетевых хулиганов – этот вопрос мы рассматривали выше. Настройки тут аналогичны тем, что уже использовались при привязке администратора к конкретным хостам.

Следующий этап настройки – конфигурирование домена. За эту операцию отвечает специальный мастер – пользователю потребуется только заполнить некоторые поля. Обратите внимание на целесообразность использования SSL-режима, необходимость журналов и создания анонимной учетной записи. Первое неактуально, если сервер расположен на домашней рабочей станции – шифроваться тут особо не от кого. Лог-файлы занимают место на диске, но отказываться от них не стоит, особенно на первых порах. Наконец, в 99% случаев анонимный вход следует разрешить, если только вы не собираетесь открывать закрытый ресурс для особо избранных (но тогда забудьте о славе).

При разрешении анонимного входа следует сразу выбрать каталог сервера. При удаленном расположении машины особых проблем с этим возникнуть не должно – наверняка все продумано заранее. А вот если вы планируете разместить ресурс на своей рабочей станции, то будьте внимательны. Нередки случаи, когда пользователь по невнимательности открывал полный доступ к своему системному диску. Это, конечно, нечто из разряда курьезов, но все-таки. Большинство ошибок делаются не по незнанию, а из-за банального разгильдяйства.

После создания домена для него будет доступно окно настроек. Большинство параметров аналогичны глобальным, поэтому их изменение вряд ли целесообразно. Разве что обратите внимание на защиту от повторных соединений (Anti-Hammering) и ограничения по скорости и объему передачи. На этом можно остановиться, поскольку задавать максимальное количество клиентов и соединений с одного адреса разумно только после того, как ресурс начнет работать и появится какая-то статистика. В любом случае сразу же не стоит принимать драконовские меры – это только отпугнет посетителей. Лучше подождать, пока сервер станет популярным, и уже тогда начать диктовать свои условия.

По умолчанию подключенный каталог будет доступен только для чтения (Загрузить). Запись на диск (Закачать) запрещена. Кстати, тут попутно выясняется, что не всегда целесообразно устанавливать русский интерфейс: разницу между “Загрузить” и “Закачать” с первого взгляда понять трудно. Поэтому обращайте внимание на главное окно, где информация о правах доступа дублируется привычными обозначениями – R и W. Также посетителю разрешено открывать каталоги и свободно по ним перемещаться.

Теперь попробуйте зайти на свой сервер – он уже должен быть доступен. Однако не все в его работе нас устраивает. Во-первых, нет каталога для закачки файлов. Во-вторых, нет привилегированных пользователей. Конечно, необходимость и того, и другого может вызывать сомнения, однако делать это все равно придется, пусть даже и не сразу.

Первая задача решается так. Заходим в “<Домен> – Пользователи – Anonymous – Свойства – Права доступа”. Там уже зарегистрирован один каталог, доступный только для чтения. Создаем на жестком диске папку для закачки и добавляем ее, указав в появившемся окне реальный и виртуальный пути.

Умолчальные права доступа нас уже не устраивают, но и разрешать все также не следует. Чтобы одни посетители из вредности не удаляли файлы, размещенные другими, не активируйте опцию “Удалить”. Некоторые владельцы FTP-серверов считают правильной работу каталога для закачки в режиме “антиварез”. Это означает, что загрузить объекты в upload можно, а вот скачать их оттуда уже нельзя. Но тогда вы должны регулярно просматривать новые поступления и те, что соответствуют духу ресурса, перемещать в общедоступное место.

Перезапускаем сервер и видим, что изменения внесены. Теперь посетители нашего ресурса смогут принять участие в пополнении контента. Естественно, соблюдая правила, ведь запрет на загрузку некоторых типов файлов у нас уже действует.

Будем оптимистами – через некоторое время ресурс станет популярным, и наша машинка уже не сможет справляться с большим количеством запросов. Но мы уже знаем, как с этим бороться – ограничением количества входов и сессий с одного адреса. Однако у всего есть побочный эффект – знакомые начнут стучаться в аську и выражать свое “фэ”. Придется создавать еще одного пользователя – специально для друзей. Правый клик на чистом поле соответствующего окна – и мастер запущен. После завершения процедуры убедитесь в том, что никаких ограничений нет (Настройки пользователя – Разное). Только в процессе работы ресурса не забывайте просматривать лог-файлы – у друзей есть свои друзья, поэтому пароль очень быстро расползется по сети. Но это уже издержки – периодически секретное слово придется менять и лишать привилегий особо щедрых на чужое добро.

ОПЕРАТИВНЫЙ DNS

Протокол динамической конфигурации хоста (Dynamic Host Configuration Protocol — DHCP) существенно упростил как отслеживание перемещения компьютеров, так и подключение к сети новых машин. Однако статичная система доменных имен не позволяет достаточно быстро реагировать на изменения. Решением этой проблемы стал механизм Dynamic DNS (DDNS), выполняющий рутинную работу в автоматическом режиме.

В чем привлекательность этой методики для домашнего пользователя, который хочет, чтобы его сайт был виден не только внутри локалки, но и из интернета? В том, что она фактически уравнивает в правах статические и динамические IP-адреса. А это, в свою очередь, позволяет владельцем вторых завести постоянное имя, по которому можно будет зайти на его ресурс, независимо от смены его IP-адреса. Причем базовые услуги существующих служб (одна из самых больших – www.dyndns.com), как правило, бесплатны, а вот за постоянную прописку провайдеры часто берут деньги.

Пользователю сервиса DDNS требуется установить на свою машину специальную клиентскую программу (берется с сайта сервиса), которая будет отвечать за взаимодействие с сервером и своевременную передачу ему текущего значения IP-адреса. На сервере регистрируется субдомен либо прописывается уже существующее имя и тут же ему в соответствие ставится адрес клиента.

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