The Perfect Server - CentOS 6.4 x86_64 (Apache2, Dovecot, ISPConfig 3)

Want to support HowtoForge? Become a subscriber!
Submitted by falko (Contact Author) (Forums) on Thu, 2013-03-14 18:33. :: CentOS | ISPConfig | Web Server | Apache | Control Panels

The Perfect Server - CentOS 6.4 x86_64 (Apache2, Dovecot, ISPConfig 3)

Version 1.0
Author: Falko Timme <ft [at] falkotimme [dot] com>
Follow me on Twitter
Last edited 03/14/2013

This tutorial shows how to prepare a CentOS 6.4 x86_64 server 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 web server, Postfix mail server, MySQL, BIND nameserver, PureFTPd, SpamAssassin, ClamAV, Mailman, and many more. Since version 3.0.4, ISPConfig comes with full support for the nginx web server in addition to Apache; this tutorial covers the setup of a server that uses Apache, not nginx.

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 Install The Base System

Boot from your first CentOS 6.4 DVD (DVD 1). Select Install or upgrade an existing system:

It can take a long time to test the installation media so we skip this test here:

The welcome screen of the CentOS installer appears. Click on Next:

Choose your language next:

Select your keyboard layout:

I assume that you use a locally attached hard drive, so you should select Basic Storage Devices here:

You might see the following warning - Error processing drive. If you see this click on the Re-initialize all button to proceed:

Fill in the hostname of the server (e.g., then click on the Configure Network button:

Go to the Wired tab, select the network interface (probably eth0) and click on Edit...:

Mark the Connect automatically checkbox and go to the IPv4 Settings tab and select Manual in the Method drop-down menu. Fill in one, two, or three nameservers (separated by comma) in the DNS servers field (e.g.,, then click on the Add button next to the Addresses area:

Now give your network card a static IP address and netmask (in this tutorial I'm using the IP address and netmask for demonstration purposes; if you are not sure about the right values, might help you). Also fill in your gateway (e.g. and click on the Apply... button:

The network configuration is now finished. Click on the Next button:

Please do not use the comment function to ask for help! If you need help, please use our forum.
Comments will be published after administrator approval.
Submitted by ShadoweElf (registered user) on Thu, 2014-03-06 20:40.

I have installed this tutorial with Centos 6.5!

 One problem: You must uninstall eaccelerator... or delete file eaccelerator.ini from /etc/php.d becaouse it will not work with fasctgi (for Ispconfig)

few hours to discover the problem....




Submitted by teraxit (registered user) on Fri, 2013-11-22 03:08.

Here is the guide on how to make this setup to serve ASP.NET pages.

Kind regards,
Submitted by Brett (not registered) on Mon, 2013-07-08 10:23.

I spent an afternoon following the guide to the letter, after trying previously, and ended up with a partially working server. Second time round, I realised the problem wasn't me.

Once you get to the end, exhausted and excited... go back and read the comments to figure out issues with Dovecot setup, Postfix setup, Pro-FTP, SSL certificates to name a few. If you're here like I was (because you NEED a guide for this stuff) consider yourself warned.

A sincere thanks to the Falko who put this guide together. Please work out the niggling bugs and it'll be worthy of the title 'Perfect Server'. Some of them are just a copy and paste from the comments into the guide so that they're not missed.