BASH Programming - Введение


Как настроить C News?


Здесь описано решение на базе ньюссервера C News и протоколе NNTP. C News предназначался для несколько других целей, но его гибкости хватает и для нашей ситуации. Также можно использовать более свежий продукт - сервер новостей INN, но он может требовать большее количество ресурсов. В любом случае не вздумайте ставить их обоих одновременно; они не дружат друг с другом.

Критично, что обработка новостей делается от имени пользователя news, и все конфигурационные файлы находятся в каталоге /usr/lib/news. Один из способов сделать это, при регистрации как root выполнить su news; cd.

Самые важные настроечные файлы это:

  • active - краткое описание активных групп новостей. Он обновляется командой addgroup, например, addgroup comp.os.linux.networking y.
  • организация может быть указана по вашему усмотрению в поле заголовка Organization: , в нашем случае:

    Dirk Gently's Holistic Detective Agency

  • почтовое имя в нашем случае acme.net.
  • whoami установливает имя вашего сайта в Path: . В установке, описанной здесь, с использованием NewsX, это имя никогда не выйдет за пределы машины, так что можете установить его так, как вам нравится, если только уверены, что оно уникально.
  • sys управляет выборкой и дальнейшим распространением новостей. Допустим, что ISP в нашем случае добавляет acme.net к Path, и, что он единственный наш поставщик новостей. Данный пример в действительности говорит о том, что мы будем принимать все, что приходит, и, что мы отсылаем новости только на acme.net, который прежде не видели и первоначально отправляли на наш собственный сайт. В этой упрощенной установке мы допустим, что все группы приходят из одного источника. /all определяет дистрибуцию, и должно быть включено. Буква F говорит о том, что все (указатели на) исходящие новости будут складываться в файл.

    ME:all/all:: acme/acme.net:all,!junk/all:FL:

  • Должен быть создан подкаталог для исходящих новостей, в нашем случае:

    mkdir /var/spool/news/out.going/acme

  • mailpaths управляет отправкой сообщений в модерируемые группы, хотя эта задача обычно оставляется на усмотрение ISP.

  • C News нуждаются в определенной доле ежедневного внимания со стороны администратора, но его действия могут быть определены один раз и для всех командой crontab -e для пользователя news. Далее показано как может выглядеть эта установка; она может быть настроена как вам угодно:



    # maintain incoming и outgoing batches 10,40 * * * * /usr/lib/newsbin/input/newsrun

    # expire C News, once a day 30 0 * * * /usr/lib/newsbin/expire/doexpire

    # monitor и report if needed 00 2 * * sat /usr/lib/newsbin/maint/addmissing 40 3 * * * /usr/lib/newsbin/maint/newswatch 50 3 * * * /usr/lib/newsbin/maint/newsdaily

    newsrun перемещает входящие и исходящие статьи (дважды в час), doexpire будет удалять утаревшие статьи (каждую нось в 00:30), а три последние команды выополняют различные административные и корректирующие ошибки функции.

    Нужно также удостовериться, что при запуске машины все чисто. От пользователя root, добавьте строку в /etc/rc.d/rc.local:

    su news -c /usr/lib/newsbin/maint/newsboot

    News могут обрабатываться программой NewsX, извлекающей новости с NNTP-сервера. Программа может быть найдена на:


    • Or:




    • Установка NewsX предельно проста. Установка в классическом случае:

      make su make install exit

      Для приведенной установки все, что вы должны сделать - это создать группы, которые вы хотите читать, используя команду "addgroup".

      Чтобы выбрать статьи, пользователь news выдает следующие команды (при установке связи по PPP, или аналогичной -):

      newsrun newsx acme news.acme.net newsrun

      Опция -d дает непрерывную распечатку экрану. За подробной информацией обратитесь к документации NewsX.

      NewsX будет также заботиться о регистрации исходящих новостей.

      Для управления удалением статей при их устаревании требуется файл explist, требуется. Комментарии в этом примере должны объяснить, что мы делаем:

      # hold onto history lines 14 days, nobody gets >120 days /expired/ x 14 - /bounds/ x 0-1-120 -

      # retain these for 2 months comp.sources,comp.os.linux.all x 60 -

      # noise gets thrown away fast junk,control x 2 -

      # default: 14 days, no archive all x 14 -

      ALT: В маленьком спуле новостей, не требуется частое управление группами новостей. Полезность трафика изменяется в широких пределах. Основная задача состоит в определении, какие статьи отбросить, а какие группы создать автоматически. Чтобы гарантировать, что управляющие сообщения, содержащие новую группу, не создадут у нас беспорядок, в файле, называемом newgroupperm определяется, что именно мы позволяем:

      comp.os.linux tale@uunet.com yv all any nq

      В этом примере, будут созданы все группы в иерархии comp.os.linux (y), и пользовательские новости будут сообщаться (v). Все остальные будут молча (q) проигнорированы (n). Последняя строка нужна, если вы хотите создавать все группы вручную.

      ALT: Альтернатива NewsX - suck, или slurp совместно с postit. Slurp использует NNTP NEWNEWS, который может работать с несколькими серверами.


      Содержание раздела