Nextcloud 22 installieren | Teil 2 – Nextcloud Webserver installieren

Nextcloud Webserver, Datenbank und PHP installieren und einrichten

Im zweiten Teil ‚Nextcloud Webserver installieren‘ der Artikel-Serie ‚Nextcloud 22 installieren‚ beschäftigen wir uns mit der Installation des Webservers Apache, der Datenbank MariaDB und zu guter Letzt, mit der Installation von PHP 7.4 für die Einrichtung unseres Nextcloud-Server.

In Teil 1 dieser Artikel-Serie, habe ich euch gezeigt, wie ihr einen Ubuntu-Server in einer virtuellen Umgebung als Unterbau für die Nextcloud installiert und den Zugang per Terminal-Fenster oder Putty zum Server herstellen könnt.

Voraussetzungen für das Installieren des Nextcloud Webserver

Um den Nextcloud Webserver installieren zu können, müsst ihr wie in Teil 1 beschrieben, den Ubuntu-Server in eurer virtuellen Maschine installiert haben.

Des Weiteren braucht ihr auf euren Computer für den Zugriff auf den Ubuntu-Server ein Tool, mit dem ihr eine SSH-Verbindung zum Server aufbauen könnt. Dazu könnt ihr entweder ein Terminal-Fenster auf euren Apple- oder Linux-Computer nutzen oder ihr nutzt das Programm „Putty“ für den SSH-Zugriff auf eurem Windows-Rechner. Ich nutzte in diesem Beispiel das Tool „Windows Terminal“ von Microsoft, welches ihr im Microsoft-Store auf eurem Windows 10-Rechner herunterladen könnt.

Vorarbeiten Nextcloud Webserver installieren

Bevor wir beginnen den Webserver für unseren Nextcloud-Server zu installieren, müssen wir zunächst den Ubuntu-Server aktualisieren, die Repositories anpassen (APT) und entfernen der Cloud-Init von Ubuntu-Server.

Des Weiteren werden wir noch die ’net-tools‘ für den Ubuntu-Server installieren. Dieses dient dazu, dass wir zum Beispiel mit dem Befehl ‚ifconfig‘ die aktuellen Netzwerk-Einstellungen überprüfen können.

SSH-Verbindung zum Ubuntu-Server herstellen

Als erstes öffnet ihr euer Terminal-Fenster oder Putty und stellt eine SSH-Verbindung mit eurem Ubuntu-Server her.

ssh benutzer@IP-Adresse Ubuntu Server

// In meinem Fall lautet der Befehl wie folgt

ssh [email protected]

// Nach der Aufforderung das Passwort einzugeben, gibt ihr das von euch gewählte Passwort für den Benutzer ein.


Aktualisierung Ubuntu-Server

Für die Aktualisierung des Ubuntu-Servers gibt ihr den folgenden Befehl in eurer Terminal-Fenster ein. Hierfür müsst ihr diesen Befehl als Superuser ausführen.

// Anmeldung als Superuser

sudo su

// Bei der Nachfrage des Passworts für den Superuser, bitte euer gewähltes Passwort eintragen.

// Aktualisierung Ubuntu-Server

apt-get update && apt-get upgrade -y

Entfernen der Cloud-Init vom Ubuntu-Server

Ubuntu-Server bring von Haus aus die Cloud-Init-Dienste mit. Diese Dienste brauchen wir für unseren Einsatzzweck nicht und daher werden wir diese deinstallieren.

Mit dem folgenden Befehl erstellen und bearbeiten wir die datasource_list

// Erstellung und Bearbeitung der datasource_list

nano /etc/cloud/cloud.cfg.d/90_dpkg.cfg

// danach in der Liste den Eintrag auf 'None' abändern (Siehe Bild 1 und Bild 2)

Nach der Anpassung der datasource_list können wir jetzt das Cloud-Init-Paket deinstallieren.

// Deinstallieren Cloud-Init

apt-get purge cloud-init -y

// Entfernung der restlichen Cloud-Init-Dateien

rm -rf /etc/cloud/ /var/lib/cloud/

// Server neustarten

reboot

// Nach dem Neustart wieder eine Verbindung mit dem Ubuntu-Server per SSH herstellen und mit 'sudo su' als root anmelden

Ab jetzt werden bei einem Neustart des Ubuntu-Servers, keine Cloud-Init-Dienste mehr geladen.

Installieren der net-tools für Ubuntu

