The Perfect ISPConfig Ubuntu 18.04 Server

ISPConfig on Ubuntu 18.04

Ubuntu 18.04 with Apache, BIND, Dovecot, PureFTPD and ISPConfig

This tutorial shows how to prepare an Ubuntu 18.04 server (with Apache2, BIND, Dovecot) for the installation of ISPConfig, and how to install ISPConfig. The web hosting control panel ISPConfig allows you to configure the following services through a web browser: Apache or nginx web server, Postfix mail server, Courier or Dovecot IMAP/POP3 server, MySQL, BIND or MyDNS nameserver, PureFTPd, SpamAssassin, ClamAV, and many more. This setup covers Apache (instead of nginx), BIND, and Dovecot. I have changed a fair bit of the original tutorial, even the one they have up there now for 18.04 isn’t complete, which is where this one came from … I thought if I was going to have to correct a lot of their instructions, I may as well publish them here on my own tools for when I need them again. The fact it helps the rest of you that view it, double bonus. (I also like to have everything available on one page when I am working through stuff, so I have also removed the annoying pagination.)

1 Preliminary Note

In thistutorial, we will use the hostname server1.example.com with the IP address 192.168.1.100 and the gateway 192.168.1.1. These settings will likely differ for you, so you should takecare to ensure you replace them where appropriate.

Beforeproceeding further, you need to have a base server installation of Ubunto18.04.  This might be via your Hosting provider or directly using, https://www.ubuntu.com/download/server.

Thistutorial functions from a beginning to end method, meaning, if this documentwas a to-do list, page one would be list item one, moving towards the end ofthe document moves down the to-do list.

2 Secondary Note

Whendoing the initial OS install be sure to include the OpenSSH server, it asks youduring the installation to check the box.

3 Tertiary Note

By default,Ubuntu will install VIM as the default text editor, so for the purposes of thistutorial we will use that as our default editor.

Configure the Hostname

Thehostname of your server should be a FQDN (Fully Qualified Domain Name) such as“server1.example.com”. Do not use a domain name withoutsubdomain part like “example.com” as hostname as this will causeproblems.

First,you should check the hostname in /etc/hosts andchange it when necessary. The line should be: “IP Address – space – full hostnameincl. domain – space – subdomain part”. For our hostnameserver1.example.com, the file shall look like this:

vim /etc/hosts
127.0.0.1       localhost.localdomain   localhost
192.168.1.100   server1.example.com     server1

# The following lines are desirable for IPv6 capable host
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Then editthe /etc/hostname file:

vim /etc/hostname

It shallcontain only the subdomain part, in our case:

server1

Finally, rebootthe server to apply the change:

reboot

Log inagain and check if the hostname is correct now with these commands and theoutput should look like this

root@server1:/# hostname
server1
root@server1:/# hostname -f
server1.example.com

Update your base OS

First,make sure that your /etc/apt/sources.list contains the stretch/updates repository (this makes sure youalways get the newest security updates), and that the universe and multiverse are enabled as some required packagesare not in the main repository.

root@server1:/# vim/etc/apt/sources.list
# APT Sources
deb http://archive.ubuntu.com/ubuntu bionic main restricted
deb-src http://archive.ubuntu.com/ubuntu bionic main restricted
deb http://archive.ubuntu.com/ubuntu bionic-updates main restricted
deb http://archive.ubuntu.com/ubuntu bionic universe
deb http://archive.ubuntu.com/ubuntu bionic-updates universe
deb http://archive.ubuntu.com/ubuntu bionic multiverse
deb http://archive.ubuntu.com/ubuntu bionic-updates multiverse
deb http://archive.ubuntu.com/ubuntu bionic-backports main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu bionic-security main restricted
deb http://archive.ubuntu.com/ubuntu bionic-security universe
deb http://archive.ubuntu.com/ubuntu bionic-security multiverse

Now runan update to update the available packages

server1:/# apt-get update

Finallyupgrade everything from the apt package database

server1:/# apt-get upgrade

Synchronise the System Clock with the Internet

