Froxlor 0.9.x auf Debian 9.x installieren
Zunächst das Debian-ISO herausladen und mit Rufus einen bootfähigen USB-Stick machen und damit Debian 9 Stretch mit Webserver, SSH-Server und Standard-Systemwerkzeugen installieren. Danach die Grundinstallation anpassen.
Apt
In der Datei sources.lst
die Installations-DVD auskommentieren,
vi /etc/apt/sources.lst
# deb cdrom:[Debian GNU/Linux 9.8.0 _Stretch_ - Official amd64 DVD Binary-1 20190216-11:59]/ stretch contrib main
da ansonsten apt
andauernd auf die Installations-DVD zugreift.
ssh-Server
Root-Login, Login ohne Password und sudo ohne Password erlauben.
vi /etc/ssh/sshd_config
Port 22
PermitRootLogin yes
AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
ChallengeResponseAuthentication no
UsePAM yes
X11Forwarding yes
PrintMotd no
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
service ssh restart
Im Home-Verzeichnis von root und dem bei der Installation angelegten User einen Ordner .ssh
anlegen und die Datei authorized_keys
reinkopieren.
sudo visudo
username ALL=(ALL) NOPASSWD: ALL
username
mit dem richtigen User ersetzen.
Fehlende Pakete nachinstallieren
apt install vim net-tools mlocate dirmngr apt-transport-https lsb-release ca-certificates webalizer awstats php libapache2-mod-php7.0 php-xml php-mbstring php-curl php-zip php-bcmath php-mysql mariadb-server
MariaDB
Password für MySQL-root setzen, anonyme Benutzer löschen, Zugriff von außen verbieten, Testdatenbank löschen (alle Fragen mit Y beantworten):
mysql_secure_installation
In der Standardinstallation von MariaDB ist das unix_socket-Plugin installiert. Es muß für Froxlor deaktiviert werden:
mysql -u root
MariaDB [(none)]> update mysql.user set plugin='' where user='root'; MariaDB [(none)]> flush privileges; MariaDB [(none)]> exit
service mysql restart
Weil jetzt das unix_socket-Plugin deaktiviert ist, muß das MySQL-root-Passwort in der debian.cnf
eingetragen werden:
vi /etc/mysql/debian.cnf
# Automatically generated for Debian scripts. DO NOT TOUCH! [client] host = localhost user = root password = GEHEIMES_PASSWORT socket = /var/run/mysqld/mysqld.sock [mysql_upgrade] host = localhost user = root password = GEHEIMES_PASSWORT socket = /var/run/mysqld/mysqld.sock basedir = /usr
PhpMyAdmin
apt install phpmyadmin
PhpMyAdmin ist nun unter http://ip-adresse/phpmyadmin erreichbar, aber es ist eine denkbar schlechte Idee sich unverschlüsselt einzuloggen. Deshalb installieren wir https mit einem selbst signierten Zertifikat.
https
Das Paket ssl-cert
sollte bereits installiert sein. Falls nicht, nachholen mit
apt install ssl-cert
Dadurch befindet sich ein selbst signiertes Zertifikat in
/etc/ssl/certs/ssl-cert-snakeoil.pem
und der dazugehörige private Schlüssel in
/etc/ssl/private/ssl-cert-snakeoil.key
Regenerieren mit
make-ssl-cert generate-default-snakeoil --force-overwrite
SSL aktivieren
a2enmod ssl a2ensite default-ssl service apache2 restart
Apache läuft nun mit SSL verschlüsselt auf Port 443. Testen mit
netstat -putan | grep apache
tcp6 0 0 :::80 :::* LISTEN 19211/apache2 tcp6 0 0 :::443 :::* LISTEN 19211/apache2
bzw. https://ip-adresse
Jetzt steht der Installation von Froxlor nichts mehr im Weg.
Froxlor installieren
Key für die Pakete hinzufügen
apt-key adv --keyserver pool.sks-keyservers.net --recv-key FD88018B6F2D5390D051343FF6B4A8704F9E9BBC
Alternativ kann statt pool.sks-keyservers.net
der Keyserver keyserver.ubuntu.com
benutzt werden.
Repo hinzufügen
echo "deb http://debian.froxlor.org $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/froxlor.list
Paketliste updaten, Packages upgraden und Froxlor installieren
apt-get update && apt-get upgrade apt install froxlor
Webroot zu /var/www
ändern
vi /etc/apache2/sites-enabled/000-default.conf vi /etc/apache2/sites-enabled/default-ssl.conf
DocumentRoot /var/www
Apache neu starten
service apache2 restart
Webinstaller aufrufen
https://ip-adresse/froxlor
Froxlor ist nun installiert, aber noch nicht konfiguriert und die Dienste sind noch nicht eingerichtet. Bevor die Dienste eingerichtet werden können, muß Froxlor zuerst konfiguriert werden!
Froxlor konfigurieren
Zuerst den Menüpunkt System | Einstellungen vollständig durcharbeiten und erst danach den Menüpunkt Konfiguration.
Einstellungen | Systemeinstellungen | Verwende libnss-extrausers anstatt libnss-mysql einstweilen auslassen
Einstellungen | FCGID und Einstellungen | PHP-FMP einstweilen auslassen
Dienstekonfiguration
Alle Dienste vorher konfigurieren bevor Kunden, Domains, Datenbanken etc. zu Froxlor hinzugefügt werden, da sonst Froxlor nicht richtig funktionieren wird.
FCGID
Sort dafür, daß Froxlor bzw. die vHosts unter einem eigenen lokalen User laufen.
Nachdem im Menü Konfiguration bereits die Dienste libnss-extrausers, FCGID und PHP-FPM installiert wurden, kann FCGID im Menü Einstellungen aktiviert werden. Danach Verwende FCGID im Froxlor-Vhost aus dem Menü Einstellungen | Froxlor VirtualHost Einstellungen aktivieren und www-data
als Lokale Gruppe für FCGID (Froxlor Vhost) angeben.
Speichern und den Froxlor Master-Cronjob ausführen
php /var/www/froxlor/scripts/froxlor_master_cronjob.php --force --debug
Nochmal die FCGI-Installation ausführen
Eine Gruppe für froxlorlocal
anlegen
groupadd froxlorlocal
Der Froxlor-Mastercronjob muß fehlerfrei laufen, die Fehlermeldung
chown: ungültige Gruppe: „froxlorlocal:froxlorlocal“
darf nicht auftreten.
PHP wieder zum Leben erwecken mit
a2enmod php7.0
Fertig!
Jetzt nur noch Kunden, Domains und Datenbanken hinzufügen.