The Experimental ISPConfig Server - Debian Stretch (Apache, MySQL, PHP 7, Pure-FTPD and ISPConfig 3.1)

This tutorial explains how to install ISPConfig 3 latest development version using a Debian stretch repository with its respective Debian packages.

The objective of this tutorial is more for experimental and testing purposes than for productive environments.

This experimental feature is provided by as an attempt for contributing to the continuously improvement of ISPConfig.

If this feature succeeds, there might be chances of extending its support and eventually ISPConfig could have strong bases to request the distribution of ISPConfig through debian official repositories.

In case you would like to install more features than the ones provided by this tutorial, please consult official ISPConfig documentation.

It is recommended to use a fresh install of debian stretch, because of these advices:

  1. ispconfig-git package installs the contents of ISPConfig git master branch inside /root/ispconfig3 folder.
  2. ispconfig-apache package disables all configuration files and modules inside /etc/apache2.

This tutorial should provide a fully productive implementation of ISPConfig with: HTTP apache server, FTP pure-ftpd server, SSL Let's encrypt certificates, PHP 7 with Fast-CGI server, NTP services, MySQL database server, WebDAV services and ISPConfig interface.

1 Prepare the system

1.1 Install your favorite editor

If it is already installed, you may skip this step.

apt-get install editor

1.2 Configure the hostname

The hostname is composed by two parts: a subdomain and a domain. On the below example, 1a corresponds to the subdomain part and to the domain part. Reeplace them accordingly in /etc/hosts file and commands below.

editor /etc/hosts
::1 1a localhost 1a localhost

Update the hostname

echo 1a > /etc/hostname; hostname 1a

1.3 Install GNU wget

In case your system already has wget, you may skip this step.

apt-get install wget --no-install-recommends

1.4 Install keyring

This debian package includes the public key of the debian stretch repository.

dpkg -i keyring.deb
rm keyring.deb

1.5 Install sources list

This debian package includes the sources list of the debian stretch repository.

Note: It is also possible to write the commented line below in /etc/apt/sources.list, instead of installing the following debian package, but if these sources list change in the future, then you would need to update them manually.

#deb stretch main
dpkg -i stretch.deb
rm stretch.deb

1.6 Update sources list

Once the keyring and sources list are installed.

apt-get update

2 Install ISPConfig features

2.1 Install MySQL server and its dependencies

This metapackage installs all ISPConfig dependencies for MySQL server and performs some configuration tasks.

Note: MySQL server will be restarted and it will then listen on all network interfaces.

apt-get install ispconfig-mariadb --no-install-recommends
Enter current password for root (enter for none): <- enter
Set root password? [Y/n] <- y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] <- y
Disallow root login remotely? [Y/n] <- y
Remove test database and access to it? [Y/n] <- y
Reload privilege tables now? [Y/n] <- y

2.2 Install Apache server and its dependencies

Note: All apache configurations and modules will be disabled, except the ones required by ISPConfig.

apt-get install ispconfig-apache --no-install-recommends

2.3 Install ISPConfig git master branch files

This package installs all ISPConfig git master branch files in /root/ispconfig3

Note: If you are using the above folder, you are advised to rename it before running the following command.

apt-get install ispconfig-git --no-install-recommends

2.4 Install ISPConfig

Note: If you would like to add more features to your ISPConfig implementation, such as Security, Storage, Virtualization, DNS, HTTP, IMAP, POP and SMTP roles, then you should install them before running this command. More details in ISPConfig official documentation.

apt-get install ispconfig --no-install-recommends
 _____ ___________   _____              __ _         ____
|_   _/  ___| ___ \ /  __ \            / _(_)       /__  \
  | | \ `--.| |_/ / | /  \/ ___  _ __ | |_ _  __ _    _/ /
  | |  `--. \  __/  | |    / _ \| '_ \|  _| |/ _` |  |_ |
 _| |_/\__/ / |     | \__/\ (_) | | | | | | | (_| | ___\ \
 \___/\____/\_|      \____/\___/|_| |_|_| |_|\__, | \____/
                                              __/ |

>> 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 server port [3306]: <- enter

MySQL root username [root]: <- enter

MySQL root password []: <- enter

MySQL database to create [dbispconfig]: <- enter

MySQL charset [utf8]: <- enter

[INFO] service Postgrey not detected
[INFO] service Postfix not detected
[ERROR] Postfix not installed - skipping Mail
[INFO] service Jailkit not detected
Configuring Pureftpd
[INFO] service BIND not detected
[INFO] service MyDNS not detected
Configuring Apache
Configuring vlogger
[INFO] service OpenVZ not detected
[INFO] service Ubuntu Firewall not detected
[INFO] service Bastille Firewall not detected
[INFO] service Metronome XMPP Server not detected
[INFO] service Fail2ban not detected
Configuring Apps vhost
Installing ISPConfig
ISPConfig Port [8080]: <- enter

Admin password [admin]: <- enter

Do you want a secure (SSL) connection to the ISPConfig web interface (y,n) [y]: <- n

Configuring DBServer
Installing ISPConfig crontab
Installing ISPConfig crontab
no crontab for root
Detect IP addresses
Restarting services ...
Restarting Apache httpd web server: apache2.
Restarting ftp server: Running: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -O clf:/var/log/pure-ftpd/transfer.log -b -8 UTF-8 -J ECDHE:AES256-SHA:AES128-SHA:DES-CBC3-SHA:!RC4 -H -C 64 -c 1024 -A -E -F /etc/pure-ftpd/welcome.msg -D -B
Installation completed.

3 Propel the growing of ISPConfig

Any feedback and contributions of any type will propel the growing of ISPConfig. We hope this experimental feature is useful for you and we will try to add more debian packages with its corresponding dependencies.

Share this page:

Suggested articles

4 Comment(s)

Add comment


By: Marin

Hello. Will the final installation be located in /root/ispconfig3 or will it be in /usr/local/ispconfig or other place like this ? If in /


Hi! The final installation will be in /usr/local/ispconfig, in /root/ispconfig3 will only be the contents of ispconfig git repository. It is similar to run: git clone

By: Gadget Guru

 Everything seems to have went well, except that when I tick the box for Let's Encrypt SSL box, nothing (that I'm aware of) happens. I have compared DNS and websites with the configurations of other known completely functional ISPConfig servers and it all looks right.

After spending an entire day without a clue, trying to find the issue, nothing.

Hopefully someone with a similar issue can shed a little light on this for me.

By: Gadget Guru