There is a new revision of this tutorial available for Ubuntu 16.04 (Xenial Xerus).

ISPConfig 3: Automated installation on Debian

This tutorial exists for these OS versions

On this page

As you might know, ISPConfig is one of the best free open source hosting control panels available to manage Linux hosting servers in single and multi-server environments.

Today you will see how to deploy and install this amazing control panel with ispconfig_setup script. This script is available for free on GitHub at https://github.com/servisys/ispconfig_setup, developed and maintained free from Servisys with the help of the community.

Prerequisites

There are some prerequisites needed to use this script:

  • The script for now works only on Debian 7 and Debian 8, and some software (like RoundCube) will not be installed on Debian 8 due to stop of support of Debian Community.
  • The installation works only on a fresh install server, so if you already had installed something (Apache, MySql or something else needed by ISPConfig) the install script may not work, or cause strange things.

Download and preparation

Now we download and decompress the files needed for the installation, to do so we execute the following commands as root user:

apt-get update && apt-get upgrade
apt-get install unzip
cd /tmp
wget --no-check-certificate https://github.com/servisys/ispconfig_setup/archive/master.zip
unzip master.zip

Now you had a folder called ispconfig_setup-master in your /tmp directory.

ISPConfig 3 Installation

Now it's time to install our ISPConfig control panel with the autoinstall script. The script has two install modes: the standard mode and the expert mode.

The two modes are similar, the main difference is that in standard mode the ISPConfig installation is completely unattended, with the expert mode you can configure your ISPConfig for special environments like multiserver setup, mirror or to select only some services to be configured.

In the standard setup the following components will be installed:

  • Web Server (Apache or Nginx)
  • FTP server (with pureftpd)
  • DNS Server (bind9)
  • MySQL server as database server
  • Awstats for statistics purpose
  • IMAP and POP3 (with courier or dovecot)
  • webmail (with RoundCube or squirellmail)
  • ... and obviously ISPConfig

Let's start with common commands for both modes, then we follow the install process from both modes.

So let's launch some commands from the shell to start the install process:

cd ispconfig_setup-master/
./install.sh

Now the install process begin, we can see now the following output

=========================================
ISPConfig 3 System installer
=========================================

This script will do a nearly unattended intallation of
all software needed to run ISPConfig 3.
When this script starts running, it'll keep going all the way
So before you continue, please make sure the following checklist is ok:

- This is a clean / standard debian installation
- Internet connection is working properly


The detected Linux Distribution is: Debian GNU/Linux 8 (jessie)

Is this correct? (y/n)

At this point, the installation process checks your distribution to detect if the installed OS is compatible with the script, in my case it will detect Debian 8 Jessie.

If it's correct for you press 'y', and now you'll be asked some question before the automated install process will start. If you don't know the answer to a question then choose the default by just hitting enter.

  • You will be asked for MySql password
  • Next you had to choose between Apache and Nginx
  • Next you will be asked for Xcache (compression system for PHP)
  • Next you will be asked for PHPMyAdmin installation
  • Next you had to choose between mail server type dovecot or courier
  • Next you had to choose to update virus definition (recommend to say yes)
  • Next you had to choose to enable or not quota (recommend to say yes)
  • The last thing at this chapter is standard o expert mode installation

Standard mode

So we choose standard mode installation, the fastest and most easy way to install ISPConfig in a single server setup with all feature enabled.

In case that you don't know what to respond to a question, simply hit enter, the defaults are good in most cases.

  • Next you have to choose to install Jailkit (attention Jailkit as normal installation, could only be installed now)
  • Next you have to choose if enable or not DKIM (recommended to say no, because not supported natively in ISPConfig yet, Dkim will be part of the next ISPConfig release)
  • Next you have to choose between Roundcube and Squirellmail (Note: in Debian 8 this option is not available as there is no RoundCube package for Debian 8 yet and Squirellmail will be the default)
  • Next you'll be asked for SSL Configuration: Country, STATE, Locality, Organization, Organization Unit

Now you can go to take a coffee and relax, waiting for the install process to finish.

When everything is installed you can see something similar on the console:

Checking internet connection... OK