It is agood idea to synchronize the system clock with an NTP (network time protocol)server over the Internet. Simply run

apt-get install ntp

and yoursystem time will always be in sync.

Install Postfix, Dovecot, MySQL, rkHunter andBinUtils

Install Postfix, Dovecot, MySQL, rkhunter, and Binutils

server1:/# apt-get install postfixpostfix-mysql postfix-doc mysql-client mysql-server openssl getmail4 rkhunterbinutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve dovecot-lmtpd

We preferMySQL over MariaDB, if you would like to replace MySQL then you should use thepackages “mariadb-client mariadb-server” in the above command.

You willbe asked the following questions:

General type of mailconfiguration: Internet Site
System mail name: server1.example.com

To securethe MariaDB / MySQL installation and to disable the test database, run this command

server1:/# mysql_secure_installation

Answerthe questions as follows:

Change the root password? [Y/n] Y
New password: Use a strong password
Re-enter new password: Repeat the strong 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

Next,open the TLS/SSL and submission ports in Postfix by uncommenting the submission and smtps sections as follows and add lineswhere necessary so that this section of the master.cf file looks exactly likethe one below.

server1:/# vim /etc/postfix/master.cf
submission inet n       -       y       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
smtps     inet  n       -       y       -       -       smtpd
  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject

RestartPostfix

server1:/# service postfix restart

We wantMySQL to listen on all interfaces, not just localhost. Therefore, we edit mysqldconfiguration. Wemust comment out the bind-address and add the statement sql-mode = “NO_ENGINE_SUBSTITUTION”

server1:/# vim /etc/mysql/mysql.conf.d/mysqld.cnf
#bind-address = 127.0.0.1
sql-mode=”NO_ENGINE_SUBSTITUTION”

If youare using MariaDB set the password authentication method in MariaDB to nativeso we can use PHPMyAdmin later to connect as root user

server1:/# echo "updatemysql.user set plugin = 'mysql_native_password' where user='root';" |mysql -u root

Edit thefile /etc/mysql/debian.cnf and set the MYSQL / MariaDB root password theretwice in the rows that start with password. The MySQL root password that needsto be added is shown in read, in this example the password is “STRONGPASS”.

server1:/# vim /etc/mysql/debian.cnf

# Automatically generated for Debianscripts. DO NOT TOUCH!

[client]
host = localhost
user = root
password = STRONGPASS
socket = /var/run/mysqld/mysqld.sock

[mysql_upgrade]
host = localhost
user = root
password = STRONGPASS
socket = /var/run/mysqld/mysqld.sock
basedir = /usr

If usingMariaDB, to prevent the error ‘Error in accept: Too many open files‘we will set higher open file limits by editing the file /etc/security/limits.conf.

server1:/# vim /etc/security/limits.conf
mysql soft nofile 65535
mysql hard nofile 65535

Next,create a new directory /etc/systemd/system/mysql.service.d/

mkdir -p /etc/systemd/system/mysql.service.d/

and add anew file, limits.conf

server1:/# vim /etc/systemd/system/mysql.service.d/limits.conf
[Service]
LimitNOFILE=infinity

Reloadsystemd and restart MySQL

server1:/# systemctl daemon-reload
server1:/# service mysql restart

Now checkthat networking is enabled

server1:/# netstat -tap | grep mysql

Theoutput should look like this

tcp6 0 0 [::]:mysql [::]:* LISTEN17776/mysqld

Install Amavis, SpamAssassin and ClamAQ

Toinstall Amavisd, SpamAssassin and ClamAV, we need to run

apt-get install amavisd-newspamassassin clamav clamav-daemon unzip bzip2 arj nomarch lzop cabextractapt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemonlibio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl libdbd-mysql-perlpostgrey

TheISPConfig 3 setup uses amavisd which loads the SpamAssassin filter libraryinternally, so we can stop SpamAssassin running standalone

service spamassassin stop
systemctl disable spamassassin

Install Metronome XMPP Server (Optional)

This step installs the Metronome XMPP Server which providesa chat server that is compatible with the XMPP protocol. This step is optional,if you do not need a chat server, then you can skip this step. No otherISPConfig functions depend on this software.

