Multiserver Setup With Dedicated Web, Email, DNS & MySQL Database Servers On Debian Squeeze With ISPConfig 3 - Page 5

4 Installing The MySQL Database Server

Edit the hosts file and add the IP addresses and hostnames for all servers. The hostnames and IP addresses have to be adjusted to match your setup.

vi /etc/hosts       localhost   web.example.tld   mail.example.tld   db.example.tld   ns1.example.tld   ns2.example.tld
# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Set the hostname of the server:

echo db.example.tld > /etc/hostname
/etc/init.d/ start


apt-get update

... to update the apt package database; then run...

apt-get upgrade

... to install the latest updates (if there are any).

It is a good idea to synchronize the system clock with an NTP (network time protocol) server over the Internet. Simply run...

apt-get -y install ntp ntpdate

... and your system time will always be in sync.

Install MySQL client and server:

apt-get -y install mysql-client mysql-server

Enter the new password for MySQL when requested by the installer.

We want MySQL to listen on all interfaces, not just localhost, therefore we edit /etc/mysql/my.cnf and comment out the line bind-address =

vi /etc/mysql/my.cnf


# Instead of skip-networking the default is now to listen only on  
# localhost which is more compatible and is not less secure.  
#bind-address           =  


Then restart MySQL:

/etc/init.d/mysql restart

Then install install the commandline version of PHP to be able to run PHP-based shell scripts for ISPConfig:

apt-get -y install php5-cli php5-mysql php5-mcrypt mcrypt

Install fail2ban: This is optional but recommended, because the ISPConfig monitor tries to show the log:

apt-get install fail2ban

Next install ISPConfig 3 on this server. To get the download URL of the latest ISPConfig 3 stable release, please visit the ISPConfig website:

Download the latest ISPConfig 3 stable release:

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

Then start the install script:

php -q install.php

Select language (en,de) [en]: <-- en
Installation mode (standard,expert) [standard]: <-- expert
Full qualified hostname (FQDN) of the server, eg server1.domain.tld [db.example.tld]: <-- db.example.tld
MySQL server hostname [localhost]: <-- localhost
MySQL root username [root]: <-- root
MySQL root password []: <-- Enter your MySQL root password here
MySQL database to create [dbispconfig]: <-- dbispconfig
MySQL charset [utf8]: <-- utf8
Shall this server join an existing ISPConfig multiserver setup (y,n) [n]: <-- y
MySQL master server hostname []: <-- web.example.tld
MySQL master server root username [root]: <-- root
MySQL master server root password []: <-- Enter the root password of the master server here
MySQL master server database name [dbispconfig]: <-- dbispconfig
Configure Mail (y,n) [y]: <-- n
Configure Jailkit (y,n) [y]: <-- n
Configure FTP Server (y,n) [y]: <-- n
Configure DNS Server (y,n) [y]: <-- n
Configure Apache Server (y,n) [y]: <-- n
Configure Firewall Server (y,n) [y]: <--y
Install ISPConfig Web-Interface (y,n) [y]: <--n


rm -f /var/www/ispconfig

... to remove the ISPConfig interface link in the /var/www directory.

Clean up the install directories:

rm -rf /tmp/ispconfig3_install/install
rm -f /tmp/ISPConfig-3-stable.tar.gz

Share this page:

12 Comment(s)

Add comment


From: at: 2012-04-17 16:02:46

I've edited the sources.list but getting so many 'no candidate version found' and 'Couldn't find any package whose name or description matched'

I've been copying and pasting so spelling is definately correct.

 root@mail:~# apt-get -y install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp libopenssl-ruby libapache2-mod-ruby sudo zip wget

Reading package lists... Done

Building dependency tree

Reading state information... Done

Note, selecting 'libruby' instead of 'libopenssl-ruby'

Package mcrypt is not available, but is referred to by another package.

This may mean that the package is missing, has been obsoleted, or

is only available from another source

Package libapache2-mod-ruby is not available, but is referred to by another package.

