- ispconfig-git package installs the contents of ISPConfig git master branch inside /root/ispconfig3 folder.
- 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 ncomputers.org to the domain part. Reeplace them accordingly in /etc/hosts file and commands below.
editor /etc/hosts ::1 1a.ncomputers.org 1a localhost 127.0.0.1 1a.ncomputers.org 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 ncomputers.org debian stretch repository.
wget http://ncomputers.org/debian/keyring.deb dpkg -i keyring.deb rm keyring.deb
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.
#deb http://ncomputers.org/debian stretch main wget http://ncomputers.org/debian/stretch.deb 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 [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.