<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.hostsharing.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Miw00</id>
	<title>Hostsharing Wiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.hostsharing.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Miw00"/>
	<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Spezial:Beitr%C3%A4ge/Miw00"/>
	<updated>2026-04-25T23:47:25Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Nextcloud&amp;diff=5407</id>
		<title>Nextcloud</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Nextcloud&amp;diff=5407"/>
		<updated>2021-03-11T14:14:36Z</updated>

		<summary type="html">&lt;p&gt;Miw00: Kurzbeschreibung der Ausführung des OCC befehls zur Datenbankaktualisierung nach erfolgtem Versionsupdate&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Nextcloud =&lt;br /&gt;
&lt;br /&gt;
[https://nextcloud.com/ Nextcloud] ist eine PHP-basierte Open Source Lösung für gängige Cloud-Anwendungen, u.a.:&lt;br /&gt;
&lt;br /&gt;
* Filesharing unter Nutzern derselben Nextcloud, und mit der Öffentlichkeit&lt;br /&gt;
* Single-Sign-On Authentifizierung (SSO)&lt;br /&gt;
* Videokonferenzen (WebRTC)&lt;br /&gt;
* Online-Office Anwendung [https://www.collaboraoffice.com/ Collabora Online]&lt;br /&gt;
&lt;br /&gt;
Beispiel-Funktionalität, die über Plugins, sogenannte [https://apps.nextcloud.com/ &amp;quot;Apps&amp;quot;], bereit gestellt werden kann:&lt;br /&gt;
&lt;br /&gt;
* Kalender, Aufgabenverwaltung, Adressbuch&lt;br /&gt;
* Datei-Kollaboration (Kommentare zu Dateien, Verschlagwortung)&lt;br /&gt;
* Feedreader&lt;br /&gt;
* E-Mail-Programm&lt;br /&gt;
* Fotogalerie&lt;br /&gt;
* Musik- und Videowiedergabe&lt;br /&gt;
&lt;br /&gt;
= Nextcloud installieren =&lt;br /&gt;
&lt;br /&gt;
== Vorbereitungen ==&lt;br /&gt;
&lt;br /&gt;
In &#039;&#039;hsadmin&#039;&#039;, zum Beispiel mit &#039;&#039;hsscript&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;hsadmin&#039;&#039;-Shell starten mit:&lt;br /&gt;
&lt;br /&gt;
  hsscript -u xyz00 -i&lt;br /&gt;
  Password: ********&lt;br /&gt;
&lt;br /&gt;
Dann nacheinander anlegen:&lt;br /&gt;
&lt;br /&gt;
* Linux User als Domain-Administrator&lt;br /&gt;
* Subdomain &#039;&#039;cloud.example.org&#039;&#039;&lt;br /&gt;
* PostgreSQL-User &lt;br /&gt;
* PostgreSQL Datenbank&lt;br /&gt;
&lt;br /&gt;
  xyz00@hsadmin&amp;gt; user.add({set:{name:&#039;xyz00-cloud&#039;,password:&#039;geheim&#039;,shell:&#039;/bin/bash&#039;,comment:&#039;Nextcloud&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; domain.add({set:{name:&#039;cloud.example.org&#039;,user:&#039;xyz00-cloud&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqluser.add({set:{name:&#039;xyz00_nextclusr&#039;,password:&#039;geheim&#039;}})&lt;br /&gt;
  xyz00@hsadmin&amp;gt; postgresqldb.add({set:{name:&#039;xyz00_nextcloud&#039;,owner:&#039;xyz00_nextclusr&#039;}})&lt;br /&gt;
&lt;br /&gt;
== Nextcloud installieren ==&lt;br /&gt;
&lt;br /&gt;
Anmelden als Linux-User &#039;&#039;xyz00-cloud&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
  ssh -l xyz00-cloud xyz00.hostsharing.net&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;htdocs&#039;&#039; Verzeichnis vorbereiten&lt;br /&gt;
&lt;br /&gt;
  cd&lt;br /&gt;
  mkdir nextcloud&lt;br /&gt;
  cd doms/cloud.example.org&lt;br /&gt;
  rm -rf subs/www subs-ssl/www htdocs-ssl&lt;br /&gt;
  ln -s $HOME/nextcloud htdocs-ssl&lt;br /&gt;
&lt;br /&gt;
Nextcloud herunterladen und entpacken.&lt;br /&gt;
&lt;br /&gt;
  cd &lt;br /&gt;
  wget https://download.nextcloud.com/server/releases/nextcloud-20.0.8.zip&lt;br /&gt;
  unzip nextcloud-20.0.8.zip &lt;br /&gt;
  rm nextcloud-20.0.8.zip&lt;br /&gt;
  mkdir data tmp&lt;br /&gt;
  chmod 700 data tmp&lt;br /&gt;
&lt;br /&gt;
== Nextcloud konfigurieren ==&lt;br /&gt;
&lt;br /&gt;
Im Verzeichnis &amp;quot;$HOME/doms/cloud.example.org/fastcgi-ssl/&amp;quot; eine Datei &amp;quot;php.ini&amp;quot; anlegen mit folgendem Inhalt: &lt;br /&gt;
&lt;br /&gt;
  memory_limit=512M&lt;br /&gt;
  session.save_path=/home/pacs/xyz00/users/cloud/tmp&lt;br /&gt;
	&lt;br /&gt;
Dann mit einem Editor diese Datei bearbeiten: In der erste Zeile den korrekten Pfad des vorher angelegten tmp-Verzeichnisses eintragen.&lt;br /&gt;
&lt;br /&gt;
Im Browser auf die Seite &lt;br /&gt;
http://cloud.example.org gehen und den Anweisungen folgen.&lt;br /&gt;
&lt;br /&gt;
Auf der ersten Seite sind anzugeben:&lt;br /&gt;
&lt;br /&gt;
* Login und Passwort für den Administrator definieren&lt;br /&gt;
* PostgreSQL als Datenbanksystem&lt;br /&gt;
* PostgreSQL-User und Passwort aus dem ersten Schritt oben&lt;br /&gt;
* Name der PostgreSQL-Datenbank aus dem ersten Schritt&lt;br /&gt;
* &amp;quot;localhost&amp;quot; als Datenbankserver&lt;br /&gt;
* Das Verzeichnis &amp;quot;/home/pacs/xyz00/users/cloud/data/&amp;quot; als Daten-Verzeichnis&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Achtung!&#039;&#039;&#039; Die Felder für die Datenbank sind auf dem Startscreen hinter einem unscheinbaren Link versteckt. Um man das Formular für die Datenbank-Daten zu gelangen, muss man auf den Link klicken. Anschließend kann man die gewünschte Datenbank auswählen und die entsprechenden Daten eintragen. &#039;&#039;&#039;Das sollte geschehen, bevor man die Installation abschließt!&#039;&#039;&#039; Tut man dies nicht, wird Nextcloud mit SQLite installiert. Eine Änderung der Datenbank soll zwar laut Dokumentation auch später noch möglich sein, ging aber bei einem Test schief.&lt;br /&gt;
&lt;br /&gt;
== Nextcloud beschleunigen ==&lt;br /&gt;
&lt;br /&gt;
Dieser Teil ist optional.&lt;br /&gt;
&lt;br /&gt;
Wenn regelmäßig &#039;&#039;&#039;im Browser&#039;&#039;&#039; mit Nextcloud gearbeitet werden soll, ist Nextcloud im Browser oft sehr langsam. Um dies zu verbessern unterstützt Nextcloud die Anwendung von unterschiedlichen Cache-Verfahren (zum Beispiel Memcache, Redis).&lt;br /&gt;
&lt;br /&gt;
Redis ist auf den Hostsharing-Servern vorinstalliert und wird von den Nextcloud-Entwicklern empfohlen. &#039;&#039;&#039;In Verbindung mit einem Managed Webspace&#039;&#039;&#039; muss Redis als eigener Server &#039;&#039;&#039;Daemon&#039;&#039;&#039; angemeldet werden und ist &#039;&#039;&#039;kostenpflichtig&#039;&#039;&#039;. Siehe zu Kosten im Webspace Konfigurator unter: https://www.hostsharing.net/angebote/managed-webspace/ – &#039;&#039;&#039;1 individueller Serverdienst&#039;&#039;&#039; (Daemons).&lt;br /&gt;
&lt;br /&gt;
Mit dem Hostsharing-Service wird ein IP-Port für die Nutzung von Redis vereinbart.&lt;br /&gt;
&lt;br /&gt;
Für den Redis-Dienst lege ich folgende Struktur an:&lt;br /&gt;
&lt;br /&gt;
  cd ~&lt;br /&gt;
  mkdir -p ~/redis/etc&lt;br /&gt;
  mkdir -p ~/redis/var&lt;br /&gt;
&lt;br /&gt;
In &#039;&#039;~/redis/etc&#039;&#039; lege ich eine Konfigurationsdatei &#039;&#039;redis.conf&#039;&#039; für den Redis-Dienst ab:&lt;br /&gt;
&lt;br /&gt;
  daemonize yes&lt;br /&gt;
  pidfile /home/pacs/xyz00/users/cloud/redis/var/redis-server.pid&lt;br /&gt;
  requirepass mein-redis-passwort                    &lt;br /&gt;
  port 32123&lt;br /&gt;
  tcp-backlog 128&lt;br /&gt;
  bind 127.0.0.1&lt;br /&gt;
  timeout 300    &lt;br /&gt;
  loglevel notice&lt;br /&gt;
  logfile /home/pacs/xyz00/users/cloud/redis/var/redis.log&lt;br /&gt;
  databases 16&lt;br /&gt;
  save 900 1 &lt;br /&gt;
  save 300 10  &lt;br /&gt;
  save 60 10000&lt;br /&gt;
  slave-serve-stale-data yes&lt;br /&gt;
  appendonly no&lt;br /&gt;
  dbfilename dump.rdb&lt;br /&gt;
  dir /home/pacs/xyz00/users/cloud/redis/var&lt;br /&gt;
&lt;br /&gt;
Den Start und das Monitoring des Redis-Dienstes übernimmet &#039;&#039;monit&#039;&#039;. Hier eine geeignete Datei &#039;&#039;~/.monitrc&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
  set daemon 60&lt;br /&gt;
      with start delay 120&lt;br /&gt;
  set logfile /home/pacs/xyz00/users/cloud/monit/var/monit.log&lt;br /&gt;
  set idfile /home/pacs/xyz00/users/cloud/monit/var/monit.id&lt;br /&gt;
  set statefile /home/pacs/xyz00/users/cloud/monit/var/monit.state&lt;br /&gt;
  set mailserver localhost&lt;br /&gt;
  set mail-format { from: monit@cloud.example.com }&lt;br /&gt;
  set alert webmaster@example.com&lt;br /&gt;
  set httpd port 32123 address xyz00.hostsharing.net &lt;br /&gt;
      allow nextcloud:mein-monit-passwort&lt;br /&gt;
  check process redis with pidfile /home/pacs/xyz00/users/cloud/redis/var/redis-server.pid&lt;br /&gt;
      start program &amp;quot;/usr/bin/redis-server /home/pacs/xyz00/users/cloud/redis/etc/redis.conf&amp;quot;&lt;br /&gt;
      stop program &amp;quot;/bin/bash -c &#039;/bin/kill $( cat /home/pacs/xyz00/users/cloud/redis/var/redis-server.pid )&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Zugriffsrechte für die Datei &#039;&#039;~/.monitrc&#039;&#039; setzen:&lt;br /&gt;
&lt;br /&gt;
  cd ~&lt;br /&gt;
  chmod 600 .monitrc&lt;br /&gt;
&lt;br /&gt;
Verzeichnis für &#039;&#039;monit&#039;&#039; anlgegen:&lt;br /&gt;
&lt;br /&gt;
  cd ~&lt;br /&gt;
  mkdir -p monit/var&lt;br /&gt;
&lt;br /&gt;
In der Konfiguration der Nextcloud (in &#039;&#039;~/nextcloud/config/config.php&#039;&#039;) wird der Redis-Cache wie folgt konfiguriert:&lt;br /&gt;
&lt;br /&gt;
  &#039;memcache.local&#039; =&amp;gt; &#039;\\OC\\Memcache\\Redis&#039;,&lt;br /&gt;
  &#039;memcache.distributed&#039; =&amp;gt; &#039;\\OC\\Memcache\\Redis&#039;,&lt;br /&gt;
  &#039;memcache.locking&#039; =&amp;gt; &#039;\\OC\\Memcache\\Redis&#039;,&lt;br /&gt;
  &#039;redis&#039; =&amp;gt; &lt;br /&gt;
    array (&lt;br /&gt;
      &#039;host&#039; =&amp;gt; &#039;127.0.0.1&#039;,&lt;br /&gt;
      &#039;port&#039; =&amp;gt; 32123,&lt;br /&gt;
      &#039;password&#039; =&amp;gt; &#039;mein-redis-passwort&#039;,&lt;br /&gt;
      &#039;timeout&#039; =&amp;gt; 1.5,&lt;br /&gt;
    ),&lt;br /&gt;
&lt;br /&gt;
Um es perfekt zu machen nutze ich &#039;&#039;logrotate&#039;&#039; um die Logdateien zu organisieren. Dazu die Konfiguration in &#039;&#039;~/.logrotate&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
  compress&lt;br /&gt;
  /home/pacs/xyz00/users/cloud/redis/var/redis.log {&lt;br /&gt;
    rotate 5&lt;br /&gt;
    daily&lt;br /&gt;
    missingok&lt;br /&gt;
  }&lt;br /&gt;
  /home/pacs/xyz00/users/cloud/monit/var/monit.log {&lt;br /&gt;
    rotate 2&lt;br /&gt;
    weekly&lt;br /&gt;
    missingok&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Eine Crontab sorgt für den Start von Monit und das tägliche Rotieren der Logdateien:&lt;br /&gt;
&lt;br /&gt;
  # m h  dom mon dow   command&lt;br /&gt;
  HOME=/home/pacs/xyz00/users/cloud&lt;br /&gt;
  PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games&lt;br /&gt;
  MAILTO=webmaster@example.com&lt;br /&gt;
  @reboot /usr/bin/monit -c $HOME/.monitrc&lt;br /&gt;
  1 1 * * * /usr/sbin/logrotate -s $HOME/.logrotate.state $HOME/.logrotate&lt;br /&gt;
  1,16,31,46 * * * * /usr/bin/php7.3 $HOME/nextcloud/cron.php&lt;br /&gt;
&lt;br /&gt;
Die letzte Zeile der &#039;&#039;crontab&#039;&#039; enthält den Cronjob für die regelmäßigen Hintergrundprozesse der Nextcloud. Durch die Erledigung dieser Aufgaben mit Cron lässt sich die Nextcloud ebenfalls etwas beschleunigen.&lt;br /&gt;
&lt;br /&gt;
== Nextcloud mit Online Office ==&lt;br /&gt;
&lt;br /&gt;
In Nextcloud können Office-Dokumente (Textverarbeitung, Tabellen und Präsentationen) im Browser bearbeitet werden. Dazu steht bei Hostsharing die Collabora Developer Version zur Verfügung. Bestellung und Konfiguration sind hier im Wiki auf der Seite [[Collabora_Online]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
== Nextcloud mit Nextcloud Talk ==&lt;br /&gt;
&lt;br /&gt;
Über die Nextcloud-App &amp;quot;Talk&amp;quot; können Videokonfererenzen mit Screensharing durchgeführt werden. Für die regelmäßige Nutzung kann es sinnvoll sein einen eigenen TURN Server zu betreiben. Siehe dazu [[Coturn_Installieren]]&lt;br /&gt;
&lt;br /&gt;
= weiterführende Links =&lt;br /&gt;
&lt;br /&gt;
* [https://ownyourbits.com/2019/06/29/understanding-and-improving-nextcloud-previews/ Optimierung des Caches für Previews]&lt;br /&gt;
&lt;br /&gt;
= Updater über die Shell starten =&lt;br /&gt;
&lt;br /&gt;
Wenn die NextCloud sich nicht über das Webfrontend updaten lässt, kann der Updater auch per Shell im directory /updater durch ausführen des updater.phar gestartet werden:&lt;br /&gt;
&lt;br /&gt;
  xyz00-cloud@h00:~/nextcloud/updater$ chmod u+x updater.phar&lt;br /&gt;
  xyz00-cloud@h00:~/nextcloud/updater$ ./updater.phar&lt;br /&gt;
&lt;br /&gt;
Für weitere Informationen kann auf die offizielle Doku ab Ziffer 2. zurückgegriffen werden.&lt;br /&gt;
&lt;br /&gt;
* [https://docs.nextcloud.com/server/latest/admin_manual/maintenance/update.html#using-the-command-line-based-updater https://docs.nextcloud.com]&lt;br /&gt;
&lt;br /&gt;
Wartungsmodus per Shell (über die config.php) ein- oder ausschalten:&lt;br /&gt;
&lt;br /&gt;
Im nextcloud-Ordner die Datei config / config.php mit dem bevorzugten Shell-Editor (z. B. vim) öffnen.&lt;br /&gt;
Suche nach &#039;maintenance&#039; =&amp;gt; true,&lt;br /&gt;
Ändern von true in false&lt;br /&gt;
Speichern &lt;br /&gt;
Webseite neu laden&lt;br /&gt;
&lt;br /&gt;
= Webfrontend-Updater Probleme / Lösungen =&lt;br /&gt;
== Datenbank: Indizes | Primärschlüssel | Konvertierungen ==&lt;br /&gt;
&lt;br /&gt;
Aufgetreten nach erfolgtem Versionsupdate Nextcloud 19 auf Nextcloud 20&lt;br /&gt;
&lt;br /&gt;
Nach dem erfolgten Update lädt automatisch die Seite: &#039;&#039;&#039;Sicherheits- und Einrichtungswarnungen&#039;&#039;&#039; auf dieser wird angemerkt, dass manuelle Schritte für die Datenbank durchzuführen sind. Dies betrifft Indizes, Primärschlüssel und Konvertierungen. &lt;br /&gt;
&lt;br /&gt;
Per Shell in der directory /nextcloud folgende Kommandos ausführen:&lt;br /&gt;
&lt;br /&gt;
  xyz00-cloud@h00:~/nextcloud$ php occ db:add-missing-indices&lt;br /&gt;
  xyz00-cloud@h00:~/nextcloud$ php occ db:add-missing-primary-keys&lt;br /&gt;
  xyz00-cloud@h00:~/nextcloud$ php occ db:convert-filecache-bigint&lt;br /&gt;
&lt;br /&gt;
Wichtig ist hier dem durch Nextcloud angegebenen Kommando ein &#039;&#039;&#039;php&#039;&#039;&#039; voranzustellen.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;br /&gt;
[[Kategorie:CalDAV]]&lt;/div&gt;</summary>
		<author><name>Miw00</name></author>
	</entry>
</feed>