This may mean that the package is missing, has been obsoleted, or

is only available from another source

E: Unable to locate package php-auth

E: Package 'mcrypt' has no installation candidate

E: Unable to locate package libapache2-mod-suphp

E: Package 'libapache2-mod-ruby' has no installation candidate


From: at: 2012-04-17 18:15:33

I've edited the sources.list but getting so many 'no candidate version found' and 'Couldn't find any package whose name or description matched'

I've been copying and pasting so spelling is definately correct.



From: at: 2014-03-13 14:48:25


 thank you for these excellent howto!

think you will do a refresh for debian wheezy? 


thank you!

From: Anonymous at: 2014-05-17 01:08:16

Any update on this question?

 Squeeze is about dead.....

From: at: 2014-11-05 18:21:45

Does this setup work behind a nat firewall?

From: admin at: 2014-11-06 07:24:54

Yes, this works behind a NAT Firewall as well.

From: at: 2013-01-26 19:48:01

Hello Till,

 I found this to be a very good how to guide for setting up a multi-server environment.  Most everything went well with the setup, but now I'm to the end and I am having difficulty in setting up DNS records for the servers.

 Website setups are not problem it's with the master servers.  Say my server names are (, (, (, and I also created a (

 Instead of accessing my web server like, I want to access it this way

 For the mail server, I would like to know how my users could access their webmail by

 I suppose that my system could access my database server via  How should I setup the DNS records to make this happen?

Last, I would like to be able to access my git server via SSH like  How would I setup this DNS record?

I have spent a significant amount of time reading many of the howto guides, and none that I have found make this clear...  I purchased and read the ISPConfig3 guide, and I'm still not clear on how to make this happen.

If you could please help answer these questions, I would appreciate it!



From: Anonymous at: 2013-02-06 16:00:28

create a Cname:

then a subdomain in ISPconfig.

to :


R flag 

same for mail..

 but remember to add the alias in the mail config.

From: Bart Dorlandt at: 2013-05-24 18:16:40

Hi Till,

 i was just installing this on a new server. 

It seems that dovecot-mysql is missing fram the package list on page 2. This is needed if you want to use dovecot to communicate with mysql. 

 Else these errors appear:

 dovecot: auth: Fatal: Unknown database driver 'mysql'


 Thanks. Cheers.

From: Mobarak at: 2014-01-10 10:40:41

Hi, I install web ,mail , Database and Ns1 , Ns2 . I Install Squirrelmail in the web server . And I add a domain but I can't receive any email . To sending a email getting error 

Server replied: 554 5.7.1 <>: Relay access denied . I modified in the mail host server postfix fiiles . 

#mydomain = domain.tld
mydomain =

#inet_interfaces = all
inet_interfaces = all

mynetworks_style = host

#relayhost = $mydomain
relayhost = $

Still getting the same error . Please let me know what shoud I do ?


From: Lindeni at: 2014-11-21 11:23:03

Hello. I have followed this tutorial, but with three servers. I was trying to consolidate some services. I have the - master as in tutorial, - database and NS1 host, and - email server and NS2. I tried to follow the tutorial as is also on the ISPConfig Manual, when it comes to the dbns1 and emailns2, its just that I have chosen to also configure DNS when running the ISPConfig installer.

Under system>server services I have the following selectios : web server, file server : db server,  dns server : mail server, dns server

Now everything seems to be running well, but maybe I am undermining the problem, when I create a new client, new website, add a email domain everything seems to be Ok, but when I add an actual Email Mailbox, the dropdown to choose a server is empty, and won't allow me to type anything, and if I proceed and save the mailbox, it allows me to.

 And then when I click on the Icon to go to the webmail, I get a page with the error below:

No E-Mail - Server found!

 What does this imply, what went wrong, why does it say no email server found?

Thank you for the great tutorial 

From: alan johnston at: 2015-01-03 10:16:48

the pages seem to be screwed up a little, it goes from page 1 wich is parts 1 & 2 then page 2 which is part 7 which is the ned configs