The Perfect Server - Ubuntu 13.04 (Apache2, BIND, Dovecot, ISPConfig 3) - Page 2

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

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:

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: Ajith at: 2013-11-12 08:28:03

Dear sir,

Thanks for the post it was very usefully, I have setup a mail server in Ubuntu 13.04 server as per your post. I have a setup the server as a local only. my domain is and users are able to send mails from to, my question is can we change the mail server

1. to receive mails form outside

2.create two user group and allow one group to send mails to only

From: sant3001 at: 2013-05-03 19:04:09

Thanks for this wonderful tutorial. I believe the only thing missing here is cURL for PHP. When you open ISPConfig and go to ASP Installer it tells you that you don't have the PHP cURL extension.

I fixed it using this command:

sudo apt-get install curl libcurl3 libcurl3-dev php5-curl

And then I just restarted apache:

service apache2 restart

From: SkiOne at: 2013-05-10 16:56:17

The FCGI wrapper being installed is not supported by default in ubuntu 13.04 and the syntax used by the conf file doesn't match. If you get a client denied by server configuration install this:

 apt-get install libapache2-mod-fcgid

And the restart apache

From: Anonymous at: 2013-05-11 19:30:37

Yes,  as mentioned prior, thanks for this very detailed and very complete tutorial (actually a tour-de-force) on installing the ISPConfig software.

Along the way, many questions were answered as to 'what was what'....

I ordered/downloaded the manual. 

I probably will not do anything that makes the server become a 'public' site (it's really a VM).

The most I might to is have the server join a Win2003 domain or create what appear to be virtual sites in the Apache server (almost sound like IIS' virtual sites).

Again, Many Thanks for doing this.  A real help!!



From: Anonymous at: 2013-06-30 05:10:28

I followed this guide to the letter, twice, as I've followed several of these guides for older versions of Ubuntu and also using Nginx. They never fully work out for me.

This time whenever I went to my site, either through my domain name or through its LAN IP, all that would ever come up was SquirrelMail, which wouldn't even let me log in this time. ISPConfig3 would never come up, either, and I was at least able to get that up and running through past versions of this guide, both with Apache and Nginx. PHPMyAdmin worked.

I always enjoy the learning experience, though, despite the disappointment.

From: Anonymous at: 2013-07-23 23:21:10

I got the same issue, by removing this part below on page 6, I was able to get ISPConfig working on https not http, but I'm not able to log in to SquirrelMail !!!

  DocumentRoot /usr/share/squirrelmail

From: Kenny at: 2013-09-22 20:16:02

Here is the output I got:

 ubuntu@ip-10-0-0-226:/tmp/ispconfig3_install/install$ sudo quotacheck -avugm

sudo: unable to resolve host ip-10-0-0-226

quotacheck: Scanning /dev/disk/by-label/cloudimg-rootfs [/] done

quotacheck: Checked 11946 directories and 151360 files

ubuntu@ip-10-0-0-226:/tmp/ispconfig3_install/install$ sudo quotaon -avug

sudo: unable to resolve host ip-10-0-0-226

quotaon: using // on /dev/disk/by-label/cloudimg-rootfs [/]: No such process

quotaon: Quota format not supported in kernel.

quotaon: using //quota.user on /dev/disk/by-label/cloudimg-rootfs [/]: No such process

quotaon: Quota format not supported in kernel.


Using Ubuntu 13.04 in Amazon EC2.  Worked fine in Debian Wheezy in EC2.  Do I need to do something with my fstab?  Debian takes up less space and uses less memory anyway, so I think I'm just going to use Debian.  I just wanted to try both.

From: at: 2014-01-07 04:28:48
From: Tweexter at: 2013-10-13 23:16:11

I seem to be stuck at in the SquirrelMail section regarding the additions to the squirrelmail.conf file.  

 Whenever i try to start apache2 I get an error "AddType requires at least two arguments, a mime type followed by one or more file extensions".  

To make sure I got it right I straight up copy and pasted the code from the guide to my Putty window and compared it visually.  


From: Tweexter at: 2013-10-14 17:35:32

Disregard, it was my own stupid mistake.  Somehow had the same AddType line at the top of the file, with no space before .php.  The entire line wasn't even supposed to be there, and I'm not even sure how it got there either.  Thanks for the great write up.  Can't wait to play with this a bit.  

From: at: 2013-10-22 14:37:19

There seems to be a typo in /etc/postfix/  If you edit this file you'll see the following on about line 60:

proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps

There is an extra word "limit" in "$virtual_mailbox_limit_maps".  Change this to "$virtual_mailbox_maps":

proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_maps

Then restart Postfix:

/etc/init.d/postfix restart