Installthe require pre-requisite packages with apt.

server1:/# apt-get install git lua5.1liblua5.1-0-dev lua-filesystem libidn11-dev libssl-dev lua-zlib lua-expatlua-event lua-bitop lua-socket lua-sec luarocks luarocks
server1:/# luarocks install lpc

Add ashell user for Metronome.

server1:/# adduser--no-create-home --disabled-login --gecos 'Metronome' metronome

DownloadMetronome to the /opt directory and compile it.

Server1:/# cd /opt; git clone https://github.com/maranda/metronome.git metronome
Server1:/# cd ./metronome; ./configure --ostype=debian --prefix=/usr
Server1:/# make
Server1:/# make install

Metronomehas now been installed to /opt/metronome.

Install Apache2, PHP, FCGI, suExec, Pear, phpMyAdminand mCrypt

First,because mcrypt is no longer available directly with the Ubuntu distribution, wemust install mCrypt and php before continuing.

# apt-get install php php-devlibmcrypt-dev php-pear

Now thesystem is ready to install the php-mcrypt module

# pecl channel-update pecl.php.net
# pecl install mcrypt-1.0.1

Next weneed to tell PHP that there is a new module available by creating a module forphp and making it available.

# vim/etc/php/x.x/mods-available/mcrypt.ini

The x.xrefers to the version of PHP you have installed, it is usually 7.2 with a freshinstall of Ubuntu 18.04.

Add thefollowing to the mcrypt.ini file and save.

Extension=mcrypt.so

Now wecan continue to install the rest of the web elements, Apache2, phpMyAdmin, FCGIand suExec.

apt-get -y install apache2apache2-doc apache2-utils libapache2-mod-php php-common php-gd php-mysqlphp-imap phpmyadmin php-cli php-cgi libapache2-mod-fcgid apache2-suexec pristine php-pear imagemagicklibruby libapache2-mod-python php-curl php-intl php-pspell php-recodephp-sqlite3 php-tidy php-xmlrpc php-xslmemcached php-memcache php-imagick php-gettext php-zip php-mbstring memcached libapache2-mod-passenger php-soap

You willsee the following questions:

Web server to reconfigure automatically: APACHE2
Configure database for phpmyadmin with dbconfig-common? YES
Enter the phpmyadmin application password? PRESS ENTER

Then runthe following command to enable the Apache modules suexecrewritesslactions, and include davdav_fs,and auth_digest if you want to use WebDAV across theserver.

a2enmod suexec rewrite ssl actionsinclude dav_fs dav auth_digest cgi headers

To ensurethat the server cannot be attacked through the HTTPOXY vulnerability, we will disable the HTTP_PROXY headerin apache globally by adding the configuration file/etc/apache2/conf-available/httpoxy.conf.

vim /etc/apache2/conf-available/httpoxy.conf

Paste thefollowing content to the file:

<IfModule mod_headers.c>
RequestHeader unset Proxy early
</IfModule>

Thenenable the module by running:

a2enconf httpoxy
service apache2 restart

Install LetsEncrypt (Certbot)

ISPConfig3.1  has support for the free SSL Certificate authority Let’s Encrypt. TheLet’s Encrypt function allows you to create free SSL certificates for yourwebsite from within ISPConfig.

Now wewill add support for Let’s encrypt.

apt-get install certbot

There are no further steps required the website SSL certificates are created by ISPConfig when you add the web sites.

Install PHP-FPM

To usePHP-FPM with Apache, we need the mod_proxy_fcgi Apache module, which isinstalled by default and needs just be enabled. We can install PHP-FPM and asfollows

apt-get install php-fpm

Install PHP Opcode Cache

Opcacheis a free PHP opcode cacher for caching and optimizing PHP intermediate code.APCu is a compatibility module which provides APC compatible functions forOpcache which is used by many CMS caching systems.  It is recommended tohave these PHP extensions installed to speed up your PHP page.

Installthe appropriate php modules

apt-get install php-opcachephp-apcu

