The Perfect Server - Fedora 11 x86_64 [ISPConfig 2]

Version 1.0
Author: Falko Timme
Last edited 06/11/2009

This is a detailed description about how to set up a Fedora 11 server that offers all services needed by ISPs and hosters: Apache web server (SSL-capable) with PHP5/Ruby/Python, Postfix mail server with SMTP-AUTH and TLS, BIND DNS server, Proftpd FTP server, MySQL server, Dovecot POP3/IMAP, Quota, Firewall, etc. This tutorial is written for the 64-bit version of Fedora 11, but should apply to the 32-bit version with very little modifications as well. 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 will use the following software:

  • Web Server: Apache 2.2.11
  • PHP 5.2.9
  • Ruby
  • Python
  • Database Server: MySQL 5.1.32
  • Mail Server: Postfix
  • DNS Server: BIND9 (chrooted)
  • FTP Server: proftpd
  • POP3/IMAP server: Dovecot
  • Webalizer for web site statistics

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

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

Boot from your Fedora 11 DVD. 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 Fedora installer appears. Click on Next:

Choose your language next:

Select your keyboard layout:

If you see the following message (Error processing drive sda. Maybe it needs to be reinitialized. YOU WILL LOSE ALL DATA ON THIS DRIVE!), please click on Re-initialize drive:

Fill in the hostname of the server:

Choose your time zone:

Give root a password:

Next we do the partitioning. Select Replace existing Linux system. This will give you a small /boot partition and a large / partition which is fine for our purposes:

Select Write changes to disk:

The hard drive is being formatted:

Share this page:

5 Comment(s)

Add comment


From: stroem at: 2009-06-18 10:31:59

"but should apply to the 32-bit version with very little modifications as well"

Falko , please ,  which are modifications?

I am new in linux world!


From: at: 2009-09-19 19:33:03

Are we supposed to install a desktop environment like KDE or Gnome?

I am very new to linux and i am trying to learn as much as i can.

From: Anonymous at: 2009-08-09 16:24:21

You might want to explain where and why you are using that nameserver ip.


From: Thierry at: 2009-06-15 07:00:29


 Reading through this tutorial I find extremely worrying from a security standpoint the following lines:

 chmod 755 /var/named/
chmod 775 /var/named/chroot/
chmod 775 /var/named/chroot/var/
chmod 775 /var/named/chroot/var/named/
chmod 775 /var/named/chroot/var/run/
chmod 777 /var/named/chroot/var/run/named/

The last one especially. This is creating a wide hole in your system

From: DudeOfX at: 2009-11-29 14:01:08

 I'd like some elaboration on the issue Thierry brought up. I am following instructions like a drone cause I don't know much of the dynamics of how the DNS server works, but I don't understand why does the public need to go into those directories and specially why do they need write access to /var/named/chroot/var/run/named/