The Perfect Server - Ubuntu Hardy Heron (Ubuntu 8.04 LTS Server)

Version 1.0
Author: Falko Timme

This tutorial shows how to set up an Ubuntu Hardy Heron (Ubuntu 8.04 LTS) based server that offers all services needed by ISPs and hosters: Apache web server (SSL-capable), Postfix mail server with SMTP-AUTH and TLS, BIND DNS server, Proftpd FTP server, MySQL server, Courier POP3/IMAP, Quota, Firewall, etc. This tutorial is written for the 32-bit version of Ubuntu 8.04 LTS, but should apply to the 64-bit version with very little modifications as well.

I will use the following software:

  • Web Server: Apache 2.2 with PHP 5.2.4 and Ruby
  • Database Server: MySQL 5.0
  • Mail Server: Postfix
  • DNS Server: BIND9
  • FTP Server: proftpd
  • POP3/IMAP: I will use Maildir format and therefore install Courier-POP3/Courier-IMAP.
  • Webalizer for web site statistics

In the end you should have a system that works reliably, and if you like you can install the free webhosting control panel ISPConfig (i.e., ISPConfig runs on it out of the box).

I want to say first that this is not the only way of setting up such a system. There are many ways of achieving this goal but this is the way I take. I do not issue any guarantee that this will work for you!


1 Requirements

To install such a system you will need the following:


2 Preliminary Note

In this tutorial I use the hostname with the IP address and the gateway These settings might differ for you, so you have to replace them where appropriate.


3 The Base System

Insert your Ubuntu install CD into your system and boot from it. Select your language:

Then select Install Ubuntu Server:

Choose your language again (?):

Then select your location:

Choose a keyboard layout (you will be asked to press a few keys, and the installer will try to detect your keyboard layout based on the keys you pressed):

The installer checks the installation CD, your hardware, and configures the network with DHCP if there is a DHCP server in the network:

Share this page:

Suggested articles

9 Comment(s)

Add comment


By: MasterG2000

Thank's for this great tutorial!!

On my minimal Ubuntu 8.04 installation I have to add some addional packages to run ISPconfig on the server:

  • cron
  • iptables
  • telnet (only for the test in your tutorial, not for ISPconfig)
Also I think it's helpfull to install 'wget' for external software.



By: andrew
By: d0rk-E

It has known security holes that are no longer going to be patched.


Falco & Till,

 You guys are the best. Thanx a lot for your hard work.

 Sami Mattila


I have set this up on a dev server and it works good.

I'm planning my install for the production system which has four processors and 3 mirror drives.  I'm trying to think ahead about system expansion.  I'd like to make it easy as possible for me to move existing servers onto new machines as I expand.

Is it possible to put the MySql and Postfix on seperate machines fairly easily using this tutorial with ISPConfig still functional?

If it is easy should I use VMWare and make multiple virtual machines or should I put it all on one box.




Highly recommended 

Thank You very much for this one

No way you can go wrong with this Howto.


Regards,  from Costa Rica 


Hi there, thanks I have resolved the issue.

By: Lee

Hi, I am stuck as how do I really set my static address:

address  (What address is this?) 
network (What network address?)
broadcast (What broadcast address?)

I can only find my netmask and gateway address.

Thanks, please shed some light, anyone. :)






By: Anonymous is website where you can find your public ip address. you need to set up port forwarding if you have a router set it to forward port 80 to your internal ip address. you can find out your internal ip address by running this command: ifconfigafter that look at  the one that says etho or something like that. The one that says "inet add" that is your internal ip address