Nowrestart Apache

service apache2 restart

Install Mailman

ISPConfigdoes allow you to manage (create/modify/delete) Mailman mailing lists. If youwant to make use of this feature then you just need to install the application.

apt-get install mailman

You needto select at least one language

Languages to support: EN
Missing site list: PRESS ENTER

Before wecan start Mailman, a first mailing list called mailman must be created

Server1:/# newlist mailman
Enter the email of the person running the list: Admin email address, eg. listadmin@domain
Initial mailman password: STRONG PASSWORD
Hit enter to notify mailman owner... PRESS ENTER

Edit /etc/aliases

vim /etc/aliases

Add thefollowing and save

## mailman mailing list
mailman:              "|/var/lib/mailman/mail/mailman post mailman"
mailman-admin:        "|/var/lib/mailman/mail/mailman admin mailman"
mailman-bounces:      "|/var/lib/mailman/mail/mailman bounces mailman"
mailman-confirm:      "|/var/lib/mailman/mail/mailman confirm mailman"
mailman-join:         "|/var/lib/mailman/mail/mailman join mailman"
mailman-leave:        "|/var/lib/mailman/mail/mailman leave mailman"
mailman-owner:        "|/var/lib/mailman/mail/mailman owner mailman"
mailman-request:      "|/var/lib/mailman/mail/mailman request mailman"
mailman-subscribe:    "|/var/lib/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe:  "|/var/lib/mailman/mail/mailman unsubscribe mailman"

Committhe new aliases to the system and restart Postfix

server1:/# newaliases
server1:/# service postfix restart

Finally,we must enable the Mailman Apache configuration

ln -s /etc/mailman/apache.conf/etc/apache2/conf-enabled/mailman.conf

Thisdefines the alias /cgi-bin/mailman/ for all Apache vhosts, which meansyou can access the Mailman admin interface for a list at http://server1.example.com/cgi-bin/mailman/admin/, and the web page for users of amailing list can be found at http://server1.example.com/cgi-bin/mailman/listinfo/.

Under http://server1.example.com/pipermail you can find the mailing listarchives.

RestartApache and start the mailman daemon

service apache2 restart
service mailman start

Install PureFTPd and Quotas

Install PureFTPdand quota

apt-get installpure-ftpd-common pure-ftpd-mysql quota quotatool

Createthe dhparam file for pure-ftpd

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

Edit thefile /etc/default/pure-ftpd-commonand ensure the followingare correct

server1:/# vim/etc/default/pure-ftpd-common
# ISPConfig Settings
STANDALONE_OR_INETD=standalone
VIRTUALCHROOT=true

Now weconfigure PureFTPd to allow FTP and TLS sessions. FTP is a very insecureprotocol because all passwords and all data are transferred in clear text. Byusing TLS, the whole communication can be encrypted, thus making FTP much moresecure.

If youwant to allow FTP and TLS sessions (strongly suggested)

echo 1 > /etc/pure-ftpd/conf/TLS

In orderto use TLS, we must create an SSL certificate.

server1:/# mkdir -p /etc/ssl/private
server1:/# openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

PureFTPd Certificate Questions

 
Country Name (2 letter code) [AU]: COUNTRY CODE
Locality Name (eg, city) []:
CITY
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
COMPANY NAME
Organizational Unit Name (eg, section) []: <-- Hit Enter
Common Name (e.g. server FQDN or YOUR name) [server1.canomi.com]:
ENTER FQDN eg. server1.example.com
Email Address []:
PRESS ENTER

Changethe permissions of the SSL certificate and restart PureFTPd

server1:/# chmod 600 /etc/ssl/private/pure-ftpd.pem
server1:/# service pure-ftpd-mysql restart

Now weneed to edit /etc/fstab to ensure quota’s are being usedappropriately, this document assumes a single / partition entry. The areas inred are the edited values.

server1:/# vim /etc/fstab
UUID=35cb2cf4-4314-49a7-85d9-fd587e34e4c2 / ext4 defaults,errors=remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1
/swap.img       none    swap    sw      0       0