Installing pre-required packages
Updating apt and upgrading currently installed packages... [DONE]

Installing basic packages...
Reconfigure dash... [DONE]

Checking and disabling Sendmail...
Installing Postfix... [DONE]

Installing MySQL... [DONE]

Installing Dovecot... [DONE]

Installing Anti-Virus utilities... (This take some time. Don't abort it ...) Stopping Spamassassin ... [DONE]

Disable Spamassassin ... [DONE]

Updating ClamAV. Please Wait ... ERROR: /var/log/clamav/freshclam.log is locked by another process
Restarting ClamAV... [DONE]

Installing Apache and Modules... [DONE]

Installing PHP and Modules... [DONE]

Installing needed Programs for PHP and Apache... [DONE]

===========================================================================================
Attention: When asked 'Configure database for phpmyadmin with dbconfig-common?' select 'NO'
Due to a bug in dbconfig-common, this can't be automated.
===========================================================================================
Press ENTER to continue...

Due to a bug in dbconfig-common we can't automate PHPMyAdmin installation for now, so hit 'enter' and on the next question select 'NO' (attention because the default is 'YES').

If you have selected RoundCube (available on Debian 7 only), you should see those lines:

If you heaven't done yet add roundcube remtoe user in ISPConfig, with the following permission: Server functions - Client functions - Mail user functions - Mail alias functions - Mail spamfilter user functions - Mail spamfilter policy functions - Mail fetchmail functions - Mail spamfilter whitelist functions - Mail spamfilter blacklist functions - Mail user filter functions

The final thing to do is to add a RoundCube remote user to ISPConfig control panel, to do so follow these steps:

Connect to ISPConfig: https://YOURIP:8080, go to System > User Management > Remote Users and click on the Add new user button:

Provide a username and password for the user...

... and enable the following functions:

  • Server functions
  • Client functions
  • Mail user functions
  • Mail alias functions
  • Mail spamfilter user functions
  • Mail spamfilter policy functions
  • Mail fetchmail functions
  • Mail spamfilter whitelist functions
  • Mail spamfilter blacklist functions
  • Mail user filter functions

Then click on Save.

 

Then edit the file /var/lib/roundcube/plugins/ispconfig3_account/config/config.inc.php and set the user and password you inserted in ispconfig. See the following example:

<!--?php 
$rcmail_config['identity_limit'] = false;
$rcmail_config['remote_soap_user'] = 'roundcube';
$rcmail_config['remote_soap_pass'] = 'password';
$rcmail_config['soap_url'] = 'http://192.177.167.44:8080/remote/';
?-->

In my case, I've used "roundcube" as username and "password" for the password (please don't use this password in a production environment for obviously security reasons).

Expert mode

The only difference with the standard mode is the ISPconfig installation script, that is not automated yet and has to be run manually. As mentioned before this is necessary for multiserver setups, single server setups that run just some services and cluster setups.

For detailed installation process of ISPConfig, you can refer to the following article https://www.howtoforge.com/tutorial/perfect-server-debian-8-jessie-apache-bind-dovecot-ispconfig-3/3/

Final consideration

After everything is installed, you can check for errors or strange things with the command

cat /var/log/ispconfig_setup.log

As the script is in costant development any help or suggestion will be appreciated, you can follow us on GitHub at the url https://github.com/servisys/ispconfig_setup, or contact us on ISPconfig forum.

.

Share this page:

55 Comment(s)

Add comment

Comments

From: NeonTigerUK

a version that will run on Centos would be fantastic!

From: NginxHolic

This is a recommended auto installation script released by Diablo666.

Really stable and easy to use. I've been using it for my production server.

From: diablo666

Thank you NginxHolic! :)

From: Virtual

I've tried, and tried, and tried several times and I can't get the duo "ISPConfig3 - Apache2" to work properly. Any new domain I add it creates mydomain.vhost.err in sites available. Then I have to delete mydomain.vhost with text about the error inside, change name of the .err file to mydomain.vhost and restart apache. Only after that the website starts to work.

From: till

A .err file gets created when apache cant load a vhost file. Which text did you delete in the mydomain.vhost file befor it starts working? The lines that you delete indicate which required apache module is missing or inactive on your setup.

