ISPConfig 3.1: Automated installation on Debian 9

This tutorial exists for these OS versions

On this page

  1. Download and preparation
  2. ISPConfig 3 Installation
  3. Standard mode

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 the 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

The script, for now, works only on the following distribution

  • Debian 9 Stretch
  • Debian 8 Jessie
  • Debian 7 Wheezy
  • Ubuntu 14.04 Trusty
  • Ubuntu 15.10 Willy
  • Ubuntu 16.04 Xenial Xerus
  • Ubuntu 18.04 Bionic Beaver
  • CentOS 7
  • Raspbian

and uses the script of ISPConfig 3.x.

For each of the mentioned distribution, the server must be prepared following the Perfect Minimal Setup guide for each distro which can be found on HowtoForge.

In this guide we'll install on Debian 9, so please before we start, prepare the server following https://www.howtoforge.com/tutorial/debian-minimal-server/.

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:

cd /tmp; wget --no-check-certificate -O installer.tgz "https://github.com/servisys/ispconfig_setup/tarball/master"; tar zxvf installer.tgz; cd *ispconfig*; bash install.sh

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

ISPConfig 3 Installation

Now the process to install our ISPConfig control panel with the autoinstall script will start automatically. 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.

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

Welcome to ISPConfig Setup Script v.3.0.3.1
This software is developed by Temporini Matteo
with the support of the community.
You can visit my website at the followings URLs
http://www.servisys.it http://www.temporini.net
and contact me with the following information
contact email/Hangouts: [email protected]
Skype: matteo.temporini
=========================================
ISPConfig 3 System installer
=========================================

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

- This is a clean standard clean installation for supported systems
- Internet connection is working properly


The detected Linux Distribution is: Debian GNU/Linux 9 (stretch)
Processor (CPU): Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
CPU Cores: 4
Architecture: x86_64 (64-bit)
Total memory (RAM): 2.004 MiB (2.101 MB)
Total swap space: 2.045 MiB (2.145 MB)
Graphics Processor (GPU): VMware SVGA II Adapter
Computer name: debian9
Hostname: debian9.corp.netaziendapulita.it
IPv4 address: 192.168.2.55
Time zone: Europe/Rome (CEST, +0200)

Virtual Machine (VM) hypervisor: vmware

Installing for this Linux Distribution: debian9
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 9 Stretch.

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 can choose to install php5.6 concurrently with php7 wich is the defaul php version for Debian 9
  • Next you will be asked to choss to install HHVM (Hip Hop Virtual Machine)
  • Next you will be asked for PHPMyAdmin installation
  • 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)
  • Next you had to choose between mail server type dovecot or courier
  • Next you had to choose to enable or not JailKit
  • Next you had to choose between Roundcube and SquirrelMail
  • 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:

Preparing to install... [DONE]

Updating apt package database and upgrading currently installed packages... [DONE]

Installing basic packages (OpenSSH server, NTP, binutils, etc.)... [DONE]

Changing the default shell from dash to bash... [DONE]

Installing Database server (MariaDB)... [DONE]

Restarting MariaDB... [DONE]

Installing Web server (Apache) and modules... [DONE]

Installing PHP and modules... [DONE]

Installing PHP-FPM... [DONE]

Installing needed programs for PHP and Apache (mcrypt, etc.)... [DONE]

.

.

.

Configurazione di dbconfig-mysql (2.0.8)...

Configurazione di php-bz2 (1:7.0+49)...

Configurazione di phpmyadmin (4:4.6.6-4)...

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').

The final thing to do is to set a secure password for the RoundCube remote user in ISPConfig control panel which the install script has added. To do so follow these steps:

Connect to ISPConfig: https://YOURIP:8080, go to System > User Management > Remote Users and click on the user roundcube in the list:

Enter a secure password for the user...

Then click on Save.

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

$rcmail_config['remote_soap_pass'] = 'password';

In my case, I've used "roundcube" as "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.

Final consideration

Important: The current version of the install script has an issue, it installs the software spampd which causes the postfix mail system to fail. Spampd is not used nor required by ISPConfig and needs to be uninstalled to get the mail system up. To fix the issue, run these commands:

apt-get -y remove spampd
service postfix restart

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 constant 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:

Suggested articles

17 Comment(s)

Add comment

Comments

By: jboud at: 2018-11-13 17:09:49

Wow, didn't expect for it to work so smooth. Thanks for this man, worked like expected.

