Einführung

Heute installieren wir den perfekten ISPConfig 3 Server mit Ubuntu 18.04.

Vorbereitungen

Wir erstellen uns in Hyper-V eine VM mit folgenden Spezifikationen (kann natürlich abweichen):

  • 20 GB RAM
  • 20 vCPU
  • 512 GB vSSD
  • Einem Netzwerkadapter

Für die Ubuntu Installation verwenden wir folgendes Image:
Ubuntu 18.04.4 LTS (Bionic Beaver)

Installation Ubuntu Server

Nachdem die Installation gestartet wurde, wählen wir nun die Sprache.

Für die Beste Kompatibilität empfehlen wir Englisch.
Sollte nun der Installer nach einem Update Fragen, empfehlen wir dieses durchzuführen. Sollte er nicht nach einem Update fragen, ist dies zu ignorieren.

Nun konfigurieren wir die entsprechende Tastatur. In unserem Fall lautet diese Konfiguration wie folgt:

Die Konfiguration des Netzwerkadapters lassen wir auf DHCP. Ebenfalls benutzen wir keinen Proxy und belassen den Mirror wie er bereits vorhanden ist.

Wir verwenden für die Festplattenkonfiguration die Komplette Disk und benutzen eine LVM Gruppe auf dieser Disk – Eine Trennung machen wir hierbei bewusst nicht, da es für uns um ein Test-System handelt.

Anschliessend füllen wir die entsprechende Profilangaben aus.

Wichtig ist die installation des SSH Servers, damit die nachfolgenden Schritte einfacher sind.

Die nachfolgende Liste belassen wir «leer».

Die Installation startet und wir warten ab, bis alle Updates soweit installiert sind.

Zugriff auf die VM über SSH

Nachdem wir die VM Installiert haben, verwalten wir die nun über SSH.
Hierzu verwenden wir «Putty»:
Putty herunterladen

Installation von ISPConfig und den weiteren Tools

Allgemeiner Hinweis

Wichtig, jeder Befehl muss zuerst mit einem

sudo -s

verwendet werden. Somit werden die korrekten Privilegien verwendet.
Zudem arbeiten wir mit «server1.example.com» mit der IP-Adresse «192.168.1.100» wobei der Gateaway «192.168.1.1» ist. Dies müsst ihr auf eure Konfiguration anpassen.

Wir bearbeiten die Updatequelle & installieren diese

Im ersten schritt müssen wir die Update-Quelle anpassen, damit die korrekten Updates bzw. Pakete erhalten.

Dies kannst du über folgenden Befehl editieren:

nano /etc/apt/sources.list

Nun solltest du die komplette Liste löschen und anschliessend folgendes dafür eintragen:

#

# deb cdrom:[Ubuntu-Server 18.04 LTS _Bionic Beaver_ - Release amd64 (20180425.1)]/ bionic main restricted

#deb cdrom:[Ubuntu-Server 18.04 LTS _Bionic Beaver_ - Release amd64 (20180425.1)]/ bionic main restricted

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://ch.archive.ubuntu.com/ubuntu/ bionic main restricted
# deb-src http://ch.archive.ubuntu.com/ubuntu/ bionic main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://ch.archive.ubuntu.com/ubuntu/ bionic-updates main restricted
# deb-src http://ch.archive.ubuntu.com/ubuntu/ bionic-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://ch.archive.ubuntu.com/ubuntu/ bionic universe
# deb-src http://ch.archive.ubuntu.com/ubuntu/ bionic universe
deb http://ch.archive.ubuntu.com/ubuntu/ bionic-updates universe
# deb-src http://ch.archive.ubuntu.com/ubuntu/ bionic-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://ch.archive.ubuntu.com/ubuntu/ bionic multiverse
# deb-src http://ch.archive.ubuntu.com/ubuntu/ bionic multiverse
deb http://ch.archive.ubuntu.com/ubuntu/ bionic-updates multiverse
# deb-src http://ch.archive.ubuntu.com/ubuntu/ bionic-updates multiverse

## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://ch.archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src http://ch.archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu bionic partner
# deb-src http://archive.canonical.com/ubuntu bionic partner

deb http://security.ubuntu.com/ubuntu bionic-security main restricted
# deb-src http://security.ubuntu.com/ubuntu bionic-security main restricted
deb http://security.ubuntu.com/ubuntu bionic-security universe
# deb-src http://security.ubuntu.com/ubuntu bionic-security universe
deb http://security.ubuntu.com/ubuntu bionic-security multiverse
# deb-src http://security.ubuntu.com/ubuntu bionic-security multiverse

Nun suchen wir nach Updates mit folgendem Befehl:

apt-get update

Und wir installieren die Updates mit folgendem Befehl:

apt-get upgrade

Zudem schauen wir, dass die neuesten Sicherheitsupdates etc. installiert sind mit:

apt-get dist-upgrade

Nun starten wir den Server neu:

reboot

Wir passen die Default Shell an

Hierzu verwenden wir folgenden Befehl:

dpkg-reconfigure dash

Wichtig hier auf «no» zu stellen.

Wir deaktivieren die «AppArmor»

Diese Sicherheitserweiterung benötigen wir hierbei nicht, weswegen wir diese deinstallieren. Dies wie folgt:

service apparmor stop
update-rc.d -f apparmor remove 
apt-get remove apparmor apparmor-utils

Installation der Zeitsynchronisierung

Nicht zwingend Notwendig, aber sehr Sinnvoll, dass die Zeit Synchronisiert werden kann.

apt-get -y install ntp

Installation von Postfix, Dovecot, MariaDB, rkhunter und binutilsInstall Postfix, Dovecot, MariaDB, rkhunter, and binutils

Befor wir Postfix installieren können, sollten wir prüfen ob «sendmail» installiert ist bzw. dieses entfernen. Dies machen wir mit folgendem Befehl:

service sendmail stop; update-rc.d -f sendmail remove

Falls du folgende Error Meldung erhälst, war sendmail nicht installiert:

Failed to stop sendmail.service: Unit sendmail.service not loaded.

Also musste nichts deinstalliert werden und alles ist in Ordnung.

Als nächstes installieren wir die benötigten Komponenten mit folgendem Befehl:

apt-get -y install postfix postfix-mysql postfix-doc mariadb-client mariadb-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve dovecot-lmtpd sudo

Dies wird einen Moment dauern, je nach Server und Internet Geschwindigkeit. Wir erhalten den folgenden Screen:

Hier bestätigen wir natürlich mit «Ok».

Es folgt diese Meldung:

Da wir eine Internet Site haben möchten bzw. mehrere wählen wir hier natürlich «Internet Site» aus und wählen «Ok».
Als nächstes erhalten wir die abfrage wie das Systemmail lautet. Hierfür wählen wir unser «server1.example.com» bzw. der FQDN deines Servers.

Nun müssen wir TLS/SSL Konfigurieren. Dies starten wir wie folgt:

nano /etc/postfix/master.cf

Die Datei sollte wie folgt aussehen nach dem Editieren:

[...]
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
#  -o smtpd_reject_unlisted_recipient=no
#  -o smtpd_client_restrictions=$mua_client_restrictions
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
#  -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
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
#  -o smtpd_reject_unlisted_recipient=no
#  -o smtpd_client_restrictions=$mua_client_restrictions
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
#  -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
[...]

Achtung bei einigen Einträgen muss das «#» entfernt werden.

Nach dem Speichern ist es wichtig, die Änderungen auch entsprechend anzuwenden. Dies führen wir mit folgendem Befehl aus:

service postfix restart

Nun Konfigurieren wir MySQL so, dass er nicht nur auf den «localhost» also unsere beliebte Heimadresse «127.0.0.1» hört, sondern auch auf allen Interfaces. Dies bewerkstelligen wir wie folgt:

