tilde.club/docs/server.org

3.7 KiB

Server Configuration

Pre-preface

Org-mode is amazing but not great for everyone. I will be migrating these docs into markdown in the future.

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

Then download slrn and do a manual install

Same with tin

Download tin and do a manual install No special config

Languages

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.

#+begin_src bash
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