Damit ISPConfig ordentlich arbeiten kann, muss die dash einmal nach bash umgestellt werden. Das machen wir mit:
dpkg-reconfigure dash
Use dash as the default system shell (/bin/sh)? <== No
Anschließend werde ich die Locales mithilfe von:
dpkg-reconfigure locales
rekonfigurieren, diese Fehlermeldung zu beseitigen.
perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LC_PAPER = "de_DE.UTF-8", LC_ADDRESS = "de_DE.UTF-8", LC_MONETARY = "de_DE.UTF-8", LC_NUMERIC = "de_DE.UTF-8", LC_TELEPHONE = "de_DE.UTF-8", LC_IDENTIFICATION = "de_DE.UTF-8", LC_MEASUREMENT = "de_DE.UTF-8", LC_TIME = "de_DE.UTF-8", LC_NAME = "de_DE.UTF-8", LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to a fallback locale ("en_US.UTF-8"). locale: Cannot set LC_ALL to default locale: No such file or directory /usr/bin/locale: Cannot set LC_ALL to default locale: No such file or directory
Die Abfragen beantworte ich folgendermaßen:
Locales to be generated: <== All locales Default locale for the system enviroment: <== en_US.UTF-8
Das dauert einen Moment. Zeit für Kaffee.
Anschließend installiere ich die letzten Updates mit:
apt update && apt upgrade -y
Damit der Server selber weiß in welcher Zeitzone er sich befindet, konfiguriere ich diese einmal neu mit:
dpkg-reconfigure tzdata
Geographic area: <== Europe Time zone: <== Berlin
Damit die Uhrzeit immer synchron gehalten, und weil auf allen Servern Fail2Ban und die Ubuntu Firewall UFW gebraucht wird, installieren wir auf allen Servern einmal:
apt install ntp ntpdate fail2ban ufw -y
ISPConfig kann nicht so sehr gut mit AppArmor und deshalb stelle ich es wie folgt ab:
service apparmor stop update-rc.d -f apparmor remove apt remove apparmor apparmor-utils
Dann starte ich alle Maschinen einmal neu um ggf. die letzten Kernel Updates zu aktivieren.
reboot
Nach dem die Server wieder erreichbar sind, entferne ich unnötige Pakete mit:
apt autoremove -y
Auf allen Servern werde ich MariaDB als client und als Server benötigen. Deswegen installiere ich MariaDB schonmal auf allen Maschinen mit:
apt install mariadb-client mariadb-server
Um sicher zu stellen, dass ein Zugriff von Außen möglich ist, kommentiere ich „bind-address = 127.0.0.1“ in der MariaDB Konfiguration auf allen Maschinen aus.
nano /etc/mysql/mariadb.conf.d/50-server.cnf
[…] # 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 […]
Um MariaDB zu konfigurieren, führe ich ein:
mysql_secure_installation
aus, und mache folgende Angaben:
Enter current password for root (enter for none): <== Enter Set root password? [Y/n] <== Enter New password: <== Passwort für den DB Root des jeweiligen Servers eintragen Re-enter new password: <== Passwort für den DB Root des jeweiligen Servers wiederholen Remove anonymous users? [Y/n] <== Enter Disallow root login remotely? [Y/n] <== Enter Remove test database and access to it? <== Enter Reload privilege tables now? [Y/n] <== Enter
Und starte MySQL einmal neu mit:
service mysql stop && service mysql start
Damit ist die Vorbereitung der Server abgeschlossen.