2.9 KiB
Server Configuration
Preface
This is a literate shell program written. The formatting is pretty straightforward. You can have documentation and code mixed up and make nice PDFs but also spit out code. It's good for public projects. It looks okay on Github. I'll set it up so that it automatically exports a companion shell script in time.
Let's set up a tilde.club server!
Base machine
- A standard unix server, Ubuntu or CentOS.
- [TK explain servers and server math]
TODO Getting started
- Add apropos descriptions for each application?
We need to start by installing some basics.
First we automatically upgrade the system
echo "Installing basics"
yum upgrade
And we remove Java; it's a beast and it takes a lot of memory and is generally a pretty bad citizen on machines that many people share.
echo "Removing java"
yum uninstall java
Then we fetch the version control management software "git" which allows us to load recently updated code from public code repositories. And we get nodejs, which provides us with an implementation of JavaScript, a programming language that we need to run our IRC server.
yum install git-core
yum install nodejs
yum install npm
Servers
Now we install servers, which allow client software to connect and issue commands. Each server is like a small computer unto itself.
The first server we fetch is Webmin, which is a systems administration tool that you can use from the web.
echo "Installing servers"
echo "1) Webmin"
yum install libnet-ssleay-perl # (so that webmin uses HTTPS rather than HTTP)
wget http://prdownloads.sourceforge.net/webadmin/webmin-1.710-1.noarch.rpm
rpm -U webmin-1.710-1.noarch.rpm
echo "2) HTTPD/Apache"
yum install httpd
echo "3) Unix Talk"
yum install talk-server
echo "4) IRCD"
git clone https://github.com/alexyoung/ircd.js
cd ircd.js
# TODO FINISH INSTALL OF IRCD
echo "5) postfix mail server"
yum install postfix
TODO Is postfix even necessary?
- We could just do maildrop.
- I do not know.
TODO Log into webmin and set things up?
TODO Finish the installation of the IRC server
TODO Finish the installation of the NNTP server (INN?)
Applications
yum install emacs
yum install tmux
yum install htop
yum install elinks
yum install nail # [?why did I did this]
yum install lynx
yum install figlet
yum install ImageMagick
yum --enablerepo=epel install -y mosh
# Irc clients
yum install scrollz
yum install irssi
yum install alpine
yum install pico
yum install readline
yum install tig
yum install sbcl
yum install fortune-mod
TODO Figure out mosh ports
TODO Decided if we want mailman for internal private mailing lists. Probably so!
Development Tools
yum groupinstall "Development Tools" yum install gcc chmod 700 /usr/bin/gcc* chmod 700 /usr/bin/cc*
Add other things
- Get the right racket for the box at http://racket-lang.org/download/