From: Virtual

I didn't delete any text. What I meant was that after adding a website two files are being created: mydomain.vhost (with "# Apache did not start after modifying this vhost file..." text) and mydomain.vhost.err. I haven't modyfied mydomain.vhost.err. I only changed it's name to mydomain.vhost and restarted apache, and it worked as it should. That is why I don't know where is the error.

From: okoolarnik

I have just finished installing The Perfect Server Manually from https://www.howtoforge.com/perfect-server-debian-wheezy-apache2-bind-dovecot-ispconfig-3-p3. I have been using Debian 7 minimal system on my VPS in this case and in case of an attempt to use autoinstaller script. Manual Installation succeeded. After another attemt to use autoinstaller script the final was the same as above (.err vhost file, that after renaming to .vhost made website working).

From: keevens

Some one can help me??

After installation i don't have my login and password

It dont run

where i can find it

i dont understand

From: till

Username: admin, Password: admin

From: Mr SA

Hi good day,

How can I fix under Debian 8 the dbconfig-common problem ?

Is coming in the near future a newer script out where this problem is sorted? 

With SQL or MariaDB I have the problem Installation don't finish User password wrong to connect with database...

 

From: till

That's an issue in Debian, not the install script. I don't know when and if Debian will fix that at all. But there is no problem, just follow the instructions of the script and choose "no". You can configure dbconfig common when the script is finished by running:

 

dpkg-reconfigure phpmyadmin

From: Eric Brongers

Do'nt forget

You need to run systemd else you get errors restarting services by ISPConfig.

 

Check this howto: https://wiki.debian.org/systemd

From: chris

hi, when I type this command:

wget https://github.com/servisys/ispconfig_setup/archive/master.zip

 

it says:

Erreur : le certificat de « github.com » n'est pas de confiance.

 

Erreur : le certificat de « github.com » n'est pas d'un émetteur connu.

 

a idea for this problem? installed on fresh version debian 8.1

thank you

From: till

This means that Debian does not trust the ssl cert from github. Use this wget command instead:

wget --no-check-certificate https://github.com/servisys/ispconfig_setup/archive/master.zip

From: chris

this commnand don't work, thx

From: till

Works fine here, just used it today to download and run the script. See output below.

 

wget --no-check-certificate https://github.com/servisys/ispconfig_setup/archive/master.zip

--2015-08-25 22:21:18--  https://github.com/servisys/ispconfig_setup/archive/master.zip

Resolving github.com (github.com)... 192.30.252.131

Connecting to github.com (github.com)|192.30.252.131|:443... connected.

WARNING: The certificate of `github.com' is not trusted.

WARNING: The certificate of `github.com' hasn't got a known issuer.

HTTP request sent, awaiting response... 302 Found

Location: https://codeload.github.com/servisys/ispconfig_setup/zip/master [following]

--2015-08-25 22:21:18--  https://codeload.github.com/servisys/ispconfig_setup/zip/master

Resolving codeload.github.com (codeload.github.com)... 192.30.252.147

Connecting to codeload.github.com (codeload.github.com)|192.30.252.147|:443... connected.

WARNING: The certificate of `codeload.github.com' is not trusted.

WARNING: The certificate of `codeload.github.com' hasn't got a known issuer.

HTTP request sent, awaiting response... 200 OK

Length: unspecified [application/zip]

Saving to: `master.zip'

 

    [ <=>                                                                                                                                                        ] 58,457       290K/s   in 0.2s

 

2015-08-25 22:21:19 (290 KB/s) - `master.zip' saved [58457]

From: Salvofan

Hey guys,

Any idea if that works also on ubuntu 14.04LTS? I've tried to use it straight away but I get an error immediately because the installer looks in the /ubuntu14.04 folder which doesn't exist.

However I renamed the debian8 folder with ubuntu14.04 and it is now installling...not sure thought if everything will be installed properly.

Do you know if I should use a different script?

From: newmember

thanks that was a big help to change the debian8 folder name.

big thanks

 

From: diablo666

 Centos 7 version released.

Read the README file before start using.

Any help will be appreciated :)

From: sting

