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.
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
wget --no-check-certificate https://github.com/servisys/ispconfig_setup/archive/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:
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
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://188.8.131.52: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).
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/
After everything is installed, you can check for errors or strange things with the command
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.