Inside the trash-cloud


Von Roman (romanf auf trash.net)


Unterliegende Services

Hinweis: Dieser Artikel beschreibt die technischen Details der trash-cloud. Der Service aus End-User Sicht wird hier beschrieben: Dienste -> Trash-Cloud

 

Die trash-cloud läuft als User "www-data" (Gruppe "www-data") auf der Apache-Instanz web1. Die Document-Root ist unter /d1/owncloud-www.

Die MySQL-Datenbank läuft auf mysql1. Falls nötig kann die DB über PHPMyAdmin unter https://admin.trash.net/phpmyadmin/ administriert werden.

Periodische Arbeiten werden mittels Cronjob gemäss Dokumentation Background Jobs als User www-data durchgeführt. In der Konfig der trash-cloud ist entsprechend "Cron" konfiguriert.

Es ist aktuell keine Quota innerhalb der trash-cloud definiert.

Berechtigungen

LDAP: OwnCloud will die entryUUID lesen, dies ist eine interne GUID pro Objekt. So wie es aussieht, legt es anschliessend den Datenbereich des Benutzers nach dieser GUID benannt ab. Man muss also vorsichtig sein, wenn man Benutzer im LDAP löscht und nachher neu anlegt. Sie haben dann eine andere GUID, dann kommt Owncloud vermutlich durcheinander, bzw. der User nicht mehr auf seine (alten) Files.

Die Rechte unter /d1/owncloud-www und /d1/owncloud-data sind so angepasst, dass User www-data schreiben kann. Das data-Verzeichnis liegt - entgegen dem Default - unter /d1/owncloud-data um Zugriffe durch den Webserver vollständig ausschliessen zu können (da webroot ja auf /d1/owncloud-www gelegt ist).

Die Benutzer werden über LDAP Authentication (Setup gemäss User Authentication with LDAP) authentisiert, können also den normalen trash-net Account und Passwort verwenden.

Sync-Clients

Die trash-cloud lässt sich zwar bequem über das Web-Interface bedienen, aber ihre wahre Stärke liegt natürlich im automatischen Synchronisieren von Daten auf verschiedenen Geräten. Dafür werden Sync-Clients benötigt. Wir haben erfolgreich getestet:

  • Windows 10: ownCloud Client 2.4 (getestet von Roman)
  • Linux (OpenSuse): ownCloud Client 2.2 (getestet von Roman, Hinweis: Der Client mag keine Arten von Links und gemounteten Verzeichnissen, produziert sonst nur Segmentation Fault...)
  • Android: FolderSync (getestet von Roman)
  • Android: ownCloud Client (getestet von Lukas)
  • iOS: (getestet von Frank)
  • OS X: (getestet von Frank)

Erweiterungen / Apps

  • Mozilla Sync: Ist aktuell NICHT aktiviert, weil aktuelle Firefox Versionen nur noch in der Desktop-Variante einen Murks erlauben, um den Sync-Server selber zu setzen. Wir behalten die Situation aber im Auge und aktivieren die App wieder, wenn sich die Situation verbessert. [Zu verifizieren: Damit es funktioniert muss für den jeweiligen User lokal ein pseudo Account angelegt werden (username = trash.net Account). Der User muss dann in seinem trash-cloud-Profil eine Email eintragen (z.b. die trahs.net Email).]
  • Calendar: Ist aktiviert
  • Contacts: Ist aktiviert
  • Tasks: Ist aktiviert
  • OwnNote: Ist NICHT MEHR aktiviert, da nicht mit OwnCloud 10 kompatibel. Hat einen praktischen Andoird Client (wenn man denn sein Passwort wirklich auf einem Android Gerät speichern will). OwnNote ist auf "Datenbank und Verzeichnis" konfiguriert. Somit funktioniert der Import von Notizen wie hier beschrieben, wenn die zu importierenden Files in der trash-cloud in einem Verzeichnis "Notes" abgelegt werden.

Vorgehen bei einem Update/Upgrade

  1. Als Basis dient Die offizielle Anleitung
  2. Login als Admin und alle 3rd party und Experimentellen Apps deaktivieren (aktuell: Calendar, Contacts, Tasks)
  3. Maintenance Mode aktivieren (sudo -u www-data php occ maintenance:mode --on)
  4. DB-Backup machen (am einfachsten mit phpMyAdmin)
  5. Neue Version runterladen und entpacken (das gibt neues Verzeichnis "owncloud")
  6. config.php, theme und fehlende Apps kopieren
  7. Rechte auf config und apps anpassen (sudo chown -R www-data:webadm ../../owncloud/config)
  8. Webserver stoppen
  9. Verzeichnisse umbenennen (www nach owncloud-x.y.z, owncloud nach www)
  10. Webserver starten
  11. occ upgrade ausführen (sudo -u www-data php occ upgrade)
  12. Maintenance Mode deaktivieren
  13. Alles testen. :)

Branding/Theming Version

  • Basis bildet das Offizielle Branding/Theming Manual
  • Als Ausgangslage wird das Theme "theme-example" unter owncloud/themes kopiert -> neues Theme "trashcloudtheme" (Wichtig: Keine Bindestriche im Theme-Namen!)
  • Die Backgroundbilder des trash.net Layouts (bg_mitte.jpg, body.jpg, trashcloud.png) nach owncloud/apps/trashcloudtheme/img/ kopieren
  • Im Theme das css/style.css anpassen (#body-login, #body-user, #header .logo)
  • Im Theme im File defaults.php diverse Texte anpassen.