LAMP & CO auf dem Homeserver installieren
Apache und PHP für nextcloud vorbereiten
Zuerst installieren wir PHP und Apache2. Apache ist sehr Leistungsfähig und bietet mehr, als man für den Homeserver benötigt.
sudo apt install -y apache2 libapache2-mod-php7.4
sudo apt install -y php7.4-fpm php7.4-mysql php7.4-mbstring php7.4-dom php7.4-gd php7.4-json php7.4-curl php7.4-intl php-imagick php7.4-xml php7.4-zip php-pear
Anschließend erstellen wir die PHP Konfiguration für PHP-fpm in apache:
sudo vi /etc/apache2/conf-available/php-fpm.conf
In die Datei fügen wir die folgenden Inhalte ein:
<IfModule mod_fastcgi.c>
AddHandler php7-fcgi .php
Action php7-fcgi /php7-fcgi
Alias /php7-fcgi /usr/lib/cgi-bin/php7-fcgi
FastCgiExternalServer /usr/lib/cgi-bin/php7-fcgi -socket /run/php/php7.4-fpm.sock -pass-header Authorization -idle-timeout 60
<Directory /usr/lib/cgi-bin>
Require all granted
</Directory>
</IfModule>
Nach dem Speichern erlauben wir die Konfiguration:
sudo a2enconf php-fpm
Zu guter Letzt bereiten wir den Homeserver noch für mehrere vhosts
vor, so dass man einen besseren Überblick behält.
sudo mkdir -p /var/www/vhosts
Mariadb als Datenbank-Server
sudo apt install -y mariadb-server phpmyadmin
Anschließend mysql absichern:
sudo mysql_secure_installation
Enter current password for root (enter for none): Enter
Set root password? [Y/n]: N
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
UFW ports freischalten
sudo ufw allow 'Apache Full'