The install script gets stck on "Installing Bind9..." to me. Has anything changed or something because it looks there is no such experience so far?.. I am using standard clean Debian8 VPS configuration (OVH). Please, advise.

From: Hamza

Same probleme here

From: vinc

... RoundCube (available on Debian 7 only), you should see ...

is it now working for Debian 8?

From: till

There is no roundcube debian package for Debian 8 anymore and therefor the script can not install it.

From: mattheoh

This tuto is totally awesome ! You made my day... and my life a little bit easier ;-)

Thanks a lot.

From: Someone

Hi, this not works on a freshly installed Debian 8 64bit server from Leaseweb Choosed nginx and mariaDB.

From: M ebarahar

"Username: admin, Password: admin".  You should put this in the tutorial, shouldn't have to read all the comments to find.

When I went to ipaddress : 8080  was not given any opportunity to enter a username or password,  only the login screen

From: Nico

Hello,

Very good initiative this installer ! I used it on Debian 8.2, it works perfectly !

I am looking for an equivalent "HOWTO" to set up:

- Automatic security update (unnattented-updates) on this server

- Automatic backup of websites (FTP + mysql)

Thanks for your advice !

From: Bladimir

Buen día, esta muy bueno el tema aunque yo llegue ha realizar todo bien, pero no se porque no me crea un dominio tengo como vserver debían.local será por eso

From: Grep-Zen

My install has remained on "Installing bae\sic packages..." for +12 hours.

WTF?

From: Al

I began with a minimal install of Debian Wheezy.

Seemed to be going ok until it reached "Installing Basic Packages..."

It hung there for 20 hours!

Is there something I failed to install first?

From: Waqas

Hi,

I have installed on Ubuntu 14.04.LTS.  I renamed the debian8 folder with ubuntu14.04 and it starts installling without any error.   After complete installation when i open the webpage thorugh https://x.x.x.x:8080 . It dont show any login page. :-(   Instead it shows directory Index.  Please help to fix it

Index of /

From: till

The automated install script is not made for Ubuntu 14.04 and the commands on Ubuntu 14.04 are not the same then the ones for debian 8. The script will not show errors even if it fails to install packages, so its nit unusual that you did not see any errors.

 

Please use the installation instructions for Ubuntu 14.04 to install ISPConfig on your server (or use the above script but change the server os to debian 8 first).

 

Ubuntu 14.04 installation instructions:

Apache: https://www.howtoforge.com/perfect-server-ubuntu-14.04-apache2-php-mysql-pureftpd-bind-dovecot-ispconfig-3

Nginx: https://www.howtoforge.com/the-perfect-server-ubuntu-14.04-nginx-bind-mysql-php-postfix-dovecot-and-ispconfig3

 

From: Waqas

Ok now I am installing on Debian GNU/Linux 8 (jessie).  And It is stuck on Installing MySQL...  for last one hour :-(

Is there something I need to install first?

 

From: till

> Is there something I need to install first?

No. The installation may take some time as it downloads and installs a lot of packages. If you would have used the manual installation procedure (perfect server guide), then you would know in details hat happens in each step.

From: Atreides

Hi Till,

I've followed the instructions (setting NO at DKIM as suggested) and everything went fine, but I don't get any e-amail.

I've created a forwarder e-mail and I don't get them.I've also tried to create a mail hosted in the webserver but since squirrelmail and roundcube has not been installed (since I selected not at DKIM) then I can't verify.

DNS are set fine. A record point to the IP with the hostname "mail", and the MX record has been set with "mail" and 10 priority.

Still, I don't get the email. I'm in a fresh installation of Debian 8 64 bit. Do you have any clue of what can be the issue?

Many thanks for the support. It's very appreciated! 

From: LAKSHA

ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).

sed: can't read /etc/inetd.conf: No such file or directory

From: Aitor

just amazing! Thanks

From: Kenneth Melvej

Just a side note...

If you like I, install in a virtual enviroment that only allows coomunication on TCP and UDP, then the installer will fail the connectivity test, since PING isent allowed its not TCP or UDP but ICMP. And the installer will fail.

