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

  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.

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 ncomputers.org to the domain part. Reeplace them accordingly in /etc/hosts file and commands below.

Update the hostname

1.3 Install GNU wget

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

1.4 Install keyring

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

1.5 Install sources list

This debian package includes the sources list of the ncomputers.org 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.

1.6 Update sources list

Once the keyring and sources list are installed.

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.

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.

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.

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.

–––––––––––––––––––––––––––
_____ ___________   _____              __ _         ____
|_   _/  ___| ___ \ /  __ \            / _(_)       /__  \
| | \ --.| |_/ / | /  \/ ___  _ __ | |_ _  __ _    _/ /
| | 
–. \  __/  | |    / _ \| ‘_ \|  _| |/ _` |  |_ |
_| |_/\__/ / |     | \__/\ (_) | | | | | | | (_| | ___\ \
\___/\____/\_|      \____/\___/|_| |_|_| |_|\__, | \____/
__/ |
|___/
–––––––––––––––––––––––––––

>> 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  [1a.ncomputers.org]: <- 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.