tilde.club/docs/server.org

165 lines
3.7 KiB
Org Mode

#+TITLE: 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
#+begin_src bash
echo "Installing basics"
yum upgrade
#+end_src
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.
#+begin_src bash
echo "Removing java"
yum uninstall java
#+end_src
* Shells
#+begin_src bash
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
#+end_src
* Data
#+begin_src bash
yum install rrdtool
yum install jq
#+end_src
* Games
#+begin_src bash
yum install frotz
yum install mlmmj
#+end_src
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
#+begin_src bash
yum install mg vile zile
#+end_src
* Usenet
Slrn is a pain to get working on CentOS.
#+begin_src bash
yum install slang slang-devel slang-static slang-slsh
#+end_src
Then download slrn and do a manual install
Same with tin
Download tin and do a manual install
No special config
* 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.
#+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
#+end_src
** TODO Is postfix even necessary?
- [ ] We could just do maildrop.
- [ ] I do not know.
** TODO Log into webmin and set things up?
* Applications
#+begin_src bash
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
#+end_src
** TODO Figure out mosh ports
** TODO Decided if we want mailman for internal private mailing lists. Probably so!
* Development Tools
#+begin_src bash
yum groupinstall "Development Tools"
yum install gcc
chmod 700 /usr/bin/gcc*
chmod 700 /usr/bin/cc*
#+end_src
* Add other things
- Get the right racket for the box at http://racket-lang.org/download/