nano /etc/mysql/mariadb.conf.d/50-server.cnf

Somit rufen wir die Konfiguration auf.

Wir suchen folgende Linien und fügen das «#» Hinzu:

[...]
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address           = 127.0.0.1

[...]

Jetzt können wir den MySQL bzw. MariaDB konfigurieren. Dies machen wir nun mit folgendem Befehl:

mysql_secure_installation

Du bekommst folgende Fragen gestellt:

Enter current password for root (enter for none): <-- Enter drücken
Set root password? [Y/n] <-- y
New password: <-- Dein MariaDB Root Kennwort
Re-enter new password: <-- Kennwort erneut eingeben
Remove anonymous users? [Y/n] <-- y
Disallow root login remotely? [Y/n] <-- y
Remove test database and access to it? [Y/n] <-- Deine Entscheidung. Wir wählen y
Reload privilege tables now? [Y/n] <-- y

Nun müssen wir die authentifikations-methode der MariaDB auf native ändern, damit wir später mit dem root User über PHPMyAdmin zugreifen können. Dies machen wir wie folgt:

echo "update mysql.user set plugin = 'mysql_native_password' where user='root';" | mysql -u root

Als nächstes müssen wir im file «debian.cnf» das MariaDB / MySQLDB Kennwort eintragen.

nano /etc/mysql/debian.cnf

Und hier entsprechend:

# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = root
password = DEINKENNWORT
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = root
password = DEINKENNWORT
socket = /var/run/mysqld/mysqld.sock
basedir = /usr

Damit die Datenbank korrekt eingerichtet wird, müssen wir diese nun neustarten. Dies wie folgt:

service mysql restart

Jetzt schauen wir, ob die MySQL Instanz korrekt «hört»:

netstat -tap | grep mysql

Dies sollte in etwa wie folgt aussehen:

root@server1:~# netstat -tap | grep mysqltcp6 0 0 [::]:mysql [::]:* LISTEN 30591/mysqld
root@server1:~#

Installation von Amavisd-new, SpamAssassin, and Clamav

In diesem Schritt installieren wir Amavisd-new, SpamAssasin und Calmav. Hierfür benötigen wir folgenden Befehl:

apt-get -y install amavisd-new spamassassin clamav clamav-daemon unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl libdbd-mysql-perl postgrey

Dieser Vorgang kann etwas dauern…

Wir erhalten von Amavisd-new mit grösster Wahrscheinlichkeit eine «Fehlermeldung». Diese beheben wir wie folgt:

nano /etc/amavis/conf.d/05-node_id

Wir passen wie folgt an:

use strict;

# $myhostname is used by amavisd-new for node identification, and it is
# important to get it right (e.g. for ESMTP EHLO, loop detection, and so on).

chomp($myhostname = `hostname --fqdn`);

# To manually set $myhostname, edit the following line with the correct Fully
# Qualified Domain Name (FQDN) and remove the # at the beginning of the line.
#
$myhostname = "MAIL.EXAMPLE1.COM";

1;  # ensure a defined return

Wir starten mit einem «reboot» den Server neu.

Wir Verifizieren, dass Amavisd-new nun korrekt startet über:

systemctl status amavisd-new

Wenn der status «active (running)» steht, hat es geklappt.

Um mehr RAM Frei zu haben entfernen wir SpamAssasin, da ISPconfig 3 den amavisd-new lädt und nun zugriff hat auf die Libary von SpamAssasin.

service spamassassin stop
update-rc.d -f spamassassin remove

Wir beginnen CalmAV zu nutzen.

freshclam
service clamav-daemon start

Der folgende Fehler kann nach «freshclam» ignoriert werden:

ERROR: /var/log/clamav/freshclam.log is locked by another process
ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).

Da in Ubuntu 18.04 ein Bug besteht laden wir nun das Pacht manuell herunter:

