Файлы базы данных и журналы
Список файлов базы данных и их стандартное размещение приведено ниже.
• /var/lib/news/.news.daily
• /var/lib/news/history
• /var/lib/news/active
• /var/lib/news/newsgroups
• /var/lib/news/active.times
• /var/lib/news/subscriptions
• /var/lib/news/distributions
Список файлов журналов и их стандартное размещение приведено ниже.
• /var/log/news
• /var/log/news/news.err
• /var/log/news/OLD
• /var/log/news/news.notice
• /var/log/news/news.crit
Сами статьи находятся в следующих файлах:
• /var/spool/news/archive
• /var/spool/news/innfeed
• /var/spool/news/articles
• /var/spool/news/outgoing
• /var/spool/news/incoming
• /var/spool/news/overview
• /var/spool/news/incoming/bad
• /var/spool/news/uniover
Настройка списка получаемых групп новостей
Попробуем выяснить, что нам может предложить провайдер (или любые хосты, которые согласны снабжать нас новостями). Для этого получим список новостей, на которые провайдер подписан. Один из способов получения списка следующий. Воспользуемся командой пакета INN:
getlist -h newsserver.our.pro > active.provider
Созданный этой командой файл active.provider содержит список групп новостей, на которые подписан наш провайдер. Выберем из списка те группы, на которые мы действительно хотим подписаться, и пропишем их в нашем файле active. Например, если вы хотите подписаться на конференцию relcom.humor, добавьте в этот файл примерно следующее:
relcom.humor 0000000000 0000000001 у
Если вы хотите принимать все (или почти все) группы новостей, на которые подписан ваш провайдер, то файл active можно получить из active.provider, выполнив для него следующие команды (обнуляются два средних поля каждой строки):
#!/bin/sh
sed < active.provider > active \
–e \'s/^\([^ ]*\) [0–9]* [0–9]* \([^ ]*\)$/\1 0000000000 0000000000 \2/\'
Нужный файл active готов (он содержит строки для всех групп, которые поддерживает наш сервер), но надо сообщить и провайдеру о нашем выборе (чтобы он знал, какие группы новостей ему нужно пересылать на наш хост). Даже если провайдер пропишет нас в своей конфигурации сервера новостей, он не сможет пересылать нам новости по NNTP. Мы должны дать ему разрешение на это. Для этого добавим строчку в файл hosts.nntp:
newsserver.our.provider:
Здесь надо заметить, что мы полагаемся на провайдера – знаем, что он будет снабжать нас только теми конференциями, о которых мы его попросили. Если же вы не доверяете своим NNTP-соседям, то можно указать конкретно шаблон конференций, которые вы принимаете на локальный диск от конкретного NNTP-соседа. Например, мы хотим принимать от провайдера newsserver.our.badprovider только relcom-группы новостей:
newsserver.our.badprovider::relcom.*
Отредактируем файл newsfeeds, указав всех NNTP-соседей, которых мы хотим снабжать статьями. Не забудем указать в этом файле своего провайдера. Ниже приведены два примера этого файла. • В первом случае мы планируем снабжать статьями хост newsserver.our.provider по NNTP:
ME:*, !junk, !control*, !local*/!local:: newsserver.our.provider:*, !junk, !control*, !local*:Tf, Wnm: newsserver.our.provider
• Во втором случае мы хотим снабжать этот же хост по UUCP (имя этой UUCP-системы provider), используя программу sendbatch:
ME:*, !junk, !control*, !local*/!local:: provider/newsserver.our.provider:*, !junk, !control*, !local*:Tf, Wnb:
Затем назначим различные глобальные параметры сервера новостей (имя сервера, имя домена) и параметры, используемые при формировании заголовков статей, публикуемых у нас. Эта информация хранится в файле inn.conf. Определимся теперь с клиентами нашего сервера новостей (хосты, которые через программу чтения новостей общаются с нашим сервером). Например, мы хотим ограничить пространство пользования ресурсами нашего сервера новостей своей интранет-сетью (192.168.111.0/255.255.255.0) и нашей внешней сетью (домен our.domain), причем пользователям этих сетей мы разрешаем и читать новости, и публиковать их на нашем сервере. При этом надо помнить о партнерах из домена partner.domain (правда, им нечего делать в наших локальных конференциях). Ну, а для остальных поместим первым правило, запрещающее любой доступ. Для этого добавим в файл nnrp.access строки:
*:: -no– : -no– :!*
192.168.111.*:Read Post:::*
*.our.domain:Read Post:::*
*.partner.domain:Read Post:::*, !local*
Как только мы начнем получать статьи на локальный диск, надо будет следить за сроком их хранения на диске и удалять старые (диск же не резиновый). К счастью, за нас это будет делать программа expire, а от нас требуется только дать ей соответствующие указания в файле expire.ctl (ну и конечно, запускать механизм очистки). В этом файле следует указать:
• срок хранения идентификаторов статей в файле history (это делается для того, чтобы не принимать заново удаленные статьи);
Читать дальше
Конец ознакомительного отрывка
Купить книгу