The Perfect Server - Fedora 14 x86_64 [ISPConfig 2]

This is a detailed description about how to set up a Fedora 14 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 14, 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.16

PHP 5.3.3

Ruby

Python

Database Server: MySQL 5.1.51

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!

2 Preliminary Note

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

3 Install The Base System

Boot from your Fedora 14 DVD. Select Install a new system 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:

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

If you see the following message (Error processing drive: [...] This device may need to be reinitialized. REINITIALIZING WILL CAUSE ALL DATA TO BE LOST!), please click on Re-initialize:

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(s). This will give you a small /boot partition and a large / partition which is fine for our purposes:

As the last two repositories need an Internet connection, a new window pops up where you have to configure your network card. Select your network card and click on OK:

Go to the Wired tab, select the network interface and click on Edit...:

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. 145.253.2.75,8.8.8.8), 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 192.168.0.100 and netmask 255.255.255.0 for demonstration purposes; if you are not sure about the right values, http://www.subnetmask.info might help you). Also fill in your gateway (e.g. 192.168.0.1); check the Connect automatically box and then click on the Apply... button: