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‘
- Übersicht Artikel-Serie ‘Nextcloud 22 installieren’
- Teil 1 – Ubuntu Server installieren
- Teil 2 – Apache / MariaDB / PHP 7.4 installieren
- Teil 3 – MariaDB und PHP richtig konfigurieren
- Teil 4 – Nextcloud installieren / Apache Webserver konfigurieren
- Teil 5 – Nextcloud Web Installer starten
- Teil 6 – Webserver Firewall konfigurieren
- Teil 7 – Webserver mit Fail2Ban vor Brute-Force-Angriffe schützen

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

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.
Diesen Inhalt teilen:
Kommentar veröffentlichen