
Mit Cloud-Speicher können Sie Daten nicht nur speichern, sondern auch im NAS zusammenarbeiten .
Mögliche Lösungen
Es gibt verschiedene Optionen für Cloud-Dienste: NextCloud, Seafile, Pydio usw.
Einige von ihnen werden unten betrachtet.
Implementierung von Cloud-Diensten.
Implementiert in PHP / Javascript.
Fähigkeiten:
- Es ist möglich, die Funktionalität zu erweitern, indem Anwendungen aus dem Cloud-Repository installiert werden.
- Es besteht eine Integration mit dem Büro von Collabora und OnlyOffice.
- Es ist möglich, vorhandene Repositorys wie FTP, Swift, S3, Dropbox usw. zu verwenden.
Datenaustausch zwischen ihnen und der lokalen Cloud. - Verschlüsselung auf dem Client.
- Die Möglichkeit, Dateien externen Benutzern per E-Mail zur Verfügung zu stellen.
- Es gibt eine Automatisierung von Operationen mit Dateien (zum Beispiel das automatische Hinzufügen von Tags).
- LDAP
- Es gibt einen Audio-Player, eine Musiksammlung und eine Plugin-Galerie für PDF-Reader.
- Integration mit Zimbra.
- Es gibt Kalender, Aufgabenlisten, Texteditoren usw.
- Antivirus und Schutz vor Ransomware.
- Zwei-Faktor-Authentifizierung.
- Die Möglichkeit, sich für einen anderen Benutzer auszugeben (zu Debugging-Zwecken).

Gabel OwnCloud. Implementiert in PHP / Javascript.
Fähigkeiten:
- Dateispeicherung mit regulären Verzeichnisstrukturen oder mit WebDAV.
- Es gibt NextCloud Talk, über das Videoanrufe und Videokonferenzen getätigt werden können.
- Synchronisierung zwischen Clients unter Windows (Windows XP, Vista, 7 und 8), Mac OS X (10.6 und höher) oder Linux.
- Mit mobilen Geräten synchronisieren.
- Kalender (auch wie CalDAV).
- Taskplaner.
- Adressbuch (wie CardDAV).
- Streaming-Medien (von Ampache verwendet).
- Es unterstützt verschiedene Autorisierungsanbieter: LDAP, OpenID, Shibboleth.
- Zwei-Faktor-Autorisierung.
- Teilen von Inhalten zwischen Gruppen oder Verwenden öffentlicher URLs. Feinabstimmung der Regeln.
- Ein Online-Texteditor mit Syntaxhervorhebung und -faltung. Unterstützung für Online-Versionen der LibreOffice-Editoren angekündigt.
- Lesezeichen
- URL-Verkürzungsmechanismus.
- Fotogalerie
- PDF-Viewer (mit PDF.js)
- Integration mit Collabora und OnlyOffice.
- Protokollierungsmodul.
- Möglichkeit zum Erstellen eigener Websites (bei PicoCMS).
- Integration mit Outlook und Thunderbird.
- Kundenintegration in Gnome.
- Möglichkeit zur Verwendung von externem Speicher.
- Volltextsuche.
- Integration mit Antivirus.
Implementiert in C #.
Fähigkeiten:
- Versionierung
- Verschlüsselung auf dem Client.
- Transparente Synchronisation zwischen mehreren Benutzern: Remote-Änderungen werden im lokalen Verzeichnis für SparkleShare angezeigt.
Eigenschaften:
- Verwendet Git als Backend.

