forked from team/tilde.club
120 lines
3.0 KiB
Org Mode
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/
|