Cloud personnel


Le stockage dans le cloud vous permet non seulement de stocker des données, mais également de collaborer avec elles dans le NAS .


Solutions possibles


Il existe plusieurs options pour les services cloud: NextCloud, Seafile, Pydio, etc ...
Certains d'entre eux sont examinés ci-dessous.


Implémentations de services cloud.

Owncloud



Implémenté en PHP / Javascript.


Capacités:


  • Il est possible d'étendre la fonctionnalité en installant des applications à partir du référentiel cloud.
  • Il y a intégration avec le bureau de Collabora et OnlyOffice.
  • Il est possible d'utiliser des référentiels existants tels que FTP, Swift, S3, Dropbox, etc.,
    partager des données entre eux et le cloud local.
  • Cryptage sur le client.
  • La possibilité de fournir des fichiers à des utilisateurs externes par e-mail.
  • Il existe une automatisation des opérations avec les fichiers (par exemple, l'ajout automatique de balises).
  • LDAP
  • Il y a un lecteur audio, une collection de musique, une galerie de plugins de lecteur PDF.
  • Intégration avec Zimbra.
  • Il y a des calendriers, des listes de tâches, des éditeurs de texte, etc.
  • Antivirus et protection contre les ransomwares.
  • Authentification à deux facteurs.
  • La possibilité d'emprunter l'identité d'un autre utilisateur (à des fins de débogage).

NextCloud



Fork OwnCloud. Implémenté en PHP / Javascript.


Capacités:


  • Stockage de fichiers à l'aide de structures de répertoires régulières ou à l'aide de WebDAV.
  • Il y a NextCloud Talk, à travers lequel il est possible de passer des appels vidéo et des vidéoconférences.
  • Synchronisation entre les clients exécutant Windows (Windows XP, Vista, 7 et 8), Mac OS X (10.6 et versions ultérieures) ou Linux.
  • Synchronisez avec les appareils mobiles.
  • Calendrier (également comme CalDAV).
  • Planificateur de tâches.
  • Carnet d'adresses (identique à CardDAV).
  • Média en streaming (utilisé par Ampache).
  • Il prend en charge différents fournisseurs d'autorisation: LDAP, OpenID, Shibboleth.
  • Autorisation à deux facteurs.
  • Partager du contenu entre des groupes ou utiliser des URL publiques. Affiner les règles.
  • Un éditeur de texte en ligne avec coloration syntaxique et pliage. Prise en charge des versions en ligne des éditeurs de LibreOffice annoncée.
  • Signets
  • Mécanisme de raccourcissement d'URL.
  • Galerie de photos
  • Visionneuse PDF (à l'aide de PDF.js)
  • Intégration avec Collabora et OnlyOffice.
  • Module de journalisation.
  • Possibilité de créer vos propres sites Web (chez PicoCMS).
  • Intégration avec Outlook et Thunderbird.
  • Intégration client dans Gnome.
  • Possibilité d'utiliser un stockage externe.
  • Recherche plein texte.
  • Intégration avec antivirus.

Sparkleshare


Implémenté en C #.


Capacités:


  • Versioning
  • Cryptage sur le client.
  • Synchronisation transparente entre plusieurs utilisateurs: les modifications à distance apparaîtront dans le répertoire local dédié à SparkleShare.

Caractéristiques:


  • Utilise git comme backend.

Seafile



Implémenté en C / Javascript.


Capacités:


  • Les fichiers peuvent être organisés en bibliothèques qui peuvent être synchronisées entre les appareils.
  • Il existe un client qui vous permet de créer un "disque" local, mappé sur le cloud.
  • Cryptage intégré. Tous les fichiers sont cryptés par le client et stockés dans le cloud cryptés.
  • Prise en charge des appareils mobiles.
  • Cryptage HTTS / TLS.
  • Il y a LDAP.
  • Droits de réglage fin.
  • Fichiers de version.
  • Possibilité de créer un instantané de répertoire, qui peut ensuite être retourné.
  • Déduplication.
  • Prise en charge du verrouillage de fichiers.
  • Co-édition de fichiers en ligne.
  • Antivirus.
  • Droits de réglage fin.
  • Sauvegarde périodique via rsync.
  • WebDAV
  • API REST
  • Capacité à s'intégrer à Collabora.

Caractéristiques:


  • Rapide et peu exigeant pour les ressources.
  • Il est considéré comme fiable.
  • La définition des droits sur les sous-répertoires n'est prise en charge que dans la version Pro payante.
  • Intégration avec antivirus - uniquement dans la version Pro.
  • Audit - uniquement dans la version Pro.
  • Recherche en texte intégral - uniquement dans la version Pro.
  • Intégration avec S3 et Ceph - uniquement dans la version Pro.
  • Visualisation en ligne de Doc / PPT / Excel - uniquement dans la version Pro.

Pydio



Implémenté en PHP / Javascript.


Capacités:


  • Partage de fichiers non seulement entre utilisateurs, mais également entre plusieurs instances de Pydio.
  • Cryptage SSL / TLS.
  • WebDAV
  • Possibilité de créer plusieurs espaces de travail.
  • Partage de fichiers avec des utilisateurs externes, avec partage fin (par exemple, liens directs, mot de passe, etc.).
  • Bureau Collabora intégré.
  • Prévisualisez et modifiez les images.
  • Il y a un lecteur audio et vidéo intégré.

Projectend



Implémenté en PHP / Javascript.


Capacités:


  • Il est possible de partager des fichiers, à la fois entre des utilisateurs spécifiques et entre des groupes.
  • Rapport complet sur les opérations de fichiers.
  • La possibilité pour les utilisateurs externes de télécharger des fichiers (dans le but de partager, par exemple, l'application de rapports de bogues).

SpiderOak



Capacités:


  • Économisez de l'espace de stockage et du temps de téléchargement de fichiers en dédoublonnant et en apportant des modifications aux fichiers existants (au lieu d'écraser l'intégralité du fichier).
  • Synchronisation multi-plateforme personnalisable.
    DropBox pour la synchronisation crée un dossier spécial dans lequel il est nécessaire de placer tous les fichiers synchronisés. SpiderOak peut fonctionner avec n'importe quel répertoire.
  • Enregistrer toutes les versions historiques des fichiers et des fichiers supprimés
  • Partage de dossiers à l'aide des soi-disant ShareRooms, qui définissent un mot de passe.
    Les fichiers mis à jour sur l'ordinateur local sont automatiquement mis à jour dans le référentiel. Les utilisateurs sont informés des modifications via RSS.
  • Recevez des fichiers depuis n'importe quel appareil connecté à Internet.
  • Cryptage complet des données basé sur le principe de la «connaissance zéro».
  • Prise en charge d'un nombre illimité d'appareils.
  • Cryptage des données côté client.
  • Authentification à deux facteurs.

Caractéristiques:


Système propriétaire fermé.


Étant donné que ce logiciel est payant et partiellement fermé, son utilisation est exclue.


Installez NextCloud


Initialement, il y avait une volonté d'utiliser Seafile: la partie serveur est implémentée en C, elle est efficace et stable. Mais il s'est avéré que la version gratuite n'a pas tout.


Par conséquent, j'ai essayé Nextcloud et j'étais satisfait. Il offre plus de fonctionnalités et est entièrement gratuit.


Vous pouvez voir comment cela fonctionne en mode démo ici .


Voici les interfaces communes entre le stockage cloud et le système:


  • /tank0/apps/cloud/nextcloud - stockage de service cloud.
  • /tank0/apps/onlyoffice - données de bureau.
  • https://cloud.NAS.cloudns.cc - Interface de service cloud WEB.

Parce que La configuration de NextCloud est assez volumineuse et se compose de plusieurs fichiers, je ne les énumérerai pas ici.


Tout ce dont vous avez besoin se trouve dans le référentiel sur Github .


La configuration de SeaFile y est également disponible.


Installez et lancez d'abord NextCloud.


Pour ce faire, copiez la configuration dans le /tank0/docker/services/nextcloud et exécutez:


 # docker-compose up -d 

Une nouvelle image basée sur Nextcloud 13.0.7 sera construite. Si vous souhaitez modifier la version de l'image de base, faites-le dans app/Dockerfile . J'utilise la version 15, mais il convient de noter que de nombreux plugins, tels que le chargeur ocDownloader et les notes, ne fonctionnent pas, et je n'ai pas encore restauré les fonctionnalités d'OnlyOffice.


Je n'ai pas remarqué de différences cardinales ou une forte amélioration des performances.


Ci-dessous, je pense que vous utilisez la version 13+.


Ensuite, allez sur NextCloud et sélectionnez "Applications" dans le menu en haut à droite, terminez l'installation des plug-ins nécessaires.


Les applications


Requis:


  • Utilisateur LDAP et backend de groupe - couplage avec LDAP.
  • Prise en charge du stockage externe - prise en charge du stockage externe. Il sera nécessaire davantage, dans le but d'intégrer NextCloud et les fichiers partagés, ainsi que de les associer à un stockage cloud externe. Je parlerai de la configuration du stockage externe dans un autre article.
  • ocDownloader - téléchargeur de fichiers. Étend les fonctionnalités du cloud. L'image Docker est spécialement reconstruite pour qu'elle fonctionne.
  • ONLYOFFICE - intégration de bureau. Sans cette application, les fichiers de documents ne s'ouvriront pas dans le cloud.
  • Chiffrement de bout en bout - Chiffrement de bout en bout sur le client. Si plusieurs utilisateurs utilisent le cloud, un plugin est nécessaire pour assurer commodément la sécurité de leurs fichiers.

Applications souhaitées:


  • Paramètres de force brute - protection contre la sélection des informations d'identification. NextCloud navigue sur Internet, il est donc préférable de l'installer.
  • Emprunter l'identité - permet à l'administrateur de se connecter avec d'autres utilisateurs. Utile pour le débogage et le dépannage.
  • Talk - chat vidéo.
  • Calendrier - parle de lui-même, vous permet de conserver des calendriers dans le cloud.
  • Contrôle d'accès aux fichiers - permet aux utilisateurs de restreindre l'accès aux fichiers et aux répertoires en fonction des balises et des règles.
  • Somme de contrôle - vous permet de calculer et d'afficher les sommes de contrôle des fichiers.
  • Sites externes - crée des liens vers des sites arbitraires sur le panneau en haut.

Caractéristiques du conteneur:


  • Le chargeur de démarrage Aria2 est installé.
  • Chargeur de démarrage Youtube-DL installé.
  • Inotify-tools installé.
  • Augmentation des limites de mémoire pour PHP.
  • Le serveur Web est configuré pour mieux fonctionner avec LDAP.

Je note que si vous installez la version 13+, mais décidez ensuite de passer à la version 15, vous pouvez le faire et bien plus encore en utilisant l'utilitaire occ .


LDAP


La configuration de LDAP n'est pas anodine, car je vais vous en dire plus.


Allez dans "Paramètres-> Intégration avec LDAP / AD".
Ajoutez le serveur 172.21.0.1 avec le port 389.
Connexion: cn=admin,dc=nas,dc=nas .
NextCloud peut gérer les utilisateurs dans la base de données LDAP et pour cela, il aura besoin d'un administrateur.



Appuyez sur le bouton "Vérifier la configuration DN" et, si l'indicateur de vérification est vert, sur le bouton "Suivant".


Chaque utilisateur possède un attribut inetOrgPerson et est membre du groupe users_cloud .


Le filtre ressemblera à ceci:


 (&(|(objectclass=inetOrgPerson))(|(memberof=cn=users_cloud,ou=groups,dc=nas,dc=nas))) 

Cliquez sur "Vérifier la base de données des paramètres et recompter les utilisateurs", et si tout est correct, le nombre d'utilisateurs devrait être affiché. Cliquez sur Suivant.


Sur la page suivante, un filtre utilisateur sera configuré par lequel NextCloud les recherchera.


Filtre:


 (&(objectclass=inetOrgPerson)(uid=%uid)) 

Sur cette page, vous devez entrer la connexion d'un utilisateur et cliquer sur "Vérifier les paramètres".
La dernière fois "Suivant".


Cliquez ensuite sur "Avancé" et vérifiez que le champ "Base de l'arborescence des groupes" est égal au champ "Base de l'arborescence des utilisateurs" et a la valeur dc=nas,dc=nas .


Revenez aux groupes et cochez la case "Seulement ces classes d' groupOfUniqueNames à côté de groupOfUniqueNames .


Voici le dernier filtre:


 (&(|(objectclass=groupOfUniqueNames))) 

Le champ "Seulement de ces groupes", je ne l'ai pas défini, car Je veux voir tous les utilisateurs dans l'interface NextCloud, et ceux qui ne sont pas users_cloud groupe users_cloud sont users_cloud par le filtre à l'étape précédente.


Onlyoffice



OnlyOffice est une excellente suite bureautique multiplateforme qui prend en charge les documents MS Office. Il est gratuit et ouvert, ainsi que LibreOffice et peut également fonctionner comme un serveur.


Mais en même temps, la prise en charge du format d'origine est beaucoup mieux implémentée, presque comme dans le bureau d'origine de MS, il est plus stable, a une interface plus réfléchie.


Il s'intègre également prêt à l'emploi avec NextCloud .


Soit dit en passant, il existe une version de bureau d'OnlyOffice, y compris pour Linux. En général, ayant été tourmenté par le Collabora lourd et instable (c'est LibreOffice), j'ai choisi OnlyOffice et jusqu'à présent je suis assez satisfait.


La configuration OnlyOffice est disponible sur Github et ci-dessous, sous le spoiler.


Github a également une configuration pour 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 

J'expliquerai quelques points:


  • Vous devez remplacer <JWT_SECRET_TOKEN> par le vôtre, ainsi que le NAS au nom de votre zone DNS.
  • Il n'est pas nécessaire d'inclure HTTPS ici, car bien que le bureau soit visible de l'extérieur, l'échange avec lui se fait via un proxy inverse, qui travaille avec l'utilisateur exclusivement via HTTPS. C'est ainsi que l'architecture NAS est construite.

Vous devez maintenant relever le bureau:


 docker-compose up -d 

Et, si tout fonctionne, la page suivante sera à office.NAS.cloudns.cc:


Écran OnlyOffice Server


Ensuite, dans les paramètres NextCloud, vous devez sélectionner l'élément "Administration-> ONLYOFFICE" et entrer l'adresse du serveur de documents dans les deux premiers champs: https://office.NAS.cloudns.cc/ et votre jeton JWT.


Dans le troisième champ, saisissez l'adresse du cloud.


Il est possible de générer un jeton JWT, par exemple ici .


Si le serveur est configuré correctement, des éléments supplémentaires pour les documents Office apparaîtront dans le menu de création de documents dans le cloud et les fichiers .docx s'ouvriront dans le bureau.


Conclusions


Le stockage dans le cloud est le lien central pour l'interaction des utilisateurs entre eux et d'autres services.


Dans ce rôle, NextCloud est très pratique et possède de nombreuses fonctionnalités.


Il a le sien dans le processus de mise à jour entre les versions, mais en général, ce référentiel peut être recommandé.

Source: https://habr.com/ru/post/fr430970/


All Articles