Implementiert in C / Javascript.
Fähigkeiten:
- Dateien können in Bibliotheken organisiert werden, die zwischen Geräten synchronisiert werden können.
- Es gibt einen Client, mit dem Sie eine lokale "Festplatte" erstellen können, die der Cloud zugeordnet ist.
- Integrierte Verschlüsselung. Alle Dateien werden vom Client verschlüsselt und verschlüsselt in der Cloud gespeichert.
- Unterstützung für mobile Geräte.
- HTTS / TLS-Verschlüsselung.
- Es gibt LDAP.
- Feinabstimmungsrechte.
- Versionierung von Dateien.
- Möglichkeit zum Erstellen eines Verzeichnis-Snapshots, der dann zurückgegeben werden kann.
- Deduplizierung.
- Unterstützt das Sperren von Dateien.
- Online-Bearbeitung von Dateien.
- Antivirus.
- Feinabstimmungsrechte.
- Regelmäßige Sicherung über rsync.
- WebDAV
- REST-API
- Integrationsfähigkeit in Collabora.
Eigenschaften:
- Schnell und anspruchslos zu Ressourcen.
- Es gilt als zuverlässig.
- Das Festlegen von Rechten für Unterverzeichnisse wird nur in der kostenpflichtigen Pro-Version unterstützt.
- Integration mit Antivirus - nur in der Pro-Version.
- Audit - nur in der Pro-Version.
- Volltextsuche - nur in der Pro-Version.
- Integration mit S3 und Ceph - nur in der Pro-Version.
- Online-Anzeige von Doc / PPT / Excel - nur in der Pro-Version.

Implementiert in PHP / Javascript.
Fähigkeiten:
- Dateifreigabe nicht nur zwischen Benutzern, sondern auch zwischen mehreren Instanzen von Pydio.
- SSL / TLS-Verschlüsselung.
- WebDAV
- Möglichkeit zum Erstellen mehrerer Arbeitsbereiche.
- Dateifreigabe für externe Benutzer mit Feinabstimmung der Freigabe (z. B. direkte Links, Kennwort usw.).
- Eingebautes Collabora-Büro.
- Vorschau und Bearbeitung von Bildern.
- Es gibt einen eingebauten Audio- und Videoplayer.

Implementiert in PHP / Javascript.
Fähigkeiten:
- Es ist möglich, Dateien sowohl zwischen bestimmten Benutzern als auch zwischen Gruppen freizugeben.
- Vollständiger Bericht über Dateivorgänge.
- Die Möglichkeit für externe Benutzer, Dateien hochzuladen (zum Teilen zum Teilen, zum Beispiel zum Anwenden von Fehlerberichten).

Fähigkeiten:
- Sparen Sie Speicherplatz und Zeit beim Hochladen von Dateien, indem Sie vorhandene Dateien deduplizieren und ändern (anstatt die gesamte Datei zu überschreiben).
- Anpassbare Synchronisation auf mehreren Plattformen.
DropBox für die Synchronisierung erstellt einen speziellen Ordner, in dem alle synchronisierten Dateien abgelegt werden müssen. SpiderOak kann mit jedem Verzeichnis arbeiten. - Speichern Sie alle historischen Versionen von Dateien und gelöschten Dateien
- Freigeben von Ordnern mithilfe der sogenannten ShareRooms, die ein Kennwort festlegen.
Auf dem lokalen Computer aktualisierte Dateien werden automatisch im Repository aktualisiert. Benutzer werden per RSS über Änderungen informiert. - Empfangen Sie Dateien von jedem Gerät, das mit dem Internet verbunden ist.
- Vollständige Datenverschlüsselung nach dem Prinzip „Null Wissen“.
- Unterstützung für eine unbegrenzte Anzahl von Geräten.
- Clientseitige Datenverschlüsselung.
- Zwei-Faktor-Authentifizierung.
Eigenschaften:
Geschlossenes proprietäres System.
Da diese Software bezahlt und teilweise geschlossen ist, ist ihre Verwendung ausgeschlossen.
Installieren Sie NextCloud
Ursprünglich bestand der Wunsch, Seafile zu verwenden: Der Serverteil ist in C implementiert, effizient und stabil. Es stellte sich jedoch heraus, dass die kostenlose Version nicht alles enthält.
Deshalb habe ich Nextcloud ausprobiert und war zufrieden. Es bietet mehr Funktionen und ist völlig kostenlos.
Hier können Sie sehen, wie es im Demo-Modus funktioniert.
Hier sind die gemeinsamen Schnittstellen zwischen dem Cloud-Speicher und dem System:
/tank0/apps/cloud/nextcloud
- Cloud-Service-Speicher./tank0/apps/onlyoffice
- /tank0/apps/onlyoffice
.https://cloud.NAS.cloudns.cc
- WEB Cloud Service-Schnittstelle.
Weil Die NextCloud-Konfiguration ist ziemlich umfangreich und besteht aus mehreren Dateien. Ich werde sie hier nicht auflisten.
Alles, was Sie brauchen, finden Sie im Repository auf Github .
Dort ist auch die Konfiguration für SeaFile verfügbar.
Installieren und starten Sie zuerst NextCloud.
Kopieren Sie dazu die Konfiguration in das /tank0/docker/services/nextcloud
und führen Sie /tank0/docker/services/nextcloud
:
# docker-compose up -d
Ein neues Image basierend auf Nextcloud 13.0.7 wird erstellt. Wenn Sie die Version des app/Dockerfile
ändern möchten, tun Sie dies in app/Dockerfile
. Ich verwende Version 15, aber es ist erwähnenswert, dass viele Plugins, wie der ocDownloader-Loader und Notizen, nicht darin funktionieren und ich die Funktionalität von OnlyOffice noch nicht wiederhergestellt habe.
Ich habe keine wesentlichen Unterschiede oder eine starke Leistungsverbesserung festgestellt.
Unten glaube ich, dass Sie Version 13+ verwenden.
Gehen Sie als Nächstes zu NextCloud und wählen Sie "Anwendungen" im Menü oben rechts. Schließen Sie die Installation der erforderlichen Plug-Ins ab.

