tilde.club/server.org

120 lines
3.0 KiB
Org Mode

#+TITLE: 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
#+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
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.
#+begin_src bash
yum install git-core
yum --enablerepo=epel install nodejs
yum --enablerepo=epel install npm
#+end_src
* 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) 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
#+end_src
** 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
#+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
#+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/