The Perfect Server - Ubuntu Lucid Lynx (Ubuntu 10.04) [ISPConfig 2] - Page 2

Enter the hostname. In this example, my system is called, so I enter server1:

Please check if the installer detected your time zone correctly. If so, select Yes, otherwise No:

Now you have to partition your hard disk. For simplicity's sake I select Guided - use entire disk and set up LVM - this will create one volume group with two logical volumes, one for the / file system and another one for swap (of course, the partitioning is totally up to you - if you know what you're doing, you can also set up your partitions manually).

Select the disk that you want to partition:

When you're asked Write the changes to disks and configure LVM?, select Yes:

If you have selected Guided - use entire disk and set up LVM, the partitioner will create one big volume group that uses all the disk space. You can now specify how much of that disk space should be used by the logical volumes for / and swap. It makes sense to leave some space unused so that you can later on expand your existing logical volumes or create new ones - this gives you more flexibility.

When you're finished, hit Yes when you're asked Write the changes to disks?:

Afterwards, your new partitions are being created and formatted:

Now the base system is being installed:

Create a user, for example the user Administrator with the user name administrator (don't use the user name admin as it is a reserved name on Ubuntu 10.04):

I don't need an encrypted private directory, so I choose No here:

Next the package manager apt gets configured. Leave the HTTP proxy line empty unless you're using a proxy server to connect to the Internet:

I'm a little bit old-fashioned and like to update my servers manually to have more control, therefore I select No automatic updates. Of course, it's up to you what you select here:

We need a DNS, mail, and LAMP server, but nevertheless I don't select any of them now because I like to have full control over what gets installed on my system. We will install the needed packages manually later on. The only item I select here is OpenSSH server so that I can immediately connect to the system with an SSH client such as PuTTY after the installation has finished:

The installation continues:

The GRUB boot loader gets installed:

Select Yes when you are asked Install the GRUB boot loader to the master boot record?:

The base system installation is now finished. Remove the installation CD from the CD drive and hit Continue to reboot the system:

On to the next step...

Share this page:

11 Comment(s)

Add comment


From: scristi at: 2010-04-30 13:31:08

do you have any idea how i could install php 5.2 instead of 5.3 (because some of the software i run doesn't work on php 5.3), i could probably compile it from source, but i'm afraid of the incompatibilities, so i would like to use the previous version of php, that karmic koala used, that is in the repositories

From: Taarik at: 2010-05-15 11:16:17

Hi, You can try the script posted at  The script works fine (I think)...the only problem is that PHP is not automatically added-back to Apache. When I do  ls /etc/apache2/mods-enabled/, PHP doesn't appear.

From: Anonymous at: 2010-05-21 17:23:49

The screenshots are fine, but can't you make them optional (you know, a button or something?) and put in a Table of Contents? It is hard to find the actual information I need without viewing all the fluff.

From: Anonymous at: 2011-07-18 20:23:53

Can we have a button that only shows screenshots?  It's hard to get to the good stuff without all that annoying text in the way.

From: Anonymous at: 2010-09-08 10:02:02

Thank you for taking the time to write this out!

From: Anonymous at: 2012-04-19 00:44:12

Thank you for the screenshots. And for the person whining about getting through the fluff, you should be thanking the person who took time out to post screenshots. If you disagree I would like to see you do a better job before being critical of someone else efforts.

From: Anonymous at: 2010-05-12 16:01:18

Just want to give you the right address to Putty:

(The www was missing).


From: at: 2010-07-15 12:24:21

sudo su - (su dash) assumes roots' homedir rather than the users'.

From: Heidi Munksgaard at: 2010-12-06 21:03:50

Hi Falko!

Have been struggeling with setting up my Ubuntu server untill I came across this fantastic tutorial.

Just wanted to point out a little typo in the line:

"openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt"

in the section for making TLS certificates. 

the " -in smtpd.csr -signkey smtpd.key -out smtpd.crt" part will give an error of:

"smtpd.csr; No such file or directory."

You need to change the name from "smtpd.csr" to "smtpd.crt" in the "-in smtpd.csr" part in order to avoid this error.


Heidi Munksgaard

From: DaGeek247 at: 2010-12-31 20:02:31

i love the tutorial, but i also now understand why programs like xampp  are out there. making your own server is tough.

I am wondering, is there like a shell script (for ubuntu users) that would do all this on its own? The user would have to watch the screen and whatnot, but it would help me alot. i frequently run into types and other problems.

From: Pete Gross at: 2010-05-26 00:25:02

After I did your howto  I tried to connect to https://localhost and got an error of " Error code: ssl_error_rx_record_too_long"


I figured the problem out, I just had to run: sudo a2ensite default-ssl 


I'd suggest adding this into your howto, so others don't have the same problem.


Thanks the howto was great!