Erforderlich:
- LDAP-Benutzer- und Gruppen-Backend - Pairing mit LDAP.
- Unterstützung für externen Speicher - Unterstützung für externen Speicher. Es wird weiter benötigt, um NextCloud und gemeinsam genutzte Dateien zu integrieren und mit externem Cloud-Speicher zu koppeln. Ich werde in einem anderen Artikel über das Einrichten eines externen Speichers sprechen.
- ocDownloader - Datei-Downloader. Erweitert die Funktionalität der Cloud. Das Docker-Image wurde speziell neu erstellt, damit es funktioniert.
- ONLYOFFICE - Bürointegration . Ohne diese Anwendung werden Dokumentdateien nicht in der Cloud geöffnet.
- End-to-End-Verschlüsselung - End-to-End- Verschlüsselung auf dem Client. Wenn mehrere Benutzer die Cloud verwenden, ist ein Plugin erforderlich, um die Sicherheit ihrer Dateien zu gewährleisten.
Gewünschte Anwendungen:
- Brute-Force-Einstellungen - Schutz gegen die Auswahl von Anmeldeinformationen. NextCloud surft im Internet, daher ist es besser, es zu installieren.
- Identitätswechsel - Ermöglicht dem Administrator, sich mit anderen Benutzern anzumelden. Nützlich zum Debuggen und zur Fehlerbehebung.
- Talk - Video-Chat.
- Kalender - spricht für sich selbst, ermöglicht es Ihnen, Kalender in der Cloud zu halten.
- Dateizugriffskontrolle - Ermöglicht Benutzern den Zugriff auf Dateien und Verzeichnisse basierend auf Tags und Regeln.
- Prüfsumme - Ermöglicht das Berechnen und Anzeigen von Prüfsummen von Dateien.
- Externe Sites - Erstellt Links zu beliebigen Sites im oberen Bereich.
Behältermerkmale:
- Aria2 Bootloader installiert.
- Youtube-DL Bootloader installiert.
- Inotify-Tools installiert.
- Erhöhte Speichergrenzen für PHP.
- Der Webserver ist so konfiguriert, dass er besser mit LDAP funktioniert.
Ich stelle fest, dass Sie dies und vieles mehr mit dem Dienstprogramm occ tun können, wenn Sie Version 13+ installieren, sich dann aber für ein Upgrade auf Version 15 entscheiden.
LDAP
Die Konfiguration von LDAP ist nicht trivial, da ich Ihnen mehr erzählen werde.
Gehen Sie zu "Einstellungen-> Integration mit LDAP / AD".
Fügen Sie den Server 172.21.0.1 mit Port 389 hinzu.
Login: cn=admin,dc=nas,dc=nas
.
NextCloud kann Benutzer in der LDAP-Datenbank verwalten und benötigt dazu einen Administrator.

