Чтобы организовать полнофункциональный сервер новостей, необходимо затратить значительные средства как на приобретение оборудования и организацию быстродействующего соединения, так и на оплату услуг поставщика новостей. Например, на момент написания данной книги стоимость получения материалов групп на сервере NewsGuy составляла 1200 долларов в месяц, а для взаимодействия с этим сервером требовался компьютер не ниже, чем Pentium 400, с объемом оперативной памяти не менее 500 Мбайт, оснащенный жестким диском объемом не меньше 64 Гбайт. Для получения данных требовалась пропускная способность соединения не ниже 3 Мбод. Планируя пропускную способность соединения, необходимо также учитывать, что на сервер будут обращаться клиенты. В зависимости от набора поддерживаемых вами групп новостей, времени хранения сообщений и других характеристик сервера, требования к ресурсам могут увеличиваться или уменьшаться. Поскольку
количество групп и объем сообщений в них ежегодно возрастает, не исключено, что приведенные выше требования вскоре придется пересмотреть.
Настройка INN
Настройка INN предполагает установку большого количества опций в различных конфигурационных файлах. В пакете, предназначенном для инсталляции, указаны такие значения опций, которые практически обеспечивают функционирование сервера. Вам остается лишь привести некоторые установки в соответствии с требованиями системы. Например, вам понадобится объявить поддерживаемые группы новостей и настроить средства для контроля доступа. (Если вы хотите установить полнофункциональный Usenet-сервер, администратор поставщика новостей, скорее всего, сообщит вам установки, необходимые для доступа к его серверу.) Необходимо также определить политику удаления сообщений по истечении срока их действия и сообщить INN, как следует обрабатывать специальные управляющие сообщения (например, команды на удаление статей, создание новых групп и т.д.).
Общие установки
Основным конфигурационным файлом является
/etc/news/inn.conf
. В этом файле содержатся выражения следующего вида:
имя_опции: значение
Такой же синтаксис используется и в других конфигурационных файлах. Значения большинства опций в файле
inn.conf
, заданные по умолчанию, не нуждаются в редактировании. Наиболее важные из опций, которые вам придется установить в соответствии с требованиями вашей системы, описаны ниже.
•
organization
. Данная опция позволяет указать имя вашей организации. Строка, заданная в качестве значения опции
organization
, включается в заголовки всех сообщений, переданных через ваш сервер.
•
server
. Имя компьютера, на котором выполняется сервер INN. Эта опция очень важна, поскольку имя, указанное в ней, используется при установлении соединения, которое необходимо для доставки сообщений. Настраивая сервер, можно оставить значение по умолчанию
localhost
, но лучше заменить его реальным именем вашего компьютера.
•
pathhost
. Получая сообщение, сервер INN включает значение данной опции в поле заголовка
Path
. Это поле позволяет выяснить путь сообщения и устранить ситуации, при которых сообщение вторично попадает на тот же сервер. Задавая значение данной опции, желательно указать полное доменное имя сервера, например
news.threeroomco.com
.
•
moderatormailer
. Некоторые группы новостей модерируются, т.е. перед тем, как отправленные сообщения становятся доступными всем пользователям, их проверяет один из участников административной группы — модератор. Если вам надо связаться с модератором, вы можете либо послать письмо непосредственно ему, либо отправить сообщение на централизованный адрес модерируемой группы; в результате оно будет доставлено модератору. Примером централизованного адреса может служить
%s@uunet.uu.net
.
•
domain
. С помощью данной опции задается имя домена, например
threeroomco.com
. Оно предназначено для внутреннего использования компонентами INN.
•
fromhost
. Когда локальный пользователь передает сообщение, INN создает поле заголовка
From
, идентифицирующее отправителя. Значение данного поля интерпретируется как имя компьютера, поэтому вы можете указать в качестве значения данной опции имя домена или имя почтового сервера.
•
complaints
. Работая с группами новостей, некоторые пользователи совершают недопустимые действия, например, публикуют рекламные сообщения в группах, не предназначенных для этой цели, посылают двоичные файлы в группы, ориентированные на работу с текстовыми данными, передают сообщения, оскорбляющие других пользователей, и т.д. Опция
complaints
позволяет указать почтовый адрес, по которому
пользователи смогут связаться с вами и сообщить о некорректном поведении других участников группы.
В файле
inn.conf
предусмотрено много других опций, но для них обычно принимают значения, установленные по умолчанию. Дополнительную информацию о назначении различных опций вы можете получить на страницах справочной системы, посвященных
inn.conf
.
Объявление групп новостей
В файле
inn.conf
отсутствуют объявления и описания групп новостей. Эта информация указывается в двух других конфигурационных файлах:
active
и
newsgroups
. Данные файлы хранятся в каталоге, указанном с помощью опции
pathdb
, которая находится в файле
inn.conf
(обычно это каталог
/var/lib/news
).
Файл
active
содержит список групп новостей, поддерживаемых системой. Каждой группе новостей посвящена строка этого файла. Порядок следования строк не важен. Строка, содержащая объявление группы, состоит из четырех полей:
В первом поле указывается полное имя группы, например
comp.os.linux.misc
. Два следующих поля содержат соответственно максимальный и минимальный номера сообщений, присутствующих в группе. Для новой группы значения этих полей равны соответственно 0000000000 и 0000000001. (Сервер INN хранит сообщения, переданные в группу, как отдельные файлы, имена которых создаются на базе номеров сообщений в локальной группе. Эти номера не связаны с идентификаторами сообщений и могут по-разному присваиваться на различных серверах.) Последнее поле содержит флаги, определяющие характеристики группы. Значения флагов описаны ниже.
•
y
. Данный флаг присутствует в объявлениях групп чаще других. Он указывает на то, что пользователи могут передавать сообщения в группу.
•
n
. Группа, помеченная этим флагом, может получать новые статьи с других серверов, но локальные пользователи не могут передавать в нее свои сообщения.
•
m
. Этот флаг определяет модерируемую группу новостей. Локальные сообщения, переданные в группу, пересылаются модератору для проверки.
•
j
. Группа, помеченная данным флагом, может принимать сообщения, но не обрабатывает их. Сервер INN лишь пересылает принятые сообщения на сервер, выполняющий роль поставщика данной группы новостей.
•
x
. Данный флаг определяет статическую группу. Новые сообщения не принимаются ни от локальных пользователей, ни от поставщика новостей.
•
=группа_новостей
. Сообщения, отправленные в группу, которая помечена данным флагом, передаются в указанную группу. Этот флаг можно использовать для автоматического перенаправления материалов.
Сервер новостей, который допускает только локальные операции, может поддерживать лишь несколько групп. Имена этих групп задаются произвольно, но они должны соответствовать схеме, принятой в Usenet. При желании вы можете назначать локальным группам имена, начинающиеся с имени вашей организации, например, на сервере новостей, расположенном в домене
threeroomco.com
, могут поддерживаться группы
threeroomco.support
,
threeroomco.support.bigproduct
и
threeroomco.accounting
. Если вы получаете материалы новостей из внешнего источника, соответствующий сервер должен предоставлять вам список групп новостей или даже полностью сформированный файл
active
.
В процессе работы сервера INN значения полей
максимальный_номер
и
минимальный_номер
в файле
active
могут изменяться. При добавлении нового сообщения значение поля
максимальный_номер
увеличивается, а по истечении срока действия имеющегося сообщения увеличивается число, указанное в поле
минимальный_номер
. При удалении сообщения значение поля
минимальный_номер
может остаться неизменным; как было сказано ранее, сообщения не обязательно удаляются в порядке их поступления.