cd /tmp
wget https://git.ispconfig.org/ispconfig/ispconfig3/raw/stable-3.1/helper_scripts/ubuntu-amavisd-new-2.11.patch
cd /usr/sbin
cp -pf amavisd-new amavisd-new_bak
patch < /tmp/ubuntu-amavisd-new-2.11.patch

Installieren von: Apache, PHP, phpMyAdmin, FCGI, SuExec, Pear, and mcrypt

Wir installieren nun folgende Versionen (weitere können später ohne weiteres hinzugefügt werden): Apache 2.4, PHP 7.2, phpMyAdmin, FCGI, suExec und Pear

apt-get -y install apache2 apache2-doc apache2-utils libapache2-mod-php php7.2 php7.2-common php7.2-gd php7.2-mysql php7.2-imap phpmyadmin php7.2-cli php7.2-cgi libapache2-mod-fcgid apache2-suexec-pristine php-pear mcrypt  imagemagick libruby libapache2-mod-python php7.2-curl php7.2-intl php7.2-pspell php7.2-recode php7.2-sqlite3 php7.2-tidy php7.2-xmlrpc php7.2-xsl memcached php-memcache php-imagick php-gettext php7.2-zip php7.2-mbstring php-soap php7.2-soap

Du wirst folgende Fragen sehen und solltest diese wie folgt beantworten:

Web server to reconfigure automatically: <-- apache2 
Configure database for phpmyadmin with dbconfig-common? <-- Yes
MySQL application password for phpmyadmin: <-- Enter drücken

Nun aktivieren wir die Module:

a2enmod suexec rewrite ssl actions include cgi
a2enmod dav_fs dav auth_digest headers

Da Sicherheit wichtig ist deaktivieren wir den HTTPProxy

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

In diesem File fügen wir folgendes hinzu:

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

Anschliessend die Konfiguration aktivieren:

a2enconf httpoxy
service apache2 restart

Wir aktivieren die Erweiterung für *.rb Files:

nano /etc/mime.types

Suchen hier nun folgendes:

[...]
#application/x-ruby                             rb
[...]

Wir müssen Apache neustarten:

service apache2 restart

Installation: PHP Opcode cache

Dies ist ein «Caching» Modul für diverse CMS, weswegen wir dies empfehlen zu installieren.

apt-get -y install php7.2-opcache php-apcu
service apache2 restart

Installation: PHP-FPM

Um PHP-FPM zu nutzen gehen wir wie folgt vor:

apt-get -y install php7.2-fpm
a2enmod actions proxy_fcgi alias 
service apache2 restart

Installation: HHVM (HipHop Virtual Machine)

HHVM ist eine PHP Version entwickelt von Facebook.

apt-get -y install hhvm

Wir installieren: Let’s Encrypt

Um Kostenlose SSL Zertifikate zur verfügung zu stellen, nutzen wir die Let’s Encrypt Engine. Diese ist wie folgt zu installieren:

apt-get -y install certbot

Mailman Installation

Damit Mailing Listen benutzt werden können, folgt nun Mailman:

apt-get -y install mailman
Languages to support: <-- en (English)
Missing site list <-- Ok

Nun müssen wir eine Mailliste erstellen:


newlist mailman