To fix this go to the folder you just unzipped, go further in to the "distros" folder, chmod write allowance on the file of your distro, and simply remove the connectivity part of the script. Its in the top. Or change it to make a nc check etc... nc -vz www.howtoforge.com 80

Save and run the installer again.

From: Kenneth Melvej

Just a side note...

If you like I, install in a virtual enviroment that only allows coomunication on TCP and UDP, then the installer will fail the connectivity test, since PING isent allowed its not TCP or UDP but ICMP. And the installer will fail.

To fix this go to the folder you just unzipped, go further in to the "distros" folder, chmod write allowance on the file of your distro, and simply remove the connectivity part of the script. Its in the top. Or change it to make a nc check etc... nc -vz www.howtoforge.com 80

Save and run the installer again.

From: Dennis

the installer stops at install of Bind9, after waiting half an hour and pressing ENTER it goes on!

check this please

From: CHEN

Hi, tried to run that script twice on Debian Jessie on a working laptop. It stops before end and leaves the system in broken state where initramfs-tools, udev, xserver.xorg, kde-standard and others necessary packages are uninstalled.

From: till

This script is for servers only. It requires a Debian minimal installation with just running SSH service as basis. If you want to run ISPConfig on your desktop, then better create a virtual machine with VirtualBox or KVM that contains a minimal Debian 8 system and then run the install script in that vm.

From: Luca

Hm, for some reason i'm getting the Apache 2 Testpage on port 8080 after installation. I tried installation on a VPS (JiffyBox) several times and also tried several things from manual Tutorial like adding correct hostname to /etc/hosts. Still no luck. vhost seems to be fine. It points to the correct folder. 

From: webmaster

Love this script used it 7 times on 7 production servers , this is to easy , installed rouncube and apache2 as choice no errors no nothing , worked right out of the box (afther adding the remote user) Thanx for the writer of it , this saves so much time

From: Raj

 i installed Nginx but on domain default page it show apache2 dfault page, how to remove appache completly, i only use Nginx

From: till

That's ok, it does not mean that apache is used. It's just an HTML page.

From: Tommy

I got stuck at Bind too, fresh Debian 8 vps.

not too sure what is going on here,can anyone explain?

From: Pavel Alonso

Hello

 

I'm having problems with script, all goes ok just for this message:

sed: can't read /etc/php5/apache2/php.ini: No such file or directory

and the fact i cant have access to ISPConfig portal when go to https://ip.ip.ip.ip:8080/ there i just found default apache page :/

Apache2 Debian Default Page

Any idea about it ? Using debian Jessie 8

 

Thank you so much

 

Thank you for your help

 

From: Michael K

I got a fresh droplet on DigitalOcean and ran this auto installer.

I added a website in ISPConfig, then added a domain in the email section, then added a mailbox, and lastly added a catchall for the whole domain.

I was not able to send or recieve emails at all. I have had to add MX records to the DNS in DigitalOcean:

MX 1 mydomain.com. MX 5 mydomain.com. MX 10 mydomain.com. MX 1 mail.mydomain.com. MX 5 mail.mydomain.com. MX 10 mail.mydomain.com.

I checked in the logs and seen the following: 

syslog: "Invalid settings: postmaster_address setting not given"

I had to add "postmaster_address=postmaster at DOMAIN" to /etc/dovecot/dovecot.conf (without the double quotes\"\)

I then restarted the following: 

 service amavisd-new restart service postfix restart service dovecot restart

 

From: Pipo

dont know what this is all about

But when i read all these comments i dont want to install it anymore.

BUT IGNORE ALL THESE COMMENTS JUST FOLLOW INSTRUCTIONS AND IT WORKS 110% (DEBIAN JESSIE)

Dont know about the pannel but i think it should do the trick for most of us.

Thanks Till and all contributors.

From: mike

i`m missing fail2ban .. is it not included ?

From: diablo666

Sure is included.

From: Hans

Is this script working for ispconfig 3.1 ?

From: diablo666

Hi Hans, yes it works.

From: Mauro

Installed ispconfig with automatic installer, everything working properly, but roundcube does not send or receive emails, read in a comment that roundcube not working on debian 8, someone can confirm this, or have any solution to the problem, I made all settings as instructed on the site instação manual.

Thanks for any help if possible.