There is a new version of this tutorial available for Ubuntu 20.04 (Focal Fossa).

The Perfect Server - Ubuntu 12.04 LTS (Apache2, BIND, Dovecot, ISPConfig 3)

Version 1.0
Author: Falko Timme
Follow me on Twitter

This tutorial shows how to prepare an Ubuntu 12.04 LTS (Precise Pangolin) server (with Apache2, BIND, Dovecot) for the installation of ISPConfig 3, and how to install ISPConfig 3. ISPConfig 3 is a webhosting control panel that allows you to configure the following services through a web browser: Apache or nginx web server, Postfix mail server, Courier or Dovecot IMAP/POP3 server, MySQL, BIND or MyDNS nameserver, PureFTPd, SpamAssassin, ClamAV, and many more. This setup covers Apache (instead of nginx), BIND (instead of MyDNS), and Dovecot (instead of Courier).

Please note that this setup does not work for ISPConfig 2! It is valid for ISPConfig 3 only!

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:

If you've selected an uncommon combination of language and location (like English as the language and Germany as the location, as in my case), the installer might tell you that there is no locale defined for this combination; in this case you have to select the locale manually. I select en_US.UTF-8 here:

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:

Enter the hostname. In this example, my system is called, so I enter server1:

Create a user, for example the user Administrator with the user name administrator (don't use the user name admin as it is a reserved name on Ubuntu 12.04):

Share this page:

9 Comment(s)

Add comment

Please register in our forum first to comment.


By: Mike

Falko these tutorials are freaking awesome!  I want to personally thank you for taking the time out of your busy schedule to write them.  People like you make it easier to learn this stuff.  Thanks!

By: M1

i agree with mike. these tutorials helped alot.. cant find any better... falko's the best.. i appreciate the hard work. thanks

By: Anonymous

This is great is there anyway you can load balance this as well so like if one of my servers fail it will go over to the other and also is there a want to integrate this into WHMCS for auto setup of services would really like to try to set this up

 Many Thanks

By: MrSof

Je tenais a vous remercier de cet excellent tuto !
J'installe régulièrement des serveurs et cette mine d'infos est indispensable pour moi :-)

Merci Falko et longue vie à Howtoforge !

By: Vijay Thakur


Many many thanks to you for sharing your knowledge from your busy schedule.  For years i was trying to set up a virtual postfix server, but always failed.  With your guide and steps, it is working finally on my ubuntu 12.04 server.   I hope that in future you will keep up your spirit and try to improve our knowledge.

Thanks a lots.




By: Jordan

Could I get a list of Ports that need to be opened for all the functions too work properly after installing everything from this tutorial?

By: Michael Bernardo

This is my most trusted how-to and have it bookmarked in my browser. Thanks for putting this up. It works all the time.

By: Ray Moncada

This tutorial is great. I use it for every version of lts out there. Thank you for taking the time to write it.

By: Pavel

AFTER 14 step:

E: Package 'apache2.2-common' has no installation candidate

E: Unable to locate package libapache2-mod-ruby


Please help