tilde.club/docs/server.org

165 lines
3.7 KiB
Org Mode
Raw Normal View History

2014-10-02 20:48:32 +00:00
#+TITLE: Server Configuration
2014-10-19 19:36:33 +00:00
* Pre-preface
2014-10-19 19:39:02 +00:00
Org-mode is amazing but not great for everyone. I will be migrating
these docs into markdown in the future.
2014-10-19 19:36:33 +00:00
2014-10-07 02:24:48 +00:00
* Preface
This is a literate shell program written. The formatting is pretty
straightforward. You can have documentation and code mixed up and make
2014-10-07 02:33:32 +00:00
nice PDFs but also spit out code. It's good for public projects. It
2014-10-17 01:47:05 +00:00
looks okay on Github. I'll set it up so that it automatically exports
a companion shell script in time.
2014-10-07 02:24:48 +00:00
Let's set up a tilde.club server!
2014-10-02 20:48:32 +00:00
* Base machine
2014-10-07 02:24:48 +00:00
- 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
2014-10-17 01:47:05 +00:00
* 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
2014-10-19 19:35:27 +00:00
Then download slrn and do a manual install
Same with tin
Download tin and do a manual install
No special config
2014-10-19 19:27:14 +00:00
* Languages
2014-10-19 19:36:33 +00:00
#+begin_src bash
2014-10-19 19:27:14 +00:00
yum install R
chmod 700 /usr/bin/java*
2014-10-19 19:36:33 +00:00
#=end_src bash
2014-10-19 19:27:14 +00:00
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.
2014-10-17 01:47:05 +00:00
2014-10-07 02:24:48 +00:00
* 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)
2014-10-07 02:24:48 +00:00
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
2014-10-15 03:31:34 +00:00
echo "4) postfix mail server"
2014-10-07 02:24:48 +00:00
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
2014-10-07 02:24:48 +00:00
yum install irssi
yum install alpine
yum install pico
yum install readline
yum install tig
yum install sbcl
yum install fortune-mod
2014-10-12 00:49:13 +00:00
yum install tidy
2014-10-15 00:21:22 +00:00
yum install jq
2014-10-15 03:31:34 +00:00
yum install git-core
yum --enablerepo=epel install nodejs
yum --enablerepo=epel install npm
2014-10-07 02:24:48 +00:00
#+end_src
** TODO Figure out mosh ports
** TODO Decided if we want mailman for internal private mailing lists. Probably so!
* Development Tools
2014-10-11 05:31:17 +00:00
#+begin_src bash
2014-10-07 02:24:48 +00:00
yum groupinstall "Development Tools"
yum install gcc
chmod 700 /usr/bin/gcc*
chmod 700 /usr/bin/cc*
2014-10-11 05:31:17 +00:00
#+end_src
2014-10-07 02:24:48 +00:00
* Add other things
2014-10-07 02:24:48 +00:00
- Get the right racket for the box at http://racket-lang.org/download/