Nextcloud ist eine Cloud-Lösung zur Ablage von Daten und ein Fork von OwnCloud, der 2016 gegründet wurde. Es bietet laut Wiki einige Funktionen, die Owncloud nicht bietet bzw. nur in der Enterprise Edition bieten kann. Genaueres gibt es hier.
Warum on premise und nicht Google etc?
Der Vorteil liegt vor allem darin, dass man selbst Herr über die Daten ist und sich nicht vorschreiben lassen muss welche Daten man ablegt bzw. wo sie liegen.
Aber! Kein Vorteil ohne Nachteil: Natürlich bedeutet das gleichwohl, dass man auch selbst für die Sicherheit verantwortlich ist.
Acht Unterschiede zwischen, die für Nextcloud sprechen
Installation Apache2.4, MySQL(MariaDB) 10.1.26 und PHP7.0
apt-get install mysql-server apache2 libapache2-mod-php7.0 php7.0-xml php7.0-cgi php7.0-mysql php7.0-mbstring php7.0-gd php7.0-curl php7.0-zip unzip phpmyadmin (phpmyadmin ist optional)
Datenbank und User anlegen
Zuerst in die DBMS einloggen mit.
mysql -u root -p
Danach die Datenbank anlegen.
CREATE DATABASE nextcloud;
Jetzt den User "nextclouduser" anlegen und ihm die Rechte für die DB geben.
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'deinpasswort';
GRANT ALL ON nextcloud.* TO 'nextclouduser'@'localhost';
FLUSH PRIVILEGES;
exit;
NextClout herunterladen und entpacken
Wir öffnen die Downloadseite von Nextcloud und suchen uns die letzte Version, die released wurde. Bei mir war es die 12.0.4. Danach entpacken wir das. Am Beispiel schaut das also so aus:
wget https://download.nextcloud.com/server/releases/nextcloud-12.0.4.zip
unzip
nextcloud-12.0.4.zip
Wenn alles richtig gelaufen ist, dann befindet sich der entpackte Ordner "nextcloud" in /var/www/html/.
Nun müssen wir die Dateien und Verzeichnisse von Nextcloud dem Apache (www-data) geben. Er soll also Eigentümer der Daten sein. Das wird benötigt, weil der Apache in diesen Verzeichnissen lesen und schreiben wird.
chown -R www-data:www-data /var/www/html/nextcloud
Den Installationsprozess starten
Nach dem wir also den Apache samt PHP und MySQL installiert und die Datenbank sowie den User angelegt haben, haben wir Nextcloud in das Verzeichnis das DocumentRoot des Apache kopiert und die Dateien dem User www-data (Apache) übergeben.
Es ist jetzt Zeit den Installationsprozess zu starten, sodass NextCloud die Datenbank füllen kann und einige Einstellungen vornehmen kann.
Dazu gehen wir mit dem Browser auf die folgende Adresse: http://hier.deine.server.ip/nextcloud
Es ist nun folgende Seite zu sehen. Die Felder werden entsprechend ausgefüllt. Danach auf "Abschließen" klicken, dass der Installationsprozess starten kann.
Der Installationsprozess ist dann abgeschlossen und NextCloud einsatzbereit, wenn folgende Seite angezeigt wird. So schaut NextCloud aus. Fast genau so wie OwnCloud :-)
Jetzt muss nur noch der passende Client heruntergeladen und installiert werden, dass man auch damit arbeiten kann.
Aber HALT! Das war es noch nicht ganz. In diesem Zustand senden wir alle Informationen unverschlüsselt über das Internet. Eine ziemlich blöde Idee! Wir brauchen noch eine Verschlüsselung der Daten und was wäre besser geeignet als eine HTTPs-Verbindung herzustellen. Wer kein Geld für ein Zertifikat ausgeben will, der kann mit LetsEncrypt sich ein gültiges Zertifikat holen. Es kostet nichts, aber hat den Umstand, dass man es alle drei Monate erneuern muss. Glücklicherweise bietet LetsEncrypt dafür ein Script, was behilflich ist. Außerdem bekommt man rechtzeitig eine Erinnerungs-Email zugeschickt.
Update:
Gerade ein schickes Tutorial gefunden, wie man HTTPs mittels Certbot bekommt und wie man es erneuern kann. Ich habe das mal zusammengefasst.
1. apt install python-certbot-apache
2. certbot --apache
3. Die FQDN eintragen, um die es geht.
4. Eine gültige Email-Adresse verwenden :-)
Den Rest macht Certbot von selbst.