Setting up a Debian server

A practical example of setting up a Linux server

Bjørn Bille Højte


Table of Contents
1. Introduction
2. Basic Debian installation
2.1. Installation
2.2. Updating the system
2.3. Removing unwanted packages
2.4. Installing additional packages
3. Setting up a firewall
3.1. Installing Netfilter
3.2. Configuring a basic firewall
3.3. Starting the firewall at boot
3.4. Enabling IP forwarding
4. Administration tool (Webmin)
4.1. Installing Webmin
4.2. Stop listening
5. DNS server (Bind)
5.1. Installing Bind
5.2. Configuring DNS
5.2.1. Setting up resolvers
5.2.2. Add domain
5.2.3. Stop listening
5.3. Using the DNS server
6. Authentication using LDAP
6.1. Installing LDAP
6.2. Installing system packages for LDAP
6.3. Configuring system to use LDAP
6.4. Configuring LDAP
6.5. Testing LDAP
6.6. Populating the LDAP database
6.6.1. Getting the LDAP database ready
6.6.2. Adding groups
6.6.3. Adding users
6.6.4. Adding users to groups
6.6.5. LDAP user/group manipulation tools
7. Exchanging Exim with Postfix
7.1. Installing Postfix
7.2. Cleaning up after Exim
7.3. Using the maildir format
7.4. Opening the firewall
8. Spamassassin (Catching spam)
8.1. Installing Spamassassin
8.2. Using spamassassin in postfix
9. IMAP server
9.1. Installing courier-imapd
10. FTP server (ProFTPd)
10.1. Installing ProFTPd
10.2. Configuring ProFTPd
10.3. Opening the firewall
11. DHCP server
11.1. Installing DHCP
11.2. Configuring DHCP
12. NFS server
12.1. Installing NFS
12.2. Configuring NFS
12.3. Stop listening (sort of)
13. HTTP server (apache)
13.1. Installing apache
13.2. Configuring apache
13.3. Disabling perl
13.4. PHP safe mode
14. Database server (PostgreSQL)
14.1. Installing PostgreSQL
14.2. Configuring PostgreSQL
15. Database server (MySQL)
15.1. Installing MySQL
15.2. Configuring MySQL
16. Print server (LPD)
16.1. Installing lpd
16.2. Configuring lpd
17. Pine email client
17.1. Installing pine
17.2. Pine configuration
17.3. Pine passwordless login
18. Finishing touches
18.1. Security
18.2. Other stuff