3.6 KiB
Usenet and local newsgroups
The current shell host runs INN 2.7.3. Its reader rules, peer list, and spool configuration were not supplied. The old Fedora 32 setup and manual history rebuild have been replaced here with a local-first deployment procedure.
Install and inspect the packaged layout
dnf install inn slrn
rpm -ql inn
systemctl cat innd.service
Use the config, service account, spool, history, and log paths supplied by that
package. Do not replace pathnews with /usr/local/news merely because an old
source-install guide used it. Keep a copy of the packaged examples and consult
the installed inn.conf(5) and readers.conf(5) manuals.
In inn.conf, set your own organization, pathhost, domain, and reader
server name. Retain the packaged storage/history layout until you have a
reason to change it. Keep the first deployment reachable only from loopback or
an explicit trusted network, using both the service's bind policy and the
firewall.
Local reader policy
INN separates reader authentication from reader access. A small example
readers.conf for trusted localhost shell clients is:
auth "shell-local" {
hosts: "127.0.0.1,::1"
default: "<shell-local>"
}
access "shell-local" {
users: "<shell-local>"
read: "local.*"
post: "local.*"
}
This deliberately trusts connections originating on the machine and does not authenticate an individual shell user. Decide whether that is sufficient for your community. It is not an appropriate anonymous Internet posting policy. Review the whole file: another broad auth/access block can grant access you did not intend, and matching order matters.
Use the package's inncheck as the news service user, fix reported errors,
then start innd. Locate the packaged admin binaries if they are not on PATH:
rpm -ql inn | rg '/(inncheck|ctlinnd|news.daily)$'
systemctl enable --now innd
Create a disposable local group with the installed ctlinnd newgroup command,
for example local.test, as the news service user. Read, post, and retrieve a
test article with a local client. Check the configured spool and logs after a
restart. Test that a client outside the permitted source range is denied.
Expiry and maintenance
Inspect the packaged expiry timer and cron integration before adding another
job. Configure expire.ctl for the groups and retention you intend to keep,
then verify news.daily actually runs. Monitor spool blocks and inodes, history
size, failures, and feed queues. A job in a document is not evidence that it is
scheduled on the host.
Back up the config and recovery-critical spool/history state according to the
storage method and upstream recovery procedure. Do not run an old makehistory
recipe against a live spool without confirming the storage method, paths,
backups, and downtime requirements. Never move guessed .hash, .dir, or
.index files into place because they appeared in a guide for another INN version.
Remote readers and peering
Keep these separate. TLS/authenticated reader access has a different purpose
from server-to-server article feeds. Before adding a remote peer, agree on
names, source addresses, offered groups, moderation/control policy, volume,
spam handling, and feed authentication. Configure incoming.conf and
newsfeeds for those peers specifically. Do not use a wildcard peer rule or
open reader posting simply to make a connection test pass.
Use the current INN documentation, including reader access and installation.