Инсталляция пакета INN
Процесс инсталляции пакета INN идентичен для Unix-основанных систем, но каждая платформа имеет свои особенности инсталляции. Описанная ниже последовательность действий ориентирована на FreeBSD (пакет inn-1.7.2 ставился на FreeBSD-2.2.5).
Во-первых, Вам необходимо заполучить свеженький дистрибутив INN. Обратитесь на сервер ftp.isc.org и перейдите в каталог isc/inn. Выберите необходимый архив (например, ), перекачайте, декомпрессируйте и разархивируйте его, поместив результат в выбранный Вами каталог (в дальнейшем он упоминается как $inn).
Сменив текущий каталог на $inn, Вы обнаружите два файла формата nroff, использующие макрос -ms: Install.ms.1
и Install.ms.2. Это две части оффициального руководства по инсталляции InterNetNews.
Дайте команду
make Install.ms
При этом два файла объединяются в один - Install.ms
с правами доступа 444. Приведите этот файл в более читабельный вид (в частности, для просмотра с помощью more) командой:
nroff -ms Install.ms > Install
При возникновении проблем в инсталляции пакета необходимо обращаться за помощью к этому файлу.
Следующий этап процедуры инсталляции - редактирование главного файла конфигурации сonfig.data.
В каталоге $inn/sample-configs содержатся шаблоны файла config.data для различных платформ. Вам необходимо выбрать наиболее подходящий для Вас файл и скопировать его в $inn/config/config.data, например, для FreeBSD выполните следующие команды:
cd $inn cp sample-configs/config.data-FreeBSD-2.0 config/config.data
Теперь настала пора отредактировать сам файл config.data. INN получает из этого файла информацию о своей среде (т.е. где лежат компоненты, используемые INN).; Для пользователей FreeBSD надо подкорректировать опции для LIBS:
LIBS -lutil -lcrypt
Пакет поставляется с некоторыми perl-сценариями, требующими пакет языка perl версии не ниже, чем 5.001, так что Вам, возможно, придется установить новый пакет языка perl и прописать корректный путь к команде perl:
_PATH_PERL /usr/local/bin/perl
Подробное описание содержимого файла config.data
смотрите в файле Install.
Скомпилируйте все исходники:
cd $inn make all
Перед инсталляцией компонентов пакета необходимо создать каталоги, куда они будут помещены:
mkdir /usr/news /var/news /var/news/spool
Теперь можно инсталлировать компоненты пакета INN. Если Вы ставите пакет в первый раз на эту систему, то просто дайте команду:
make install
Если же Вы заменяете уже существующую систему INN, то рекомендуется инсталлировать отдельно программы и отдельно конфигурационные файлы и сценарии. Это позволит не затирать конфигурационные файлы текущей INN системы. Итак, сначала запустите сценарий:
makedirs.sh
Он создаст все остальные каталоги (ниже созданных командой mkdir на предыдущем этапе). Заметим, что команда make install вызывает этот сценарий сама. Теперь инсталлируйте программы и руководства (man'ы):
make update
При этом сценарии и конфигурационные файлы будут скопированы из каталога $inn/samples в каталог $inn/site. Если Вы хотите сохранить настройки предыдущей версии INN, затрите файлы из каталога $inn/site такими же файлами из старого программного обеспечения, после чего:
cd $inn/site make install
Запуск сценария:
$inn/BUILD
позволит создать файлы и history. После запуска сценария, он спросит, использовать ли с-версию subst (если она существует):
-- do you want to use it [y or n]? y
Далее он спросит построили ли Вы бинарники:
Have you already built the executables [y or n]? y
Затем он спросит существуют ли каталоги spool, etc
и т.д.:
Do the spool, etc., directories exist [y or n]? y
Следующим вопросом будет: желаете ли Вы продолжить инсталляцию:
Do you want to continue with the installation [y or n]? y
И, наконец, последний ворос: запускать ли subshell для редактирования конфигурационных файлов:
Start a subshell to edit the config files [y or n]? n
После завершения работы сценария проверьте, что владельцем файла active является пользователь news, группа news, права доступа на него 644, а если это не так (а практика показывает что в сценарии действительно что-то не так :-)), то исправьте это, дав команды
chmod 644 active chown news:news active
Сделайте почтовый псевдоним для пользователя news
в файле /etc/mail/aliases:
usenet: news
Дайте знать об этом sendmail, перестроив после редактирования файла базу псевдонимов:
/usr/bin/newaliases
INN оповещает о своей работе, используя систему syslog. Проверьте конфигурационный файл демона syslogd /etc/syslog.conf. Раскомментируйте в этом файле строки, содержащие news.crit, news.err, news.notice. После этого не забудьте создать соответствующие файлы в каталоге /var/log/news
(владелец - news, группа -news, права доступа - 664).
Заметим, что, если Ваш файл newsfeeds
не содержит строк с указанием "питающихся" у Вас сторон, кроме строки ME, то демон innd при запуске выдаст ошибку: "SERVER bad_newsfeeds no feeding sites". Для того, чтобы успокоить сервер, на начальной стадии Вы можете прописать холостой поток:
dummy-feed:!*::
Добавьте в .profileпользователя root пути поиска в новых каталогах:
PATH=$PATH:/usr/news/bin:/var/news
Для чтения руководств с помощью команды man, добавьте строку в файле /etc/manpath.config:
MANDATORY_MANPATH /usr/news/man
Поместите запуск демона innd в сценарий rc.local:
/usr/news/bin/rc.news > /dev/console
Проверьте наличие строки
DOINNWATCH=true
в файле rc.news. Это позволит использовать утилиту innwatch.ctl, которая "гасит" сервер новостей, когда Ваш диск переполнился и предотвращает крушение системы.
Перезагрузите машину и проверьте, работает ли демон innd. Во-первых, должен быть соответствующий процесс, запущенный пользователем news:
ps -U news | grep inn
Во-вторых, дав команду
telnet localhost nntp
Вы должны увидеть примерно следующее:
Trying 127.0.0.1 Connected to localhost.your.domain. Escape character is '^]'. 200 news.your.domain InterNetNews server INN 1.7.2 ready
Чтобы увидеть, какие команды понимает этот news-сервер, дайте команду help. Для возврата из сеанса telnet обратно в shell, дайте команду quit.