Main Page
Linux server
This guide is intended as a set of recipes installing and configuring essential Linux server software. The goal is to save your time ... and mine :) (re)installing a truly functional home server, learning on the way. Home server means the set of services or software listed below. Professional features such as backups, raid, lvm, clusters, automation, etc... are not covered here.
The recipes are based on slackware (64 bits - currently installing 14.2). My reasons for preferring Slackware are simplicity and stability of this distribution. Also, Slackware does not hide what you need to know, and goes straight to the point. Last, Slackware gives good control on package installation. Sometimes we will however prefer to install server software not from packages, but from source.
Installing software from source is not more difficult than using a graphical package manager that will hide most of what you need to know – specially regarding compilation options and – to some extent, location and content of configuration files. This guide will instead strive to show you what really happens under the hood. The knowledge in this guide should be reusable on any other Linux distribution appropriate for your needs.
Installing Linux
Topic | Goal |
---|---|
Choosing a System | reasons for choosing Linux and Slackware for server usage |
Managing partitions | manage systems coexistence and get systems to boot |
DVDless install | Slackware setup to install from Network |
Installing Slackware | brief overview of the installation process |
Maintaining Slackware | how to keep Slackware current security-wise |
Linux basics | key information using a Linux system |
Configuration files | key slackware configuration files locations |
IPTables | firewall - filtering Internet communications |
X11 configuration | configuration of the X11 graphical system |
X11 over the network | using the X11 graphical system over the network |
Compiling the Kernel | customizing and optimizing your kernel |
Compiling from Source | installing sofware from source |
Xen virtualization
Topic | Goal |
---|---|
Compiling Xen | what is Xen and how to compile |
Using Grub2 | using Grub2 as the bootloader |
Creating VMs | creating and using virtual machines |
Internet software
Most of the server software can be installed directly from the distribution release to save time and effort. However, Server software must include only these compile options required and be updated quickly in case of security advisory, so we will compile it from source. The installation order below must be respected :
Software | Usage |
---|---|
OpenSSL | the standard encryption library from OpenSSL.org |
OpenLDAP | the standard Lightweight Directory Access Protocol Directory from OpenLDAP.org |
Cyrus-SASL | the RFC 2222 Secure Authentication Security Layer software from the Carnegie Mellon University |
Sendmail | the legacy MTA software from Sendmail.org, reknown as complex to configure, but still widely used and released with many Linux distributions |
Cyrus-IMAP | the industrial-grade POP/IMAP Server from the Carnegie Mellon University. Store the messages in a DB4 database, includes support for hierarchical folders, shared folders, and mail quotas |
SpamAssassin | the well-known heuristic AntiSpam software, and other useful PERL scripts and programs |
ClamAV | a Mail Antivirus for Sendmail and other MTAs |
Milter | a Sendmail subsystem to allow mail filtering by third-party software as part of the Sendmail MTA mail processing |
MIMEDefang | a third-party mail filtering software, affords using SpamAssassin and Clamav to filter mail as part of the Sendmail MTA mail processing |
MySQL | the traditional companion to Apache and PHP. apr and apr-util, used by apache, refer to mysql so the latter must be installed first |
Apache | the most widespread and Open Source HTTP server |
PHP | a C-like scripting language well suited for Web development |
phpMyAdmin | a PHP application to administrate MySQL databases |
MediaWiki | a PHP application to manage Wikipedia Wikis |
RoundCube | a PHP Webmail application |
INN | Newsgroups server |
Sucknews | Sucknews affords getting the newsfeeds over a regular NNTP connection with your Internet Service Provider when you have no agreements with peer Newsgroup servers |
Asterisk | VoiP telephony server |
Desktop software
We use :
Software | Usage |
---|---|
Firefox | web browser |
Flashplayer | animation plugin |
Stellarium | planetarium software |
Thunderbird | mail client |
VirtualBox | virtualizer |
Wallpapers | just wallpapers |
Wireshark | protocol analyzer |
Choosing a System |