This is a "copy & paste" HowTo! The easiest way to follow this tutorial is to use a command line client/SSH client (like PuTTY for Windows) and simply copy and paste the commands (except where you have to provide own information like IP addresses, hostnames, passwords,...). This helps to avoid typos.

The Perfect Setup - SuSE 10.1 (32-bit)

Version 1.1
Author: Falko Timme

This is a detailed description about how to set up a SuSE 10.1 based server that offers all services needed by ISPs and hosters (web server (SSL-capable), mail server (with SMTP-AUTH and TLS!), DNS server, FTP server, MySQL server, POP3/IMAP, Quota, Firewall, etc.).

I will use the following software:

  • Web Server: Apache 2.2.0
  • Database Server: MySQL 5.0
  • Mail Server: Postfix
  • DNS Server: BIND9
  • FTP Server: proftpd (ISPConfig will not work with vsftpd on SUSE 10.1)
  • POP3/IMAP: I will use Maildir format and therefore install Courier-POP3/Courier-IMAP.
  • 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!


To install such a system you will need the following:

1 The Base System

Boot from your first SuSE 10.1-CD and select Installation from the boot screen:

Select your language:

Skip the media check by clicking on Next:

Accept the license agreement:

Select New installation:

Select your time zone next:

At the Desktop Selection screen, choose Other and click on Select...:

As we want to install a server, we do not need a desktop. Therefore we select Text Mode and click on OK and then on Next.

The Installation Settings screen lists the available installation settings. You can change each of its choices by navigating to the appropriate headline. First, I change the partitioning scheme by clicking on Partitioning and then on Create Custom Partition Setup and then on Next:

Select Custom Partitioning (for experts):

Now we create the partitions. I will use the following partition scheme:

/boot 100 MB
swap 500 MB
/ the rest of the hard disk

Creating a partition: Click on Create, select Primary Partition, select the format. I will use ext3 for all partitions (I want to install quota later on, and quota works best with ext3 - you might encounter problems with reiserFS!) except the swap partition, that is of type swap. Then select the mountpoint corresponding to the above partitioning scheme.

Your partition table should look now similar to this one here, depending on your hard disk size. Click on Finish to proceed to the next step.

Share this page:

4 Comment(s)

Add comment


From: Anonymous

is the same installation for the version ppc??

From: grommley

This step by step instruction is so easy that even I could make it work.  I have tried other how-tos in the past relating to Linux and have found that many of them assume that I know what I am doing at a command line interface.  While I have a lot of computer background, all of my experience is with Microsoft software.  This How-to is very well written, and I was able to set up and even use my server with no problems at all.  This is the first time I have ever had that happen in Linux. Once again, thank you for these well written instructions.

From: powderskier

Hi Falko,

 First off, you done an awesome job on the tutorial. You should really consider doing this professionally for Novell/Red Hat since their documentation is fairly atrocious when it comes to missing steps.

I want to ask how secure this setup is? Are people using this exact setup for production web servers? Is this meant only for testing environments? Could this be used for a company as an internal corporate web/intranet server provided its secure?

What else would you consider to be necessary for this server?

Thanks for your time in helping others,



A tip: the compile of the embedded PHP fails because it doesn't find the openssl libraries. In Opensuse x86_64, they reside in /usr/lib64, so the easy way to solve the problem is to create symlinks for the openssl libraries in /usr/lib. For example: ln -s /usr/lib64/ /usr/lib ln -s /usr/lib64/libssl.a /usr/lib ln -s /usr/lib64/ /usr/lib