Main Page

From Wikislax

Revision as of 15:16, 7 December 2012 by WikiSysop (Talk | contribs)
Jump to: navigation, search


Linux server

This guide is intended as a set of recipes installing and configuring essential Linux and server software. The goal is to save your time ... and mine :) (re)installing a truly functional server ! This guide also strives to give key Linux information, not cluttering brains as so many introductory books do, and making a better learning experience (well at least, hopefully!). A reasonably significant list of software programs is covered, however professionnal features such as backups, raid, lvm, clusters, automation, are not present here. Following all the topics in this guide will however probably take you a few weeks. I wish you good luck and hope that this guide will serve you well !

My recipes are based on slackware (64 bits - currently 13.37). The reasons for my preferring Slackware are simplicity and stability of this distribution. Also, Slackware does not hide what needs to be shown ... and goes straight to the point. As word goes : "learn <your distro> and you will know <your distro>, learn slackware and you will know Linux". Yes, I agree that every techie - and probably me as well - will always find all the reasons for telling that their favourite distro is the most gorgeous in the world. Some other reasons why I like slackware are that it gives good visibility and control on system and package installation. I will however often prefer to install 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. This knowledge 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
Installing Slackware brief overview of the installation process
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
Compiling Grub2 compiling and 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
OpenLDAP the standard Lightweight Directory Access Protocol Directory from
Cyrus-SASL the RFC 2222 Secure Authentication Security Layer software from the Carnegie Mellon University
Sendmail the legacy MTA software from, 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
MIMEDefang a third-party mail filtering software, affords using SpamAssassin and Clamav to filter mail as part of the Sendmail MTA mail processing
Milter a Sendmail subsystem to allow mail filtering by third-party software 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
OpenOffice office software
Thunderbird mail client
VirtualBox virtualizer
Wallpapers just wallpapers
Wireshark protocol analyzer

Choosing a System
Personal tools