Nextcloud 22 installieren | Teil 3 – PHP und MariaDB sicher konfigurieren

Für Nextcloud PHP und MariaDB richtig und sicher konfigurieren

Im dritten Teil der Artikel-Serie ‚Nextcloud 22 installieren‚, werden wir die in Teil 2 installierten Module PHP und MariaDB, für einen Nextcloud-Instanz richtig sowie sicher konfigurieren.

Navigation Artikel-Serie ‚Nextcloud installieren‘

PHP und MariaDB konfigurieren
PHP und MariaDB konfigurieren

Benutzer für MariaDB einrichten und Datenbank für Nextcloud anlegen

Für den Betrieb des Nextcloud-Server ist es notwendig, eine Datenbank zu installieren und diese auch vernünftig gegen nichtgewollte Zugriffe abzusichern.

Daher werden wir zunächst einen Benutzer ’nc‘ erstellen, dann eine Datenbank ’nc‘ und dem erstellten Benutzer ’nc‘ die alleinigen Privilegien für die Nutzung dieser Datenbank vergeben.

Natürlich müsst ihr euch wie in den anderen Tutorial-Artikeln gezeigt, vorab via einem Terminal-Fenster per ssh mit dem Ubuntu-Server verbinden (siehe Bild 1).

// Anmeldung via SSH

ssh benutzer@ip-adresse

// root-Rechte holen

sudo su

// User für die Datenbank erstellen

mysql -uroot


CREATE USER 'nc'@'localhost' IDENTIFIED BY 'sicheres Passwort';

// Datenbank erstellen

CREATE DATABASE nc CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

// Privilegien vergeben

GRANT ALL PRIVILEGES ON nc.*TO 'nc'@'localhost'; FLUSH PRIVILEGES;

exit


Installation von ‚mysql_secure_installation‘

Wir haben nun erfolgreich einen Benutzer sowie eine Datenbank angelegt und dem angelegten Benutzer die Rechte zugeteilt.

Im nächsten Schritt wird nun die ‚mysql_secure_installation‘ durchgeführt.

Vergabe eines root-Passwort für die MariaDB-Datenbank

// Installation von  mysql_secure_installation

 mysql_secure_installation

/* NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): */


// Das current Password wurde noch nicht vergeben, daher bestätigen wir hier nur mit 'Enter' und vergeben in der nächsten Aufforderung ein sicheres Passwort für diesen Benutzer


/* Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success! */




Zugriffe durch anonyme Zugriffe unterbinden

In der nächsten Aufforderung bei der Installation von ‚ mysql_secure_installation‘, müssen wir noch den anonymen Zugriff auf die Datenbank abstellen und bestätigen hier die Nachfrage „Remove anonymous users“ mit ‚Y‘.

Auch bei der nächsten Frage, ob der Root-Login via Remote abgeschaltet werden soll, bestätigen wir mit ‚Y‘.

/* By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] */

// Mit 'Y' bestätigen

/* Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] */

// Auch hier werden wir diese Frage mit 'Y' beantworten

Entfernung der Test-Datenbank

Zum Schluss werden wir noch die Test-Datenbank entfernen. Daher beantworten wir auch die nächste Frage mit ‚Y‘.

Danach noch die neuen Privilegien laden und ihr solltet eine Bestätigung wie in Bild 2 sehen.

/* By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n]

*/

// Auch die Test-Datenbank werden wir entfernen und antworten daher mit 'Y'

/* Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success! */

// Die neuen Privilegien laden

/* Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n]

*/


Damit haben wir das Thema MariaDB in diesem Tutorial-Teil ‚PHP und MariaDB‘ vorerst mal abgehandelt.

PHP und MariaDB | PHP 7.4 Upload-Limit für Nextcloud erhöhen

Für die spätere Installation von Nextcloud können wir gleich auch das Upload-Limit für das Hochladen von Dateien erhöhen. Diese Anpassung können wir wie folgt vornehmen.

nano /etc/php/7.4/fpm/php.ini

In der im „nano-Editor“ geöffneten ‚php.ini‚ könnt ihr mit der Funktions-Taste ‚F6‚ oder der Tastenkombination ‚STRG+W‘ nach dem Eintrag ‚memory_limit‚ suchen und dieses Limit auf einen Wert eures zugewiesenen Arbeitsspeicher eurer virtuellen Maschine entsprechend erhöhen (zum Beispiel auf ‚4096M‘).

Des Weiteren müssen wir hier noch die folgenden Parameter ändern:

upload_max_filesize (zum Beispiel auf 16G, je nach Größer eurer späteren Dateiablage)

post_max_size (entsprechend dem Wert von upload_max_filesize)

Anpassung max_input_time, max_execution_time und max_input_vars

Wenn wir gerade schon dabei sind, die ‚php.ini‘ zu bearbeiten, so können wir auch gleich noch die ‚max_input_vars‚, die ‚max_input_time‚, sowie die ‚max_execution_time‚ hinaufsetzen beziehungsweise anpassen. Hier wählen wir für die ‚max_input_vars‚ einen Wert von ‚2000‚, für die ‚max_input_time‚ einen Wert von ‚8000‚ und für die ‚max_execution_time‚ einen Wert von ‚300‚ (siehe Bild 3 und Bild 4).

Haben wir die Einträge in der ‚php-ini‘ vorgenommen, so müssen wir das diese mit der Tastenkombination ‚STRG+O und Enter‘ abspeichern und mit ‚STRG+X‘ den nano-Editor verlassen.

Nach dem Speichern müssen wir noch den Dienst neustarten.

systemctl restart php7.4-fpm
Anpassung der php.ini unter Ubuntu für Nextcloud
Anpassung der php.ini für Nextcloud 22

Zusammenfassung – Nextcloud PHP und MariaDB

In diesem Teil ‚PHP und MariaDB‘ der Artikelserie ‚Nextcloud 22 installieren‘ haben wir nun die Datenbank eingerichtet sowie abgesichert und die php.ini für unsere spätere Nextcloud-Instanz angepasst.

In Teil 4 – ‚Nextcloud installieren / SSL für den Webserver aktivieren, werden wir nun endlich Nextcloud selbst auf unseren erstellten Webserver installieren.

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

Schreibe einen Kommentar

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