Klicken Sie auf die Schaltfläche "DN-Konfiguration prüfen" und, wenn die Bestätigungsanzeige grün ist, auf die Schaltfläche "Weiter".
Jeder Benutzer hat ein inetOrgPerson
Attribut und ist Mitglied der Gruppe users_cloud
.
Der Filter sieht folgendermaßen aus:
(&(|(objectclass=inetOrgPerson))(|(memberof=cn=users_cloud,ou=groups,dc=nas,dc=nas)))
Klicken Sie auf "Überprüfen Sie die Einstellungsdatenbank und zählen Sie die Benutzer neu". Wenn alles korrekt ist, sollte die Anzahl der Benutzer angezeigt werden. Klicken Sie auf Weiter.
Auf der nächsten Seite wird ein Benutzerfilter konfiguriert, mit dem NextCloud nach ihnen sucht.
Filter:
(&(objectclass=inetOrgPerson)(uid=%uid))
Auf dieser Seite müssen Sie das Login eines Benutzers eingeben und auf "Einstellungen überprüfen" klicken.
Letztes Mal "Weiter".
Klicken Sie dann auf "Erweitert" und überprüfen Sie, ob das Feld "Gruppenbaumbasis" dem Feld "Benutzerbaumbasis" entspricht und den Wert dc=nas,dc=nas
.
Kehren Sie zu den Gruppen zurück und groupOfUniqueNames
Kontrollkästchen "Nur diese groupOfUniqueNames
Classes" neben groupOfUniqueNames
.
Der letzte Filter hier ist folgender:
(&(|(objectclass=groupOfUniqueNames)))
Das Feld "Nur aus diesen Gruppen" habe ich da nicht gesetzt Ich möchte alle Benutzer in der NextCloud-Oberfläche sehen, und diejenigen, die nicht users_cloud
Gruppe users_cloud
sind, werden in der vorherigen Phase vom Filter herausgefiltert.
Einziges Büro

