Сервер INN обычно используется крупными провайдерами или организациями, специализирующимися на предоставлении пользователям материалов групп новостей. Как было сказано выше в данной главе, в некоторых случаях необходимо иметь небольшой сервер новостей с ограниченными возможностями для ограниченного числа групп новостей. Кроме того, часто возникает необходимость организовать работу с группами новостей в рамках локальной сети при временном отсутствии связи с Internet. Сервер, решающий такую задачу, должен за время соединения скопировать материалы некоторых групп с внешнего сервера новостей и передать на этот сервер сообщения, отправленные в эти группы локальными пользователями. Такие сеансы взаимодействия обычно производятся один-два раза в день. Желательно выбрать для этого время, когда внешний сервер не слишком загружен. Необходимые для этого действия может выполнять сервер INN, но мощность данного инструмента несоизмерима с поставленной задачей. INN взаимодействует с другими серверами новостей как равноправный партнёр, поэтому вам трудно будет найти поставщика новостей, который согласился бы планировать активность своего сервера в соответствии с графиком работы вашего сервера INN. Для решения поставленной задачи лучше использовать специальный сервер новостей с ограниченным набором возможностей. На роль подобного сервера хорошо подходит продукт Leafnode (http://www.leafnode.org
).
Leafnode — не единственный сервер, позволяющий организовать работу с группами новостей в автономном режиме. С такой задачей также хорошо справляются NNTPCache (http://www.nntpcache.org
), Noffle (http://noffle.sourceforge.net
), sn (http://infa.abo.fi/~patrik/sn/
) и NewsCache (http://www.infosys.tuwien.ac.at/NewsCache/
).
Возможности Leafnode
Подобно INN, функционирование продукта Leafnode обеспечивает несколько взаимодействующих между собой программ. Наиболее важные из них перечислены ниже.
• leafnode
. Программа, реализующая сервер NNTP. Она запускается посредством суперсервера и обеспечивает взаимодействие с программой просмотра новостей, выполняющейся на том же или на другом компьютере.
• fetchnews
. Программа, отвечающая за получение групп новостей с внешнего сервера. Для чтобы периодически получать требуемые материалы, вы можете запускать данную программу с помощью инструмента cron
. При необходимости fetchnews
может быть вызвана вручную или из сценария, устанавливающего PPP-соединение.
• texpire
. Подобно другим серверам новостей, Leafnode хранит сообщения групп в подкаталогах каталога /var/spool/news
. Чтобы диск не переполнялся, приходится периодически удалять старые сообщения. Эту задачу решает программа texpire
. Обычно она периодически запускается с помощью cron
.
• newsq
. Данная программа отображает сведения о сообщениях, отправленных в группы локальными пользователями, но еще не переданных на внешний сервер.
Leafnode осуществляет динамическую загрузку материалов групп. Если пользователь предпринимает попытку работы с группой, то при следующем запуске fetchnews
материалы этой группы копируются с внешнего сервера. Если Leafnode обнаруживает, что в течение определенного периода времени ни один из пользователей не работал с этой группой, копирование материалов прекращается. Таким образом, у пользователей создается впечатление, что локальный сервер новостей поддерживает все группы, хотя на самом деле эту работу выполняет внешний сервер. Подобный подход к доставке данных приводит к тому, что при работе с новой группой сообщения поступают к пользователю с некоторой задержкой.
Одна из особенностей программы Leafnode состоит в том, что при ее использовании не требуется настройка для работы с источником новостей. Leafnode (если быть точным, программа fetchnews
) взаимодействует с внешним сервером как обычная программа просмотра новостей. Благодаря этому можно организовать работу Leafnode с любым сервером новостей, например, сервером, расположенным на компьютере провайдера.