To enablequota, run these commands:

mount -o remount /
quotacheck -avugm
quotaon -avug

Install BIND DNS Server

BIND isinstalled as follows

apt-get install bind9 dnsutils

 Ifyour server is a virtual machine, then it is highly recommended to install thehaveged daemon to get a higher entropy for DNSSEC signing. You can installhaveged on nonvirtual servers as well, it should not hurt.

apt-get install haveged

For amore detailed explanation on haveged and DNSSEC,  click here.

Install Webalizer and AWStats

Install Webalizerand AWStats

apt-get install webalizer awstatsgeoip-database libclass-dbi-mysql-perl libtimedate-perl

Commentout the default cron tasks for AWStats in /etc/cron.d/awstats (edits in red)

server1:/# vim /etc/cron.d/awstats
#MAILTO=root
#*/10 * * * * www-data [ -x /usr/share/awstats/tools/update.sh ] && /usr/share/awstats/tools/update.sh
# Generate static reports:
#10 03 * * * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] && /usr/share/awstats/tools/buildstatic.sh

Install Jailkit

Jailkitis needed only if you want to chroot SSH users, to install it follow the belowinstructions

server1:/# apt-get installbuild-essential autoconf automake libtool flex bison debhelper binutils
server1:/# cd /tmp
server1:/tmp# wget http://olivier.sessink.nl/jailkit/jailkit-2.20.tar.gz
server1:/tmp# tar xvfz jailkit-2.20.tar.gz
server1:/tmp# cd jailkit-2.20
server1:/tmp/jailkit-2.20# echo 5 > debian/compat
server1:/tmp/jailkit-2.20# ./debian/rules binary
server1:/tmp/jailkit-2.20# cd ..
server1:/tmp# dpkg -i jailkit_2.20-1_*.deb
server1:/tmp# rm -rf jailkit-2.20*

Install fail2ban

This isoptional but shouldn’t be, it is highly recommended this is installed

apt-get install fail2ban

To makefail2ban monitor PureFTPd and Dovecot, create the file /etc/fail2ban/jail.local

server1:/# vim/etc/fail2ban/jail.local
[pure-ftpd]
enabled = true
port = ftp
filter = pure-ftpd
logpath = /var/log/syslog
maxretry = 3

[dovecot]
enabled = true
filter = dovecot
logpath = /var/log/mail.log
maxretry = 5

[postfix-sasl]
enabled = true
port = smtp
filter = postfix-sasl
logpath = /var/log/mail.log
maxretry = 3

Restartfail2ban afterwards

service fail2ban restart

Install RoundCube Webmail Platform

InstallRoundCube

apt-get install roundcuberoundcube-core roundcube-mysql roundcube-plugins

Theinstaller will ask the following questions

Configure database forroundcube with dbconfig.common? YES
MySQL application password for roundcube:
PRESS ENTER
Password of the databases administrative user:
MySQL RootSTRONG PASSWORD

Then editthe RoundCube /etc/roundcube/config.inc.php file and adjust a fewsettings:

vim /etc/roundcube/config.inc.php

Set thedefault_host and smtp_server to localhost

$config['default_host'] = 'localhost';
$config['smtp_server']  = 'localhost';

Then editthe Apache roundcube configuration file

vim /etc/apache2/conf-enabled/roundcube.conf

And addan alias line for the apache /webmail alias, you can add the line right at thebeginning of the file. NOTE:Do not use /mail as alias!

Alias /webmail /var/lib/roundcube

Then reloadApache

service apache2 reload

Now you can access RoundCube as follows (it is also important to note that roundcube will only be available to domains/websites where they are suPHP enabled):

http://192.168.1.100/webmail
http://www.example.com/webmail
http://server1.example.com:8080/webmail

Install ISPConfig

Toinstall ISPConfig from the latest released version

First getthe download link from the ispconfig.org website, https://www.ispconfig.org/ispconfig/download/ referred to as <downloadlink>further in this document.

server1:/# cd /tmp
server1:/# wget <downloadlink>
server1:/# tar xfz <downloadfile>.tar.gz
server1:/# cd ispconfig3_install/install/
server1:/# php -q install.php

