The Perfect Server - Fedora 7
Version 1.0
Author: Falko Timme
This is a detailed description about how to set up a Fedora 7 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, Dovecot POP3/IMAP, Quota, Firewall, etc. This tutorial is written for the 32-bit version of Fedora 7, 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.4
- PHP 5.2.2
- Database Server: MySQL 5.0.37
- Mail Server: Postfix
- DNS Server: BIND9 (chrooted)
- FTP Server: proftpd
- POP3/IMAP server: Dovecot
- 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:
- Download the Fedora 7 DVD iso image from a mirror near you (the list of mirrors can be found here: http://mirrors.fedoraproject.org/publiclist/Fedora/7), e.g. ftp://arges.hrz.tu-chemnitz.de/pub/linux/fedora-enchilada/linux/releases/7/Fedora/i386/iso/F-7-i386-DVD.iso
- an internet connection...
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 7 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:
I'm installing Fedora 7 on a fresh system, so I answer Yes to the question Would you like to initialize this drive, erasing ALL DATA?
Next we do the partitioning. Select Remove linux partitions on selected drives and create default layout. This will give you a smalll /boot partition and a large / partition which is fine for our purposes:
We want to remove all Linux partitions (remember, this is a fresh system), so we answer Yes to the following question:
On to the network settings. The default setting here is to configure the network interfaces with DHCP, but we are installing a server, so static IP addresses are not a bad idea... Click on the Edit button at the top right:
In the window that pops up select Enable IPv4 support > Manual configuration and 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). Uncheck Enable IPv6 support:
Set the hostname manually, e.g. server1.example.com, and enter a gateway (e.g. 192.168.0.1) and two DNS servers (e.g. 213.191.92.84 and 145.253.2.75):