The Perfect Server - Ubuntu 11.10 [ISPConfig 3] - Page 2

21 Install ISPConfig 3

To install ISPConfig 3 from the latest released version, do this:

cd /tmp
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install/

The next step is to run

php -q install.php

This will start the ISPConfig 3 installer. The installer will configure all services like Postfix, SASL, Courier, etc. for you. A manual setup as required for ISPConfig 2 (perfect setup guides) is not necessary.

root@server1:/tmp/ispconfig3_install/install# php -q install.php

 _____ ___________   _____              __ _         ____
|_   _/  ___| ___ \ /  __ \            / _(_)       /__  \
  | | \ `--.| |_/ / | /  \/ ___  _ __ | |_ _  __ _    _/ /
  | |  `--. \  __/  | |    / _ \| '_ \|  _| |/ _` |  |_ |
 _| |_/\__/ / |     | \__/\ (_) | | | | | | | (_| | ___\ \
 \___/\____/\_|      \____/\___/|_| |_|_| |_|\__, | \____/
                                              __/ |

>> Initial configuration

Operating System: Debian or compatible, unknown version.

    Following will be a few questions for primary configuration so be careful.
    Default values are in [brackets] and can be accepted with <ENTER>.
    Tap in "quit" (without the quotes) to stop the installer.

Select language (en,de) [en]:
 <-- ENTER

Installation mode (standard,expert) [standard]: <-- ENTER

Full qualified hostname (FQDN) of the server, eg server1.domain.tld  []: <-- ENTER

MySQL server hostname [localhost]: <-- ENTER

MySQL root username [root]: <-- ENTER

MySQL root password []: <-- yourrootsqlpassword

MySQL database to create [dbispconfig]: <-- ENTER

MySQL charset [utf8]: <-- ENTER

Generating a 2048 bit RSA private key
writing new private key to 'smtpd.key'
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
Country Name (2 letter code) [AU]:
 <-- ENTER
State or Province Name (full name) [Some-State]: <-- ENTER
Locality Name (eg, city) []: <-- ENTER
Organization Name (eg, company) [Internet Widgits Pty Ltd]: <-- ENTER
Organizational Unit Name (eg, section) []: <-- ENTER
Common Name (eg, YOUR name) []: <-- ENTER
Email Address []: <-- ENTER
Configuring Jailkit
Configuring SASL
Configuring PAM
Configuring Courier
Configuring Spamassassin
Configuring Amavisd
Configuring Getmail
Configuring Pureftpd
Configuring BIND
Configuring Apache
Configuring Vlogger
Configuring Apps vhost
Configuring Firewall
Installing ISPConfig
ISPConfig Port [8080]:
 <-- ENTER

Configuring DBServer
Installing ISPConfig crontab
no crontab for root
no crontab for getmail
Restarting services ...
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql restart

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the stop(8) and then start(8) utilities,
e.g. stop mysql ; start mysql. The restart(8) utility is also available.
mysql stop/waiting
mysql start/running, process 2302
 * Stopping Postfix Mail Transport Agent postfix
 * Starting Postfix Mail Transport Agent postfix
 * Stopping SASL Authentication Daemon saslauthd
 * Starting SASL Authentication Daemon saslauthd
Stopping amavisd: amavisd-new.
Starting amavisd: amavisd-new.
 * Stopping ClamAV daemon clamd
 * Starting ClamAV daemon clamd
Bytecode: Security mode set to "TrustSigned".
 * Stopping Courier authentication services authdaemond
 * Starting Courier authentication services authdaemond
 * Stopping Courier IMAP server imapd
 * Starting Courier IMAP server imapd
 * Stopping Courier IMAP-SSL server imapd-ssl
 * Starting Courier IMAP-SSL server imapd-ssl
 * Stopping Courier POP3 server...
 * Starting Courier POP3 server...
 * Stopping Courier POP3-SSL server...
 * Starting Courier POP3-SSL server...
 * Restarting web server apache2
 ... waiting ....   ...done.
Restarting ftp server: Running: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -8 UTF-8 -O clf:/var/log/pure-ftpd/transfer.log -D -H -b -A -E -u 1000 -Y 1 -B
Installation completed.

The installer automatically configures all underlying services, so no manual configuration is needed.

Afterwards you can access ISPConfig 3 under or Log in with the username admin and the password admin (you should change the default password after your first login):

The system is now ready to be used.



22 Additional Notes

22.1 OpenVZ

If the Ubuntu server that you've just set up in this tutorial is an OpenVZ container (virtual machine), you should do this on the host system (I'm assuming that the ID of the OpenVZ container is 101 - replace it with the correct VPSID on your system):

  vzctl set $VPSID --capability ${CAP}:on --save


23 Links

Share this page:

21 Comment(s)

Add comment


From: Anonymous at: 2011-10-20 15:55:12

From "man hostname":

 /etc/hostname This file should only contain the hostname and not the full FQDN.

 /etc/hostname This file should only contain the hostname and not the full FQDN.


 you mislead people when you say to use:
 echo > /etc/hostname

From: Anonymous at: 2011-11-02 11:12:55

When accusing someone of 'misleading' people, explain why the hostname must not contain the full FQDN.

From: Anonymous at: 2011-11-18 12:07:11

It's not prohibited, just "not recommended".

Usually, you should not question such a "recommendation", some background services might rely on this.

 Just my 2 cts

From: norby at: 2012-07-08 20:19:53

After a long winding road, finally something that actually works!!!!

So many HowTo's and none, except this one, worked for me.

Thanks folks!!!!!