The installer will ask a number of questions, the answers to which you will already by familiar with. The installation will also configure all of the services that have just been installed.

Select language (en,de) [en]: PRESS ENTER
Installation mode (standard,expert) [standard]: PRESS ENTER
Full qualified hostname (FQDN) of the server, eg server1.domain.tld [server1.example.com]: PRESS ENTER
MySQL server hostname [localhost]: PRESS ENTER
MySQL server port [3306]: PRESS ENTER
MySQL root username [root]: PRESS ENTER
MySQL root password []: MySQL Root STRONG PASSWORD
MySQL database to create [dbispconfig]: PRESS ENTER
MySQL charset [utf8]: PRESS ENTER
Configuring Postgrey
Configuring Postfix
Generating a 4096 bit RSA private key
.......................................................................++
........................................................................................................................................++
writing new private key to 'smtpd.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:
COUNTRY CODE
State or Province Name (full name) [Some-State]:
STATELocality Name (eg, city) []: CITY
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
COMPANY NAME
Organizational Unit Name (eg, section) []: 
PRESS ENTER
Common Name (e.g. server FQDN or YOUR name) []:
ENTER FQDN eg. server1.example.com
Email Address []: PRESS ENTER
Configuring Mailman
Configuring Dovecot
Configuring Spamassassin
Configuring Amavisd
Configuring Getmail
Configuring BIND
Configuring Jailkit
Configuring Pureftpd
Configuring Apache
Configuring vlogger
Configuring Metronome XMPP Server
writing new private key to 'localhost.key'
-----
Country Name (2 letter code) [AU]: 
COUNTRY CODE
Locality Name (eg, city) []: 
CITY
Organization Name (eg, company) [Internet Widgits Pty Ltd]: 
COMPANY NAME
Organizational Unit Name (eg, section) []: <-- Hit Enter
Common Name (e.g. server FQDN or YOUR name) [server1.canomi.com]: 
ENTER FQDN eg. server1.example.com
Email Address []: 
PRESS ENTER
Configuring Ubuntu Firewall
Configuring Fail2ban
[INFO] service OpenVZ not detected
Configuring Apps vhost
Installing ISPConfig
ISPConfig Port [8080]:

Admin password [admin]:
Do you want a secure (SSL) connection to the ISPConfig web interface (y,n) [y]: PRESS ENTER
Generating RSA private key, 4096 bit long modulus
.......................++................................................................................................................................++
e is 65537 (0x10001)
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:
COUNTRY CODE
State or Province Name (full name) [Some-State]:
STATE
Locality Name (eg, city) []: CITY
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
COMPANY NAME
Organizational Unit Name (eg, section) []: 
PRESS ENTER
Common Name (e.g. server FQDN or YOUR name) []:
ENTER FQDN eg. server1.example.com
Email Address []:  
PRESS ENTER
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:  
PRESS ENTER
An optional company name []:  
PRESS ENTER
writing RSA key

Configuring DBServer
Installing ISPConfig crontab
no crontab for root
no crontab for getmail
Detect IP addresses
Restarting services ...
Installation completed.

Theinstaller automatically configures all underlying services, so no manualconfiguration is needed.

Once the installationis complete you will be able to access ISPConfig via https://server1.example.com:8080/

Log inwith the username admin and the password you chose during the installation process.


Original source:

https://www.howtoforge.com/tutorial/perfect-server-debian-9-stretch-apache-bind-dovecot-ispconfig-3-1


Comments

2 responses to “The Perfect ISPConfig Ubuntu 18.04 Server”

  1. Thank you for this updated version. Especially for mcrypt part that I needed and missing from original article. Keep them coming 😉
    Any idea why on my sites (wordpress) php info is not revealing that mcrypt is enabled? Set to FPM per site.

    1. Sometimes it doesn’t show up if you’re using an .ini file in /php.d/

      Try adding it directly to your php.ini and restarting or perhaps despite having the module installed you haven’t enabled it? Worth a check.

      D.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.