Wir erstellen hier die Datenbank test1 und den User lightning:
Installiere MariaDB:
# apt install default-mysql-server mariadb-server
Starte im Terminal Maria DB:
$ su -
# mariadb
hiermit gelangen wir in den typischen MariaDB-Prompt.
Enter password: ROOT-PASSWORD
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 1120
Server version: 10.5.12-MariaDB-0+deb11u1 Debian 11
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> EINGABE
Datenbank «test1» anlegen:
CREATE DATABASE test1;
Datenbank anzeigen lassen:
SHOW DATABASES;
User «lightning» und Passwort «finalfantasy13» anlegen:
CREATE USER 'lightning'@'localhost' IDENTIFIED BY 'finalfantasy13';
User anzeigen lassen:
SELECT User FROM mysql.user;
User «lightning» der Datenbank «test1» zuweisen:
GRANT ALL ON test1.* TO lightning@localhost IDENTIFIED BY 'finalfantasy13';
Zugewiesen User anzeigen lassen (Kontrolle):
SHOW GRANTS for 'lightning'@'localhost';
die soeben erstellte Datenbank kann nun per USE ausgewählt werden.
MariaDB [(none)]> USE test1;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [test1]> EINGABE
phpmyadmin
phpmyadmin ist ein Tool, welches die Verwaltung der Datenbanken enorm vereinfacht. Wer sich somit nicht mit der Kommandozeile (CLI) auseinander setzten möchte, geht den Weg via phpmyadmin. Den gesamten Ordner verschieben wir nach: /var/www/html
um diesen dann im Browser per: https://example.com/phpmyadmin
aufrufen zu können. Ab hier steht uns nun eine grafische Oberfläche zur Verfügung. Standardmässig ist das root-Login für phpmyadmin deaktiviert. Dies kann mit:
SET PASSWORD FOR 'root'@localhost = PASSWORD("starkes-passwort-hier-rein");
umgangen werden.
phpmyadmin bietet eine grafische Oberfläche zur Administration von MariaDB.
PostgreSQL
Falls als Datenbank-Server PostgreSQL läuft, wird die Datenbank (mydb) und der dazugehörende Benutzer (lightning) mit dem Tool psql erstellt:
root@supertux:~# su - postgres
postgres@supertux:~$ psql
psql (13.5 (Debian 13.5-0+deb11u1))
Geben Sie »help« für Hilfe ein.
postgres=# create database test1;
CREATE DATABASE
postgres=# create user lightning with encrypted password 'finalfantasy13';
CREATE ROLE
postgres=# grant all privileges on database test1 to lightning;
GRANT
postgres=# \q
Nextcloud ist ideal geeignet, um seine eigene Cloud-Lösung zu realisieren. Die Software lässt sich auf dem eigenen Hosting leicht installieren und lässt keine Wünsche offen. Ob nun am Windows-PC oder am Linuxrechner: deine Daten bleiben in deiner Hand und man ist an keinen Hersteller und Anbieter gebunden.
Nextcloud ist sehr gut dokumentiert und im Internet gibt es hunderte von Anleitungen, welche die Installation detailliert beschreiben. Ziel unserer Installation ist «der grüne Haken» zu bekommen:
Alles richtig gemacht! – die Überprüfung des Systems liefert uns keine Fehler und keinen Warnhinweis zurück. Machbar ist dies jedoch nur auf dem eigenen Server. Bei einem Managed Hosting sind die Freiheiten bezüglich Servereinstellungen eingeschränkt.
Installation beginnen
Die Installation von nextcloud ist am einfachsten via ssh-Zugang. Lade per wget die Datei herunter und entpacke sie. Das Hochladen via FTP-Client ist nur bedingt zu empfehlen, da es beim Hochladen zu Fehlern kommen kann. Die aktuelle Version von nextcloud (März 2022) hat etwas über 22000 Dateien.
Alternativ kann die Berechtung für nextcloud im entprechenden Ordner /var/www/html/nextcloud auch mit dem find-Befehl gesetzt werden:
# find . -exec chown www-data:www-data {} \;
Ein Fehler, bevor die Installation überhaupt beginnt: der Server konnte die Anfrage nicht fertig stellen. Sollte dies erneut auftreten, sende bitte die nachfolgenden technischen Einzelheiten an Deinen Server-Administrator. Weitere Details können im Server-Protokoll gefunden werden. – Entfernte Adresse: 123.456.7.890 diese Fehlermeldung schliesst auf fehlende Benutzerrechte hin. nextcloud benötigt apache2-Rechte, welche mit: chown -R www-data:www-data /var/www/html/nextcloud gesetzt werden können.
weitere Fehlermeldungen und schrittweises abarbeiten
nextcloud benötigt eine MySQL-Datenbank. Gibt nextcloud diesbezüglich eine Fehlermeldung aus, liegt es in der Regel an fehlenden Berechtigungen des Datenbankbenutzers. Ist nextcloud Installiert überprüfen wir die Sicherheits- und Einrichtungswarnungen. Viel Meldungen lassen sich über die .htacces, php.ini oder durch Installation des fehlenden php-Moduls beheben. Spätestens jetzt zeigt sich auch der Vorteil eines «eigenen» Servers, falls tiefere Eingriffe nötig sind. Das output_buffering lässt sich z.B. am einfachsten via php.ini beheben.
Vorgehen (einige Beispiele)
Die PHP-Speichergrenze liegt unterhalb des empfohlenen Wertes von 512MB.
Lösbar über:
# nano -w .htaccess
php_value memory_limit 512M
Der «Strict-Transport-Security»-HTTP-Header ist nicht auf mindestens «15552000» Sekunden eingestellt. Für
mehr Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in den Sicherheitshinweisen erläutert ist.
Lösbar via
# nano -w .htaccess
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15768000;
</IfModule>
Aktiviere anschliessend das Modul headers und starte den apache2 neu:
# a2enmod headers
# service apache2 restart
Dein Webserver ist nicht richtig konfiguriert, um «/.well-known/webfinger aufzulösen (…)»
und setze die Weiterleitungen hier ein: # nextcloud Redirect #
Redirect 301 /.well-known/carddav /nextcloud/remote.php/dav
Redirect 301 /.well-known/caldav /nextcloud/remote.php/dav
Redirect 301 /.well-known/webfinger /nextcloud/index.php/.well-known/webfinger
Redirect 301 /.well-known/nodeinfo /nextcloud/index.php/.well-known/nodeinfo
Für Deine Installation ist keine Standard-Telefonregion festgelegt. Dies ist erforderlich, um Telefonnummern in den Profileinstellungen ohne Ländercode überprüfen zu können. Um Nummern ohne Ländercode zuzulassen, füge bitte «default_phone_region» mit dem entsprechenden ISO 3166-1-Code 7 der gewünschten Region hinzu.
Die Standard-Telefonregion benötigen einen Abstecher nach
mit folgender Zeile: 'memcache.local' => '\OC\Memcache\APCu',
Öffne nun
# nano -w /etc/php/7.4/apache2/php.ini
und füge ganz unten folgenden Befehl ein: apc.enable_cli=1
manche Hinweise lassen sich nur mit einem tieferen Eingriff am Server selbst beheben.
Starte nun den apache2 neu:
# systemctl restart apache2
Dem Modul php-imagick fehlt die SVG-Unterstützung. Für eine bessere Kompatibilität wird empfohlen, es zu installieren.
Installiere folgendes Paket:
# apt install libmagickcore-6.q16-6-extra
The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply opcache.interned_strings_buffer to your PHP configuration with a value higher than 8.
Lösbar via
# nano -w /etc/php/7.4/apache2/php.ini
Erhöhe den Wert von 8 auf eine höhere Zahl und entferne ggf. das Semikolon: ; The amount of memory for interned strings in Mbytes.
;opcache.interned_strings_buffer=8 ; The amount of memory for interned strings in Mbytes.
opcache.interned_strings_buffer=16
Starte anschliessend den Webserver neu:
# /etc/init.d/apache2 restart
nextcloud in Debian integrieren
Um nextcloud in Debian GNU / Linux zu integrieren, lade das Linux AppImage herunter. Windows 10/11 Nutzer laden sich die msi-Datei hier herunter.
Die Datei wird ausführbar gemacht und anschliessend gestartet.
Anschliessend kann der Client gestartet werden und beginnt mit der Installationsroutine. Gib hier deine Anmeldedaten für deine nextcloud ein. Hat alles geklappt, ist nextcloud intergriert und fragt, was synchronisiert werden soll:
Die App beginnt nur mit der Synchronisation.
nextcloud kann noch mehr…
E-Mail, Kalender und Kontakte lassen sich allsamt in nextcloud integrieren und mittels App auf dem Smartphone synchronisieren. Die App DAVx5 sorgt für die reibungslose Synchronisation zwischen Android-Smartphone und deiner eigenen Cloud.
# ======================= Global Settings ======================= #
[global]
## Browsing/Identification ###
# Change this to the workgroup/NT-domain name your Samba server will part of
workgroup = smb
####### Authentication #######
security = user
# This option controls how unsuccessful authentication attempts are mapped
# to anonymous connections
map to guest = bad password
# ======================= Share Definitions ===================== #
[homes]
comment = Home Directories
browseable = no
# By default, the home directories are exported read-only. Change the
# next parameter to 'no' if you want to be able to write to them.
read only = no
create mode = 0750
[public]
path = /pfad/zum/Ordner
public = yes
writable = yes
comment = smb share
printable = no
guest ok = yes