Enter the email of the person running the list: <-- Admin-Mail Adresse z.B. listadmin@example.com
Initial mailman password: <-- admin passwort für die mailman liste
To finish creating your mailing list, you must edit your /etc/aliases (or
equivalent) file by adding the following lines, and possibly running the
`newaliases' program:

## 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"

Hit enter to notify mailman owner... <-- ENTER

nano /etc/aliases

[...]
## 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"

newaliases
service postfix restart
ln -s /etc/mailman/apache.conf /etc/apache2/conf-available/mailman.conf
a2enconf mailman
service apache2 restart
service mailman start

Es folgt die Installation von Install PureFTPd und Quota

Wir installieren den FTP Dienst als auch das Quota Limit.

apt-get -y install pure-ftpd-common pure-ftpd-mysql quota quotatool
nano /etc/default/pure-ftpd-common

[...]
STANDALONE_OR_INETD=standalone
[...]
VIRTUALCHROOT=true
[...]

echo 1 > /etc/pure-ftpd/conf/TLS
mkdir -p /etc/ssl/private/

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

Country Name (2 letter code) [AU]: <-- Dein Land (e.g., "CH").
State or Province Name (full name) [Some-State]:<-- Dein State oder dein Kanton
Locality Name (eg, city) []:<-- Dein Wohn- / Arbeitsort
Organization Name (eg, company) [Internet Widgits Pty Ltd]:<-- Der Name deiner Organisation / deiner Firma
Organizational Unit Name (eg, section) []:<-- Die Abteilung (e.g. "IT Department").
Common Name (eg, YOUR name) []:<-- Der Fully Qualified Domain Name von unserem Server (e.g. "server1.example.com").
Email Address []:<-- Deine E-Mail Adresse

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

nano /etc/fstab

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/mapper/server1--vg-root / ext4 errors=remount-ro,usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv0 0 1
/dev/mapper/server1--vg-swap_1 none swap sw 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0

mount -o remount /
quotacheck -avugm
quotaon -avug

Installation: BIND DNS Server

Natürlich benötigen wir auch einen DNS Service für einen richtigen Hosting-Server. Dies führen wir wie folgt aus:

apt-get -y install bind9 dnsutils haveged
systemctl enable haveged
systemctl start haveged

Installation von: Install Vlogger, Webalizer, and AWStats

Da Statistiken etc. benötigt werden installieren wir diese Komponenten wie folgt:

apt-get -y install vlogger webalizer awstats geoip-database libclass-dbi-mysql-perl

nano /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

Installation: Jailkit

Da wir analog zum FTP nicht wollen, dass User über ihren SSH Account Sachen installieren können, nutzen wir Jailkit um diese Accounts in ihr Homeverzeichnis «Einzusperren».
Hinweis: Wird Jailkit nachträglich installiert (nach ISPConfig 3) wird dies nicht funktionieren!!

apt-get -y install build-essential autoconf automake1.11 libtool flex bison debhelper binutils

cd /tmp 
wget http://olivier.sessink.nl/jailkit/jailkit-2.19.tar.gz
tar xvfz jailkit-2.19.tar.gz
cd jailkit-2.19
echo 5 > debian/compat

./debian/rules binary

cd ..
dpkg -i jailkit_2.19-1_*.deb
rm -rf jailkit-2.19*

Installation: fail2ban and UFW

Natürlich ist eine Firewall bzw. «Kennwort flasch eingegeben» Funktion wichtig. Diese installieren wir so:

apt-get -y install fail2ban

nano /etc/fail2ban/jail.local

In diesem File fügen wir folgendes Hinzu:

[pure-ftpd]
enabled  = true
port     = ftp
filter   = pure-ftpd
logpath  = /var/log/syslog
maxretry = 3

[dovecot]
enabled = true
filter = dovecot
action = iptables-multiport[name=dovecot-pop3imap, port="pop3,pop3s,imap,imaps", protocol=tcp]
logpath = /var/log/mail.log
maxretry = 5

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

So gehts weiter:

service fail2ban restart
apt-get install ufw

Installation: Roundcube Webmail

Da wir einen Webmailer benötigen, verwenden wir Roundcube. Dies kommt so auf unseren Server:

apt-get -y install roundcube roundcube-core roundcube-mysql roundcube-plugins javascript-common libjs-jquery-mousewheel php-net-sieve tinymce

Wir werden folgendes gefragt:

Configure database for roundcube with dbconfig-common? <-- Yes
MySQL application password for roundcube: <-- ENTER

Im Anschluss müssen wir Roundcube konfigurieren:

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

Achten, dass es wie in unserem Code ist:

# Those aliases do not work properly with several hosts on your apache server
# Uncomment them to use it or adapt them to your configuration
Alias /roundcube /var/lib/roundcube
Alias /webmail /var/lib/roundcube
[...]
<Directory /var/lib/roundcube>
AddType application/x-httpd-php .php
[...]

Im Oberen Bereich könnt ihr natürlich auch statt «webmail» auch «onlinemail» oder was euch vorschwebt verwenden. Oder auch weitere Einträge machen.

Jetzt wird ein Apache2 restart notwendig:

service apache2 restart

Weitere Roundcube Konfigurationen:

nano /etc/roundcube/config.inc.php

Wir suchen die folgende Linie und ergänzen diese mit «localhost»

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

Installation ISPConfig 3

Endlich ist es so weit, wir können ISPConfig 3 installieren:

cd /tmp 
wget -O ispconfig.tar.gz https://git.ispconfig.org/ispconfig/ispconfig3/repository/archive.tar.gz?ref=stable-3.1
tar xfz ispconfig.tar.gz
cd ispconfig3*/install/

Und die Installation starten mit:

php -q install.php

Jetzt kommen folgende Elemente:

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

>> Initial configuration
Operating System: Ubuntu 18.04 (Bionic Beaver)
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 oder DE
Installation mode (standard,expert) [standard]: <-- Enter
Full qualified hostname (FQDN) vom Server, eg server1.domain.tld [server1.canomi.com]: <-- Enter
MySQL server hostname [localhost]: <-- Enter
MySQL server port [3306]: <-- Enter
MySQL root username [root]: <-- Enter
MySQL root password []: <-- Dein MySQL / MariaDB root Kennwort
MySQL database to create [dbispconfig]: <-- Enter
MySQL charset [utf8]: <-- 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]: <-- Die 2 Landesbuchstaben
State or Province Name (full name) [Some-State]: <-- Dein State oder Kanton
Locality Name (eg, city) []: <-- Dein Wohn- oder Arbeitsort
Organization Name (eg, company) [Internet Widgits Pty Ltd]: <-- Dein Firmen-Namen
Organizational Unit Name (eg, section) []: <-- Deine Abteilung
Common Name (e.g. server FQDN or YOUR name) []: <-- Den FQDN deines Servers
Email Address []: <-- E-Mail Adresse
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]: <-- Enter 2 letter country code
Locality Name (eg, city) []: <-- Enter your city
Organization Name (eg, company) [Internet Widgits Pty Ltd]: <-- Enter company name or press enter
Organizational Unit Name (eg, section) []: <-- Hit Enter
Common Name (e.g. server FQDN or YOUR name) [server1.canomi.com]: <-- Enter the server hostname, in my case: server1.example.com
Email Address []: <-- Hit Enter
Configuring Ubuntu Firewall
Configuring Fail2ban
[INFO] service OpenVZ not detected
Configuring Apps vhost
Installing ISPConfig
ISPConfig Port [8080]: Wir wollen es direkt über HTTPS erreichbar machen (also 443)
Admin password [admin]: <-- Lege ein Kennwort fest!
Do you want a secure (SSL) connection to the ISPConfig web interface (y,n) [y]: <-- 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]: <-- Ländercode
State or Province Name (full name) [Some-State]: <-- Kanton / State
Locality Name (eg, city) []: <-- Wohn- / Arbeitsort
Organization Name (eg, company) [Internet Widgits Pty Ltd]: <-- Firmenname
Organizational Unit Name (eg, section) []: <-- Abteilung
Common Name (e.g. server FQDN or YOUR name) []: <-- FQDN deines Servers
Email Address []: <-- E-Mail Adresse
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: <-- Enter
An optional company name []: <-- Enter
writing RSA key

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

Deine ISPConfig Installation ist nun über: http(s)://server1.example.com oder http(s)://192.168.0.100 erreichbar.

In weiteren Einträgen zeigen wir dir, wie du weitere Funktionen von ISPConfig bzw. PHP / Apache konfigurierst.

Category
Tags

No responses yet

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.