OnlyOffice ist eine hervorragende plattformübergreifende Office-Suite, die MS Office-Dokumente unterstützt. Es ist kostenlos und offen, ebenso wie LibreOffice und kann auch als Server arbeiten.
Gleichzeitig wird die Unterstützung für das ursprüngliche Format viel besser implementiert, fast wie im ursprünglichen Büro von MS, es ist stabiler und verfügt über eine durchdachtere Oberfläche.
Es lässt sich auch sofort in NextCloud integrieren .
Übrigens gibt es eine Desktop-Version von OnlyOffice, auch für Linux. Nachdem ich mit der schweren und instabilen Collabora (dies ist LibreOffice) gequält worden bin, habe ich mich für OnlyOffice entschieden und bin bisher ziemlich zufrieden.
Die OnlyOffice-Konfiguration ist auf Github und darunter unter dem Spoiler verfügbar .
Github hat auch eine Konfiguration für Collabora .
/tank0/docker/services/office/onlyoffice/docker-compose.yml version: '2' # https://helpcenter.onlyoffice.com/ru/server/docker/document/docker-installation.aspx networks: onlyoffice: driver: 'bridge' docker0: external: name: docker0 services: onlyoffice-redis: container_name: onlyoffice-redis image: redis restart: always networks: - onlyoffice expose: - '6379' onlyoffice-rabbitmq: container_name: onlyoffice-rabbitmq image: rabbitmq restart: always networks: - onlyoffice expose: - '5672' onlyoffice-postgresql: container_name: onlyoffice-postgresql image: postgres environment: - POSTGRES_DB=onlyoffice - POSTGRES_USER=onlyoffice networks: - onlyoffice restart: always expose: - '5432' volumes: - /tank0/apps/onlyoffice/postgresql_data:/var/lib/postgresql onlyoffice-documentserver-data: container_name: onlyoffice-documentserver-data image: onlyoffice/documentserver:latest environment: - ONLYOFFICE_DATA_CONTAINER=true - POSTGRESQL_SERVER_HOST=onlyoffice-postgresql - POSTGRESQL_SERVER_PORT=5432 - POSTGRESQL_SERVER_DB_NAME=onlyoffice - POSTGRESQL_SERVER_USER=onlyoffice - RABBITMQ_SERVER_URL=amqp://guest:guest@onlyoffice-rabbitmq - REDIS_SERVER_HOST=onlyoffice-redis - REDIS_SERVER_PORT=6379 stdin_open: true restart: always networks: - onlyoffice volumes: - /tank0/apps/onlyoffice/document-server-data/data:/var/www/onlyoffice/Data - /tank0/apps/onlyoffice/document-server-data/logs:/var/log/onlyoffice - /tank0/apps/onlyoffice/document-server-data/cache:/var/lib/onlyoffice/documentserver/App_Data/cache/files - /tank0/apps/onlyoffice/document-server-data/files:/var/www/onlyoffice/documentserver-example/public/files - /usr/share/fonts onlyoffice-documentserver: image: onlyoffice/documentserver:latest depends_on: - onlyoffice-postgresql - onlyoffice-redis - onlyoffice-rabbitmq - onlyoffice-documentserver-data environment: - ONLYOFFICE_DATA_CONTAINER_HOST=onlyoffice-documentserver-data - BALANCE=uri depth 3 - EXCLUDE_PORTS=443 - HTTP_CHECK=GET /healthcheck - EXTRA_SETTINGS=http-check expect string true - JWT_ENABLED=true - JWT_SECRET=<JWT_SECRET_TOKEN> # Uncomment the string below to redirect HTTP request to HTTPS request. #- FORCE_SSL=true - VIRTUAL_HOST=office.* - VIRTUAL_PORT=80 - VIRTUAL_PROTO=http - CERT_NAME=NAS.cloudns.cc stdin_open: true restart: always networks: - onlyoffice - docker0 expose: - '80' volumes: - /tank0/apps/onlyoffice/document-server/logs:/var/log/onlyoffice - /tank0/apps/onlyoffice/document-server/data:/var/www/onlyoffice/Data - /tank0/apps/onlyoffice/document-server/lib:/var/lib/onlyoffice - /tank0/apps/onlyoffice/document-server/db:/var/lib/postgresql volumes_from: - onlyoffice-documentserver-data
Ich werde einige Punkte erklären:
- Sie müssen <JWT_SECRET_TOKEN> in Ihren eigenen sowie den NAS im Namen Ihrer DNS-Zone ändern.
- HTTPS muss hier nicht enthalten sein, da das Büro zwar von außen sichtbar ist, der Austausch mit ihm jedoch über einen Reverse-Proxy erfolgt, der ausschließlich über HTTPS mit dem Benutzer zusammenarbeitet. So wird die NAS-Architektur aufgebaut.
Jetzt müssen Sie das Büro erhöhen:
docker-compose up -d
Und wenn alles funktioniert, befindet sich die folgende Seite unter office.NAS.cloudns.cc:

Anschließend müssen Sie in den NextCloud-Einstellungen das Element "Administration-> ONLYOFFICE" auswählen und die Dokumentenserveradresse in die ersten beiden Felder eingeben: https://office.NAS.cloudns.cc/
und Ihr JWT-Token.
Geben Sie im dritten Feld die Cloud-Adresse ein.
Hier kann beispielsweise ein JWT-Token generiert werden .
Wenn der Server richtig konfiguriert ist, werden im Menü zum Erstellen von Dokumenten in der Cloud zusätzliche Elemente für Office-Dokumente angezeigt, und im Büro werden .docx
Dateien geöffnet.
Schlussfolgerungen
Cloud-Speicher ist das zentrale Bindeglied für die Benutzerinteraktion zwischen ihnen und anderen Diensten.
In dieser Rolle ist NextCloud sehr praktisch und verfügt über umfangreiche Funktionen.
Es hat seine eigenen beim Aktualisieren zwischen Versionen, aber im Allgemeinen kann dieses Repository empfohlen werden.