Some initial notes on installing the usenet server

I'm not great at this, and I think I probably missed writing down some steps but this should be the rough path to glory. I'd appreciate some fixes for this.
This commit is contained in:
Artem Titoulenko 2014-10-15 01:56:55 -04:00
parent 95af8d450e
commit 1790da774f
1 changed files with 112 additions and 0 deletions

112
docs/usenet.md Normal file
View File

@ -0,0 +1,112 @@
# Usenet in 60 Seconds
## Installation
Create Linux machine
$ sudo -i
root # yum update
root # yum install gcc
root # yum install cpan
root # yum install python-devel
root # Get the Mime parser (for controlchan [idk wtf that is])
root # cpan -f install Mime::Parser
root # wget ftp://ftp.isc.org/isc/inn/inn-2.5.4.tar.gz
root # tar xvf inn-2.5.4.tar.gz
root # cd inn-2.5.4
root # groupadd news
root # useradd -g news -d /usr/local/news news
root # ./configure \
--with-python \
--enable-libtool \
--with-gnu-ld \
--with-sendmail=/usr/sbin/sendmail \
--enable-tagged-hash \
--enable-shared \
LIBS="-lpthread"
root # vim /etc/hostname # set your hostname to something like `news`
root # vim /etc/hosts # change local.localdomain to the new hostname
# should probably restart the machine to get the new hostname
root # su - news
news $ vim etc/inn.conf
The top of my `inn.conf` looks like:
mta: "/usr/sbin/sendmail -oi -oem %s"
organization: "tilde.club"
ovmethod: tradindexed
hismethod: hisv6
pathhost: news
pathnews: /usr/local/news
#runasuser: # default: news
#runasgroup: # default: news
# General Settings
domain: news.tilde.club
#innflags:
mailcmd: /usr/local/news/bin/innmail
#server:
Then you need to configure `readers.conf` to say who can connect, how, and what
kind of things they get when they log in.
news $ mv etc/readers.conf etc/readers.conf.old
news $ vim etc/readers.conf
A rudimentary `readers.conf` looks like:
# as this machine will only listen to connections from the tilde.club server, I don't mind having
# such a wild rule.
auth tilde.club {
hosts: *
default: <PUBLIC>
}
access default {
users: <PUBLIC>
newsgroups: "*,!admin.*,!control,!control.*,!mode,!junk"
}
access admin {
users: "artem,ftrain@tilde.club"
newsgroups: *
access: "RPA"
perlfilter: false
}
Ensure that all the history files have the right permissions:
news $ chmod 644 ~/db/*
And finally set up the cron job to expire messages. Make sure you run this as
the `news` user:
0 3 * * * ~/bin/news.daily expireover lowmark
## Running the server
There are some scripts in the `contrib` which will help you get started, namely
`sample.init.script`. I think it goes into `/etc/init.d`, though I might be
mistaken. Another option is a long-running tmux session. Either way, the
following runs the server:
news $ bin/rc.news start
And the following stops it:
news $ bin/rc.news stop
All errors are logged to `~/log/`. `~/log/errlog` is a good resource for finding
out why your news server isn't running.