Zum Inhalt

Apache und Nextcloud installieren

Testumgebung und Zugangsdaten

Diese Anleitung ist für eine abgeschottete Testumgebung vorgesehen. Für eine bessere Übersicht und nachvollziehbare Übungsschritte die Benutzernamen und Passwörter aus der Vorlage auf der Vorbereitungsseite unverändert verwenden. Diese Zugangsdaten sind ausschließlich für die Testumgebung bestimmt.

Hier mit einer vorbereiteten Nextcloud-Datenbank fortfahren. Die fehlenden PHP-Erweiterungen und die zunächst einfache Apache-Konfiguration sind Teil des Lernwegs: Die Meldungen beobachten und anschließend die zugehörigen Korrekturen ausführen.

Nextcloud Web-Installer herunterladen

https://nextcloud.com/de/install/#instructions-server

Community Projekte - Das Installationsskript mit der rechten Maustaste auswählen und auf dem lokalen Computer speichern.

cd /var/www/
root@nc:# mkdir nextcloud
root@nc:# chown www-data:www-data nextcloud/
root@nc:# cd nextcloud
root@nc:# wget https://download.nextcloud.com/server/installer/setup-nextcloud.php
root@nc:# chown www-data:www-data setup-nextcloud.php

Apache-Webserver konfigurieren

vi /etc/apache2/sites-enabled/000-default.conf

Inahlt löschen und durch disen ersetzen.

<VirtualHost *:80>

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/nextcloud

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Apache-Konfiguration aktivieren

systemctl restart apache2

Apache-Module anzeigen

Die geladenen Apache-Module prüfen:

apachectl -t -D DUMP_MODULES

Die Ausgabe enthält beispielsweise php_module, wenn PHP als Apache-Modul (mod_php) eingebunden ist. Bei PHP-FPM erfolgt die Anbindung anders; dort ist php_module nicht erforderlich. Auch Module wie rewrite_module und headers_module erscheinen nur, wenn sie aktiviert sind. Diese Liste dient zur Prüfung der Apache-Konfiguration, nicht der einzelnen PHP-Erweiterungen.

Fehlende PHP-Erweiterungen erkennen

Für die weitere Einrichtung den Web-Installer im Browser über die IP-Adresse des Webservers öffnen, beispielsweise http://192.168.178.50/setup-nextcloud.php. 192.168.178.50 durch die tatsächliche Server-IP ersetzen.

Alternativ ist der Aufruf über den vorbereiteten Hostnamen möglich, beispielsweise http://nc.home.arpa/setup-nextcloud.php.

Hostnamen ohne DNS verwenden

Ohne DNS-Auflösung im Netzwerk ist auf dem verwendeten Client eine Zuordnung von Server-IP und Hostname in der Hosts-Datei erforderlich, beispielsweise 192.168.178.50 nc.home.arpa. Unter Linux liegt die Datei unter /etc/hosts, unter Windows unter C:\Windows\System32\drivers\etc\hosts. Die vollständigen Schritte stehen unter Vorbereitung für die Installation – Hostnamen ohne DNS auflösen.

Es können folgende fehlende Pakete angezeigt werden. Die Fehler Paket Namen beziehen sich auf die PHP Unterstüzung.

- zip
- dom
- XMLWriter
- libxml
- mb multibyte
- GD
- SimpleXML
- curl

Passende PHP-Pakete suchen und installieren

Eine mögliche vorgehensweise um heruszufinden welche Pakete fehlen.

root@nc:~# apt search php | grep -i zip

oder

apt install -y apt-file
apt-file update
apt-file search php | grep zip

php-zip: /usr/share/doc/php-zip/changelog.gz
php-zip: /usr/share/doc/php-zip/copyright
php8.5-zip: /usr/lib/php/20250925/zip.so
php8.5-zip: /usr/share/bug/php8.5-zip/control
php8.5-zip: /usr/share/bug/php8.5-zip/script
php8.5-zip: /usr/share/doc/php8.5-zip
php8.5-zip: /usr/share/lintian/overrides/php8.5-zip
php8.5-zip: /usr/share/php8.5-zip/zip/zip.ini

apt install php-zip

Installierte PHP-Erweiterungen prüfen

Die geladenen Erweiterungen der PHP-Kommandozeile anzeigen:

php -m

Diese Prüfung gilt für PHP-CLI. Apache kann eine andere PHP-Version oder Konfiguration laden. Für die im Browser verwendete PHP-Umgebung sind daher auch die Meldungen des Nextcloud-Installers maßgeblich. Die Ausgabe von apachectl zeigt dagegen Apache-Module und keine vollständige Liste der PHP-Erweiterungen.

Fehlende PHP-Erweiterungen und passende Pakete

PHP-Erweiterung Installation
ZIP (zip) apt install php-zip
DOM, XMLWriter, libxml und SimpleXML apt install php-xml
Multibyte-Zeichenketten (mbstring) apt install php-mbstring
GD (gd) apt install php-gd
cURL (curl) apt install php-curl

Benötigte PHP-Erweiterungen gemeinsam installieren

apt install -y php-zip php-xml php-mbstring php-gd php-curl

Apache nach der Paketinstallation neu starten

Damit Apache die neu installierten PHP-Erweiterungen lädt, den Webserver neu starten:

systemctl restart apache2

Einrichtung im Webbrowser abschließen

Web-Installer aufrufen

Den Web-Installer über die tatsächliche IP-Adresse oder den vorbereiteten Hostnamen des Servers öffnen. Beispiel:

http://192.168.178.50/setup-nextcloud.php

192.168.178.50 durch die Server-IP ersetzen. Die Seite nach der Paketinstallation neu laden und prüfen, ob noch fehlende PHP-Erweiterungen gemeldet werden.

Installationsverzeichnis auswählen

Der Web-Installer fragt nach dem Verzeichnis für die Nextcloud-Dateien:

Auswahl Eingabe Ergebnis
Im aktuellen Verzeichnis installieren . Installation direkt in /var/www/nextcloud
Neues Unterverzeichnis erstellen nextcloud Installation in /var/www/nextcloud/nextcloud

Administratorkonto und Datenbank einrichten

Im Einrichtungsassistenten die auf der Seite Vorbereitung für die Installation beschriebenen Benutzer-, Datenbank- und Verzeichnisangaben verwenden.
MySQL/MariaDB als Datenbank auswählen und die Zugangsdaten aus der Vorlage verwenden.


Die Nextcloud ist soweit Eingerichtet.

Weitere Warnungen werden unter Webserver und Zugriffsprüfung und PHP-Einstellungen behandelt.