Um die Einstellungen der Netzwerk-Konfiguration bei Bedarf zu kontrollieren, werden wir noch die net-tools unter Ubuntu installieren. Damit stehen euch dann die Netzwerk-Befehle wie netstat, ifcongi, etc. in der Console zur Verfügung.

// Installation net-tools unter Ubuntu

apt install net-tools -y

Schritt 1 – Nextcloud Webserver installieren – Apache2, MariaDB und PHP 7.4-FPM installieren

Nachdem wir den Dienst Cloud-Init-Dienst deinstalliert haben und unser Server auf dem aktuellen Stand ist, können wir endlich den Nextcloud Webserver installieren (besser den Webserver für Nextcloud installieren 😉 ).

Webserver, Datenbank und PHP installieren

Zusammen mit dem Webserver Apache2 werden wir auch die Datenbank MariaDB und PHP in der Version 7.4 mitinstallieren.

// Installation Webserver, Datenbank und PHP 7.4

apt-get install apache2 mariadb-server libapache2-mod-php7.4 ssl-cert -y

Vor und nach der Installation sollte es in eurem Terminal-Fenster wie in den beiden unteren Bildern ausschauen.

Nextcloud Webserver installieren – Installation der PHP-Zusatzpakete für Nextcloud

Nach der Fertigstellung der Installation müssen wir noch einige Zusatzpakete für PHP installieren. Diese werden wir später für die Nextcloud-Installation benötigen.

// Installation PHP-Zusatzpakete

apt-get install php7.4-gd php7.4-mysql php7.4-curl php7.4-mbstring php7.4-intl php7.4-gmp php7.4-bcmath php7.4-imagick php7.4-xml php7.4-zip php7.4-fpm -y

// Aktivieren der Module setenvif, rewrite, headers, env, dir, proxy_fcgi php7.4-fpm und mime

a2enmod setenvif rewrite headers env dir mime proxy_fcgi

// Nach dem Aktivieren sollten wir den apache2-Dienst neustarten

systemctl restart apache2

// Überprüfen ob Port 80 auf dem Server erreichbar ist

netstat -tulpn

// Wie 

Liste der PHP-Module die für den Nextcloud-Betrieb benötigt werden

PHP (7.3 or 7.4)
PHP module ctype
PHP module curl
PHP module dom
PHP module filter (only on Mageia and FreeBSD)
PHP module GD
PHP module hash (only on FreeBSD)
PHP module iconv
PHP module JSON
PHP module libxml (Linux package libxml2 must be >=2.7.0)
PHP module mbstring
PHP module openssl
PHP module posix
PHP module session
PHP module SimpleXML
PHP module XMLReader
PHP module XMLWriter
PHP module zip
PHP module zlib

Database-Connector:

PHP module pdo_mysql (MySQL/MariaDB)

Überprüfen ob alle benötigten PHP-Module vorhanden sind

Um zu überprüfen ob alle benötigten PHP-Module (siehe PHP-Modul-Liste im oberen Info-Feld) auf unserem Ubuntu-Server installiert sind, könnt ihr mit dem folgenden Befehl überprüfen.

php -m

Aktivieren der Module setenvif, rewrite, headers, env, dir und mime

Die in der Überschrift genannten Module müssen noch aktiviert werden. Dafür nutzen wir den folgenden Befehl:

a2enmod setenvif rewrite headers env dir mime

und überprüfen mit dem folgenden Befehl, ob der Port 80 erreichbar ist (siehe Bild 1). Wenn der Port auf Empfang steht so könnt ihr im Browser durch die Eingabe der IP-Adresse eures Ubuntu-Servers die ‚Default-Seite‘ von dem Apache2-Webserver betrachten (siehe Bild 2)

//Überprüfung der aktiven Ports auf dem Ubuntu-Server

netstat -tulpn

Schritt 2 – Nextcloud Webserver installieren – SSL aktivieren

Um eine sichere Verbindung zum Webserver aufbauen zu können, müssen wir zunächst die SSL-Verschlüsselung aktivieren. Nach der Aktivierung lauscht der Server auch auf den Port 443 und wir können dann eine Verbindung via https mit dem Webserver herstellen. Natürlich werden wir bei dem Aufrufen der Default-Seite eine Zertifikat-Sicherheitswarnung bekommen, da es sich bei dem erstellten Zertifikat um ein selbstsigniertes SSL-Zertifikat handelt.

// Aktivierung des SSL-Moduls

a2enmod ssl

// danach den Webserver neustarten um die Änderung zu übernehmen

systemctl restart apache2

// SSL-Site als Default setzen

a2ensite default-ssl

// Apache2 neuladen

systemctl reload apache2

// Überprüfen ob der Port 443 aktiviert wurde

netstat -tulpn

// Ergebnis sollte wie auf Bild 1 aussehen und wir können nun im Browser die Webseite via https://IP-Adresse verschlüsselt aufrufen (Bild 2 und Bild 3)

Sicherheitwarnung SSL-Zertifikat

Das selbstsignierte SSL-Zertifikat für unseren Nextcloud Webserver funktioniert für unser hier gedachtes Beispiel wunderbar.
Für einen produktive Umgebung und / oder auf einen öffentlich zugänglichen Webserver / Nextcloud muss ein öffentlich signiertes SSL-Zertifikat wie zum Beispiel von Let´s Encrypt genutzt werden. So gibt es keine Sicherheitswarnung beim Aufrufen des Webservers und man kann sicher sein, dass man eine sichere Verbindung mit dem Webserver aufgebaut hat.

Zusammenfassung – Nextcloud Webserver installieren

In diesem Teil ‚Nextcloud Webserver installieren‘ der Artikelserie ‚Nextcloud 22 installieren‘ haben wir nun alle erforderliche PHP-Module für eine Nextcloud-Instanz installiert, einen Apache2 -Webserver installiert und die Verbindung dorthin mit einer verschlüsselten Verbindung via SSL abgesichert und zu guter Letzt, noch die Datenbank MariaDB installiert.

In Teil 3 dieser Artikel-Serie werden wir die Datenbank zusammen mit PHP richtig und sicher konfigurieren.

Möchtest du den nächsten Teil dieser Artikel-Serie nicht verpassen, dann melde dich doch bei meinem Newsletter an.

Danke sagen und diesen Blog unterstützen…

Danke sagen…

Wer von euch diesen Blog gerne unterstützen möchte, der kann aus verschiedenen Arten der Spenden auf der Seite ‚Unterstützen‘ wählen.

Jede Unterstützung ist Willkommen…

Patreon Spendenbild_250_114_transparent

 

Gerne würde ich euch noch mehr kostenfreie und vor allem werbefreie Inhalte hier sowie auf anderen Kanälen bereitstellen, doch ist der Aufwand für die Erstellung dieser Inhalte schon sehr zeitintensiv und vor allem langsam auch sehr kostenintensiv geworden (Kosten für Hosting, Equipment, Software und Arbeitszeit) und daher wird euch hier auf diesem Blog momentan noch Werbung angezeigt.

Daher möchte ich euch darum bitten, mich vielleicht durch eine kleine Spende zu Unterstützen.

Vielen Dank und lieben Gruß

Marcel

Hi mein Name ist Marcel und ich bin der Herausgeber von diesem Blog ‚SecureBits‘. Ich selbst bin schon ewig mit der IT verbunden und interessiere mich hauptsächlich für die Themen IT-Sicherheit, Programmierung und Gesellschaft und betreibe diesen Blog aus Leidenschaft. Gerne setze ich mich mit meinen Beiträgen für eine sichere IT-Landschaft ein, um so das Recht auf Privatsphäre auch mit kleinen Mitteln zu schützen. Freue mich immer über Kommentare von euch und wenn es mir möglich ist, helfe ich gerne und kostenlos (im privaten Bereich, ansonsten bitte mir eine Anfrage schicken) weiter. Meine Idee ist es, Interessierten der Informationstechnik, einfache Schritt- für Schritt-Anleitungen hier im Blog sowie auf meine noch jungen YouTube-Kanal zur Verfügung zu stellen, damit ihr diese Anleitungen für eure Projekte nutzen könnt. Viel Spaß beim Lesen. Gruß Marcel

2 Kommentare

  1. Thomas Antworten

    Hallo Secure-Bits Team,

    danke für die gute und ausführliche Anleitung.

    Bei Teil 5 „NextCloud Web Installer Installation“ erhalte ich immer noch die Sicherheitswarnung „PHP Speichergrenze unterhalb 512MB“ .

    Die Einstellungen in der php.ini wurden korrekt durchgeführt.
    Woran liegt das ?

    1. Marcel von SecureBits Autor Antworten

      Hallo Thomas,

      vielen Dank für deine Frage und entschuldige bitte die späte Antwort auf deine Frage.

      Hast du den PHP-Service wie in der Anleitung im Beitrag nach der Änderung der ini mit dem Befehl “ systemctl restart php7.4-fpm.service “ neu gestartet?

      Grüße Marcel

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert