tilde.club/docs/serversetup.md

3.0 KiB

#+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 yum install jq #+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