By: Leandro at: 2018-11-20 08:03:15

work fine!, the folder /var/lib/roundcube/plugins/ispconfig3_account not exist ubuntu 18.04

By: ben at: 2018-11-25 10:34:45

Well done! ISPConfig installed and configured correctly.

After performing a fresh installation of ISPConfig 3.1 on Debian 9.5, it reached the Apache2 default page instead of the ISPConfig home/login page using only the IP address. Not https://ip address or https://ipaddress:8080 can be reached.

Any help will be much appreciated.

By: till at: 2018-11-26 07:51:25

Please run the debug script and post the output of it in a new forum thread so we can help you to find out what went wrong during install.

 

https://www.howtoforge.com/community/threads/please-read-before-posting.58408/

By: BenCode at: 2018-11-27 03:26:43

Thanks Till. I have just performing a debug script for this instattion, and the result has been posted as a new thread under ISPConfig 3 forum. Please take a look at your convenience.  

By: mattheoh at: 2018-11-26 22:19:36

Amazing ! Great Job :)

Thanks a lot.

By: doe at: 2018-11-27 19:30:06

when I run the command "bash install.sh", it says "bash: sh: no such file or directory". PLEASE HELP !

By: Matt at: 2018-12-21 15:29:56

I am able to access everything but ispconfig when using the public ip and port number(8080).

I believe it has to do with setting up phpmyadmin(the bug mentioned) but I am unable to figure out what exactly needs changing as ip/phpMyAdmin loads.

I'm using debian 9

Ideas anyone?

By: Matt at: 2018-12-31 09:54:39

Everything run smoothly but at the end I get error 

Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.

By: till at: 2018-12-31 10:07:29

Take a look in the nginx error.log or use the commands mentioned in the error message to find out why it failed to start. If you need further help, please post in the ISPConfig installation support forum: https://www.howtoforge.com/community/forums/installation-configuration.27/

By: Aris Dizdarevic at: 2019-01-10 10:14:23

Great, works like a charm...

 

I noticed one thig regarding Pure-FTPD:

debian pure-ftpd[28216]: ([email protected]?) [DEBUG] Couldn't load the DH parameters file /etc/ssl/private/pure-ftpd-dhparams.pem

 

Create pure-ftpd-dhparams.pem by executing:

openssl dhparam -out /etc/ssl/private/pure-ftpd-dhparams.pem 3072

service pure-ftpd-mysql restart

By: corto at: 2019-02-07 17:56:08

hello, really good work!

how can i install PHP 7.1 on debian 9 ?

thanks

By: till at: 2019-03-06 06:36:28
By: anon at: 2019-03-02 14:46:36

On Debian 9 all went smoothly.

Unable to login as admin using the hostname URL, only via IP address URL.

By: till at: 2019-03-06 06:34:39

Check the DNS record of your hostname to ensure it points to the correct server.

By: igor at: 2019-03-06 05:16:16

Doesn't work, as always.

It seems that manuals howtoforge.com always lies

To all the liers:

 

On Debian 9 ispconfig won't work, i tested it myself.

This stupid "ispconfig" needs php5.0 and looking for php5-fpm

look into /etc/nginx/sites-available/ispconfig.vhost

What a stupid config, look at "fastcgi_pass"...

 

where is "apps.conf"  and "ispconfig.conf" php-fpm pool configs?

this stupid panel tried to install them into /etc/php5/fpm/pool.d 

instead of at least /etc/php/5.6/fpm/pool.d

 

This stupid behavior will work like a charm only on Debian 8

By: till at: 2019-03-06 06:32:08

Hello Igor,

you installed an old ISPConfig version. There was an issue with ISPConfig 3.1.13 in combination with Debian 9.8 (and only Debian 9.8, not any other prior Debian 9 release as it was detected as Debian 8, see ISPConfig blog) in the past which has been resolved in ISPConfig 3.1.13p1 already several weeks ago, the issue in ISPConfig has been resolved on the same day it was reported btw. So before telling anyone a lier, install the current version and not an old release before start complaining.

 

I installed several ISPConfig 3.1.13p1 servers with Debian 9.8 in the past week, so I can say it works there without issues.

 

To fix your current server which runs the old ISPConfig version, all you have to do is to run an ISPConfig update with the command:

 

ispconfig_update.sh

 

select 'stable' as update source and choose to reconfigure services during update when the installer asks for it, that's all.