3.5 KiB
Server Configuration
- Preface
- Base machine
- Getting started
- Shells
- Data
- Games
- Editors
- Usenet
- Languages
- Servers
- Applications
- Development Tools
- Add other things
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
Shells
yum install zsh
yum install csh
yum-config-manager --add-repo http://fishshell.com/files/linux/RedHat_RHEL-6/fish.release:2.repo
yum install fish
Data
yum install rrdtool
yum install jq
Games
yum install frotz
yum install mlmmj
I also downloaded and installed nethack. which was a terrible pain and requires much configuration. When we move to Ubuntu it won't be necessary since there's a package so I'm ignoring it for now.
Editors
yum install mg vile zile
Usenet
Slrn is a pain to get working on CentOS.
yum install slang slang-devel slang-static slang-slsh
Languages
#begin_src bash yum install R chmod 700 /usr/bin/java* #end_src bash
R is a huge, shitty install that requires, like LaTeX. And Java. And AWS wants Java too. Rather than fight the Java virus I just made it 700 root.
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 perl-Net-SSLeay # (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) 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?
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
yum install tidy
yum install jq
yum install git-core
yum --enablerepo=epel install nodejs
yum --enablerepo=epel install npm
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/