Hi, we purchased a brand new Manual in order to have a list of packages needed for the multiserver-setup without having to go trough the packages manually. However the manual still seems to be written for Debian 8 and php5 - and since we are getting closer to the 3rd end of life announcement of php5 we choose to only work with php7 and debian 9. We are not particularly angry of having two manuals saying the exact same thing and double spending on the manual. But we want it updated and I'd like to share the updates so we get some progress here. There are some changes which are partly documented in the Perfect Server Setup. ## All servers: #etc hostname /etc/hostname shall only contain the HOST part. The hostname gets set early during startup so (/etc/init.d/hostname.sh start is outdated and systemctl restart hostname does not work because that service is marked as redundend because systemd sets the hostname from /etc/hostname during startup. just restart your server. then run "hostname" to look at the hostname or "hostname -f" to look at the FQDN. #mariadb this is a concatination of the manual an the perfect server setup. Probably contains redundant and outdated information. edit the /etc/security/limits.conf and add two lines at the end of the file but prior to the #end of file - line: mysql soft nofile 65535 mysql hard nofile 65535 make a new folder in the /etc/systemd/system/ directory. That folder should be named "mysql.service.d" into the folder add a new file called "limits.conf" add the folowing lines to the file: [Service] LimitNOFILE=infinity To make mysql listen on all interfaces, not just localhost edit /etc/mysql/mariadb.conf.d/50-server.cnf and comment out the line "bind-address = 127.0.0.1" and add the line: sql-mode="NO_ENGINE_SUBSTITUTION" then do the reloads/restarts systemctl daemon-reload service mysql restart systemctl restart mysqld #fail2ban stick to the perfect server setup when changing your jail.local ## Webserver PHP Packages for Webserver: apt-get install apache2 apache2-doc apache2-utils libapache2-mod-php7.0 php7.0 php7.0-common php7.0-gd php7.0-mysql php7.0-imap phpmyadmin php7.0-cli php7.0-cgi libapache2-mod-fcgid apache2-suexec-pristine php-pear php7.0-mcrypt mcrypt php-imagick imagemagick libruby libapache2-mod-python php7.0-curl php7.0-intl php-memcache php-memcached php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl memcached libapache2-mod-passenger php-gettext php7.0-zip php7.0-mbstring php7.0-soap php7.0-fpm Packages removed in perfect-server setup but active in manual: apache2.2-common, apache2-mpm-prefork, libexpat1, php-auth php5-xcache Packages that don't exist anymore: libapache2-mod-fastcgi Also you get an error with "a2enmod actions fastcgi alias" (ERROR: Module fastcgi does not exist!) If you update fom Debian8 to Debian9 and replace php5 for php7 we needed to add the following packages to be consistant with a new installation: php7.0-imap, php7.0-mcrypt, php-imagick, php7.0-intl, php7.0-pspell, php7.0-recode, php7.0-sqlite3, php7.0-tidy, php7.0-xmlrpc, php7.0-xsl ## Webserver / DNS-Server postfix Setting up the postfix as a sattelite system will not get the mailserver to accept your mails. There is something missing in the manual here. ## Mailserver / DNS-Server PHP apt-get install php-cli php-mysql php-mcrypt mcrypt php-mbstring this will install the php7 versions on a debian9 (add the 7.0 to the packages if you like) -- hope I thought of everything...