I tried to install this one on a Ubuntu 12.04LTS 64 Bit, wich absolutely didn't work for me.

A big THANK YOU to all that are involved


From: Eiside at: 2012-02-21 19:59:36

How can I configure ipsconfig and the server if I want the websites directory on a diferent harddrive.please help me . I just think about it as a security masure

From: at: 2011-10-16 13:08:40

Going through this I get a comment like the following when I run a script in /etc/init.d

 Rather than invoking init scripts through /etc/init.d, use the service(8)

utility, e.g. service mysql restart

Since the script you are attempting to invoke has been converted to an

Upstart job, you may also use the stop(8) and then start(8) utilities,

e.g. stop mysql ; start mysql. The restart(8) utility is also available.

mysql stop/waiting

From: at: 2011-10-27 21:09:02

At step 18 to avoid errors compiling jailkit install binutils-gold.

apt-get install build-essential autoconf automake1.9 libtool flex bison debhelper binutils-gold


From: at: 2011-10-31 15:20:57

solution for jailkit and for sasl auth

 1. jailkit

make distclean

 change all -lpthread to  -pthread in configure, src/



make clean

./debian/rules binary


2. sasl auth - problem with "fatal: no SASL authentication mechanisms"

remove or comment two lines in

# smtpd_sasl_type = dovecot
# smtpd_sasl_path = private/auth

Please, check if it works. For me works.

From: Abhijit at: 2012-02-03 14:01:28

The user quota setup  as described here does not work. When I try the following command

quotaon -avug

it fail complaining that the quota file not found. I tried creating the quota.user and aquota.user in the root dir to satisfy the command without much success.


From: Anonymous at: 2012-02-07 20:54:37

I had the same problem, the errors were referencing inability to find /dev/root. After searching around, I found this page which describes adding a symlink as follows:

 ln -s /dev/xvda /dev/root

Once I did that, the instructions here for quotas worked as expected. However, as noted on that page, the symlink goes away on reboot, so I just added that command to /etc/rc.local and it runs whenever the system reboots and everything works fine.

From: Fleck at: 2012-02-08 13:31:28

if you get SASL LOGIN authentication failed: no mechanism available - DO NOT DOWNGRADE PACKAGES, you just need to update config files:

 in /etc/default/saslauthd check those params:
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"

notice that -r at the end, must have that, or login will not work using email as username!

 in /etc/postfix/sasl/smtpd.conf you need to change few lines and add one:
pwcheck_method: saslauthd
mech_list: plain login pam
allow_plaintext: true
auxprop_plugin: sql
sql_engine: mysql
sql_user: ispconfig
sql_passwd: <removed>
sql_database: dbispconfig
sql_select: select password from mail_user where login = '%u' or login = '%u@%r'  this will allow to use smtp using custom login names (ISPConfig -> System -> Interface Config -> Mail -> checked "Allow custom login name"(using this mode you can't leave blank custom login name blank - looks like ISPConfig bug, but then simply, if you don't whant to use custom login name - enter email address one more time!))

if you don't want to use custom login names - you can use this line:
sql_select: select password from mail_user where login = '%u@%r'

From: Anonymous at: 2013-04-22 08:54:11

this link is not working anymore


From: cg at: 2014-03-21 00:05:09

Thxal for that help man!

 I remembered the change of "auxprop_plugin: mysql" to sql only, with the extra parameter "sql_engine"...

The final crack was to to change:

 sql_select: select password from mail_user where login = '%u@'

as it was in my old config files from squeeze to

sql_select: select password from mail_user where login = '%u@%r'.

I updated ISPConfig and Squeeze several times and it worked until the upgrade to wheezy. Whyever it did not happen before. But I can send mails again, so everything is fine - for now.

Again: Thx!

From: boneg at: 2011-10-28 19:42:40

Great tutorial! Today I reconfigured my server with this manual, add some cache modules and now I have great machine with good perfomance.

From: Adaz at: 2012-03-06 00:38:12

Thank you for this great tutorial!! Everything worked as you said! So many steps, but it worths it.Thank you for the minutiae, you wasn't lazy!

From: Anonymous at: 2012-04-05 04:35:30

Thanks for a great tutorial. Clear and exact. I followed all the steps in this complex setup and have to say it all worked out to my surprise.

From: Anonymous at: 2012-04-06 21:04:06

Danke ! Funktioniert perfekt. Die Beschreibung ist hervorragend !

From: ranggadablues at: 2012-04-09 09:08:08

this is great tutorial, but only one problem I've got

I can't login to squirrelmail, as default user and password

please help me

thank you

From: Travis at: 2012-04-29 18:57:49

I'm a PHP & Java developer, and wanted to get a webserver up to serve as my online resume. I tried and tried on my own to get a server up w/ working email and no problems, and just had no luck. UNIX and email client configurations are not my strong point I fear. Using your guide, I was able to get a working server up in just a few hours ON MY FIRST TRY! Also, I used this guide for 12.4, and confirmed it works.

Thank you kind sir for your excellent guide!

From: Anonymous at: 2012-05-25 23:22:59

I have the exact same problem.  Before I install ISPconfig3, squirrelmail worked fine.  However it stopped working and give me the error unknow user name and password.  Did you ever get yours sorted out?

From: Anonymous at: 2012-06-21 05:26:18

thanks a lot. but email interface is not running at ispconfig. then i can't add email domain, emailbox etc...

I tried "The Perfect Server - Ubuntu 12.04 LTS (Apache2, BIND, Dovecot, ISPConfig 3) ".

But result is same.  What is wrong? What should i do? Please help.


Thank you.