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:
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.
# wget https://download.nextcloud.com/server/releases/nextcloud-VERSION.zip # unzip nextcloud-VERSION.zip # chown -R www-data:www-data /var/www/html/nextcloud
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 {} \;
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=31536000;
</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 (…)»
Lösbar via
# nano -w .htaccess
<IfModule mod_rewrite.c>
RewriteRule ^\.well-known/carddav /nextcloud/remote.php/dav [R=301,L]
RewriteRule ^\.well-known/caldav /nextcloud/remote.php/dav [R=301,L]
RewriteRule ^\.well-known/webfinger /nextcloud/index.php/.well-known/webfinger [R=301,L]
RewriteRule ^\.well-known/nodeinfo /nextcloud/index.php/.well-known/nodeinfo [R=301,L]
</IfModule>
Falls dies nicht klappt, öffne:
# nano /etc/apache2/sites-enabled/000-default-le-ssl.conf
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
# nano -w /var/www/html/nextcloud/config/config.php
Ergänze (für die Schweiz) die config.php mit folgender Zeile:
'default_phone_region' => 'CH',
Es wurde kein PHP Memory Cache konfiguriert. Konfiguriere zur Erhöhung der Leistungsfähigkeit, soweit verfügbar, einen Memory Cache.
Installiere in diesem Fall folgendes php-Module nach:
# apt install php-apcu
und ergänze
# nano -w /var/www/html/nextcloud/config/config.php
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
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
Die Datenbank wird zum Sperren von Transaktionsdateien verwendet. Um die Leistung zu verbessern, richte bitte, sofern verfügbar, Memcache ein.
Installiere redis und setzte die Rechte für den Benutzer redis auf www-data:
# apt-get install redis-server php-redis # usermod -a -G redis www-data
Editiere die config.php von Nextcloud mit:
# nano /var/www/html/nextcloud/config/config.php
und füge folgendes ein:
'memcache.locking' => '\\OC\\Memcache\\Redis',
'redis' =>
array (
'host' => 'localhost',
'port' => 6379,
),
starte den apache neu:
# systemctl restart apache2
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.
$ chmod +x /pfad/zur/datei/nextcloud-VERSION.AppImage $ ./nextcloud-VERSION.AppImage
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.