Nube personal


El almacenamiento en la nube le permite no solo almacenar datos, sino también colaborar con ellos en el NAS .


Posibles soluciones


Hay varias opciones para los servicios en la nube: NextCloud, Seafile, Pydio, etc.
Algunos de ellos se consideran a continuación.


Implementaciones de servicios en la nube.

Owncloud



Implementado en PHP / Javascript.


Capacidades:


  • Es posible ampliar la funcionalidad instalando aplicaciones desde el repositorio en la nube.
  • Hay integración con la oficina de Collabora y OnlyOffice.
  • Es posible utilizar repositorios existentes como FTP, Swift, S3, Dropbox, etc.,
    compartir datos entre ellos y la nube local.
  • Cifrado en el cliente.
  • La capacidad de proporcionar archivos a usuarios externos por correo electrónico.
  • Hay automatización de las operaciones con archivos (por ejemplo, agregar etiquetas automáticamente).
  • LDAP
  • Hay un reproductor de audio, una colección de música, una galería de complementos de lector de PDF.
  • Integración con Zimbra.
  • Hay calendarios, listas de tareas, editores de texto, etc.
  • Antivirus y protección contra ransomware.
  • Autenticación de dos factores.
  • La capacidad de hacerse pasar por otro usuario (para fines de depuración).

NextCloud



Tenedor OwnCloud. Implementado en PHP / Javascript.


Capacidades:


  • Almacenamiento de archivos usando estructuras de directorios regulares, o usando WebDAV.
  • Existe NextCloud Talk, a través del cual es posible hacer videollamadas y videoconferencias.
  • Sincronización entre clientes que ejecutan Windows (Windows XP, Vista, 7 y 8), Mac OS X (10.6 y posterior) o Linux.
  • Sincronizar con dispositivos móviles.
  • Calendario (también como CalDAV).
  • Programador de tareas.
  • Libreta de direcciones (igual que CardDAV).
  • Streaming de medios (utilizado por Ampache).
  • Es compatible con diferentes proveedores de autorización: LDAP, OpenID, Shibboleth.
  • Autorización de dos factores.
  • Compartir contenido entre grupos o usar URL públicas. Afinando las reglas.
  • Un editor de texto en línea con resaltado de sintaxis y plegado. Se anunció la compatibilidad con las versiones en línea de los editores de LibreOffice.
  • Marcadores
  • Mecanismo de acortamiento de URL.
  • Galería de fotos
  • Visor de PDF (usando PDF.js)
  • Integración con Collabora y OnlyOffice.
  • Módulo de registro.
  • Posibilidad de crear sus propios sitios web (en PicoCMS).
  • Integración con Outlook y Thunderbird.
  • Integración de clientes en Gnome.
  • Posibilidad de usar almacenamiento externo.
  • Búsqueda de texto completo.
  • Integración con antivirus.

Sparkleshare


Implementado en C #.


Capacidades:


  • Versionado
  • Cifrado en el cliente.
  • Sincronización transparente entre múltiples usuarios: los cambios remotos aparecerán en el directorio local dedicado a SparkleShare.

Caracteristicas:


  • Utiliza git como backend.

Archivo marino



Implementado en C / Javascript.


Capacidades:


  • Los archivos se pueden organizar en bibliotecas que se pueden sincronizar entre dispositivos.
  • Hay un cliente que le permite crear un "disco" local, asignado a la nube.
  • Cifrado incorporado. Todos los archivos son encriptados por el cliente y almacenados en la nube encriptados.
  • Soporte para dispositivos móviles.
  • Cifrado HTTS / TLS.
  • Hay LDAP
  • Derechos de ajuste fino.
  • Versiones de archivos.
  • Posibilidad de crear una instantánea de directorio, que luego puede devolverse.
  • Deduplicación
  • Soporte de bloqueo de archivos.
  • Coedición de archivos en línea.
  • Antivirus
  • Derechos de ajuste fino.
  • Copia de seguridad periódica a través de rsync.
  • WebDAV
  • API REST
  • Capacidad para integrarse con Collabora.

Caracteristicas:


  • Rápido y poco exigente con los recursos.
  • Se considera confiable.
  • La configuración de derechos a subdirectorios solo se admite en la versión Pro de pago.
  • Integración con antivirus, solo en la versión Pro.
  • Auditoría: solo en la versión Pro.
  • Búsqueda de texto completo: solo en la versión Pro.
  • Integración con S3 y Ceph, solo en la versión Pro.
  • Visualización en línea de Doc / PPT / Excel, solo en la versión Pro.

Pydio



Implementado en PHP / Javascript.


Capacidades:


  • Intercambio de archivos no solo entre usuarios, sino también entre múltiples instancias de Pydio.
  • Encriptación SSL / TLS.
  • WebDAV
  • Capacidad para crear múltiples espacios de trabajo.
  • Uso compartido de archivos con usuarios externos, con ajuste fino compartido (por ejemplo, enlaces directos, contraseña, etc.).
  • Oficina incorporada de Collabora.
  • Vista previa y edición de imágenes.
  • Hay un reproductor de audio y video incorporado.

Proyecto



Implementado en PHP / Javascript.


Capacidades:


  • Es posible compartir archivos, tanto entre usuarios específicos como entre grupos.
  • Informe completo sobre operaciones de archivo.
  • La capacidad de los usuarios externos para cargar archivos (con el fin de compartir, por ejemplo, la aplicación de informes de errores).

SpiderOak



Capacidades:


  • Ahorre espacio de almacenamiento y tiempo de carga de archivos deduplicando y haciendo cambios a los archivos existentes (en lugar de sobrescribir todo el archivo).
  • Sincronización multiplataforma personalizable.
    DropBox para sincronización crea una carpeta especial en la que es necesario colocar todos los archivos sincronizados. SpiderOak puede funcionar con cualquier directorio.
  • Guarde todas las versiones históricas de archivos y archivos eliminados
  • Compartir carpetas con los llamados ShareRooms, que establecen una contraseña.
    Los archivos actualizados en la computadora local se actualizan automáticamente en el repositorio. Los usuarios son notificados de los cambios a través de RSS.
  • Reciba archivos desde cualquier dispositivo conectado a Internet.
  • Cifrado de datos completo basado en el principio de "conocimiento cero".
  • Soporte para un número ilimitado de dispositivos.
  • Cifrado de datos del lado del cliente.
  • Autenticación de dos factores.

Caracteristicas:


Sistema cerrado de propiedad.


Dado que este software es pagado y parcialmente cerrado, su uso está excluido.


Instalar NextCloud


Inicialmente, había un deseo de usar Seafile: la parte del servidor se implementa en C, es eficiente y estable. Pero resultó que la versión gratuita no lo tiene todo.


Por lo tanto, probé Nextcloud y quedé satisfecho. Proporciona más funciones y es completamente gratis.


Puedes ver cómo funciona en modo demo aquí .


Estas son las interfaces comunes entre el almacenamiento en la nube y el sistema:


  • /tank0/apps/cloud/nextcloud : almacenamiento de servicios en la nube.
  • /tank0/apps/onlyoffice : datos de la oficina.
  • https://cloud.NAS.cloudns.cc - Interfaz de servicio en la nube WEB.

Porque La configuración de NextCloud es bastante voluminosa y consta de varios archivos, no los enumeraré aquí.


Todo lo que necesita se puede encontrar en el repositorio en Github .


La configuración para SeaFile también está disponible allí .


Primero instale y ejecute NextCloud.


Para hacer esto, copie la configuración en el /tank0/docker/services/nextcloud y ejecute:


 # docker-compose up -d 

Se construirá una nueva imagen basada en Nextcloud 13.0.7. Si desea cambiar la versión de la imagen base, hágalo en la app/Dockerfile . Uso la versión 15, pero vale la pena señalar que muchos complementos, como el cargador y las notas ocDownloader, no funcionan en él, y todavía no he restaurado la funcionalidad de OnlyOffice.


No noté ninguna diferencia cardinal o una fuerte mejora en el rendimiento.


A continuación, creo que está utilizando la versión 13+.


A continuación, vaya a NextCloud y seleccione "Aplicaciones" en el menú en la parte superior derecha, complete la instalación de los complementos necesarios.


Aplicaciones


Requerido:


  • Usuario LDAP y backend grupal - emparejamiento con LDAP.
  • Soporte de almacenamiento externo : soporte para almacenamiento externo. Será necesario aún más, con el objetivo de integrar NextCloud y archivos compartidos, así como el emparejamiento con almacenamiento externo en la nube. Hablaré sobre la configuración de almacenamiento externo en otro artículo.
  • ocDownloader : descargador de archivos. Extiende la funcionalidad de la nube. La imagen de Docker está especialmente reconstruida para que funcione.
  • ONLYOFFICE - integración de oficina. Sin esta aplicación, los archivos de documentos no se abrirán en la nube.
  • Cifrado de extremo a extremo: cifrado de extremo a extremo en el cliente. Si varios usuarios usan la nube, es necesario un complemento para garantizar convenientemente la seguridad de sus archivos.

Aplicaciones deseadas:


  • Configuración de fuerza bruta : protección contra la selección de credenciales. NextCloud está navegando por Internet, por lo que es mejor instalarlo.
  • Suplantar : permite al administrador iniciar sesión con otros usuarios. Útil para depurar y solucionar problemas.
  • Talk - video chat.
  • Calendario : habla por sí mismo, le permite mantener calendarios en la nube.
  • Control de acceso a archivos: permite a los usuarios restringir el acceso a archivos y directorios en función de etiquetas y reglas.
  • Suma de comprobación : le permite calcular y ver sumas de comprobación de archivos.
  • Sitios externos : crea enlaces a sitios arbitrarios en el panel en la parte superior.

Características del contenedor:


  • Aria2 bootloader instalado.
  • Se instaló el gestor de arranque Youtube-DL.
  • Herramientas inotify instaladas.
  • Aumento de los límites de memoria para PHP.
  • El servidor web está configurado para funcionar mejor con LDAP.

Observo que si instala la versión 13+, pero luego decide actualizar a la versión 15, puede hacer esto y mucho más utilizando la utilidad occ .


LDAP


Configurar LDAP no es trivial, porque te contaré más.


Vaya a "Configuración-> Integración con LDAP / AD".
Agregue el servidor 172.21.0.1 con el puerto 389.
Inicio de sesión: cn=admin,dc=nas,dc=nas .
NextCloud puede administrar usuarios en la base de datos LDAP y para esto necesitará un administrador.



Presione el botón "Comprobar configuración de DN" y, si el indicador de verificación es verde, el botón "Siguiente".


Cada usuario tiene un atributo inetOrgPerson y es miembro del grupo users_cloud .


El filtro se verá así:


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

Haga clic en "Comprobar la base de datos de configuración y volver a contar los usuarios", y si todo es correcto, se debe mostrar el número de usuarios. Haga clic en Siguiente


En la página siguiente, se configurará un filtro de usuario mediante el cual NextCloud los buscará.


Filtro:


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

En esta página, debe ingresar el inicio de sesión de un usuario y hacer clic en "Verificar configuración".
Última vez "Siguiente".


Luego haga clic en "Avanzado" y verifique que el campo "Base de árbol de grupo" sea igual al campo "Base de árbol de usuario" y tenga el valor dc=nas,dc=nas .


Regrese a los grupos y marque la casilla "Solo estas clases de groupOfUniqueNames " junto a groupOfUniqueNames .


El filtro final aquí es este:


 (&(|(objectclass=groupOfUniqueNames))) 

El campo "Solo de estos grupos" no lo configuré porque Quiero ver a todos los usuarios en la interfaz de NextCloud, y aquellos que no son users_cloud grupo users_cloud son users_cloud por el filtro en la etapa anterior.


Onlyoffice



OnlyOffice es un excelente conjunto de aplicaciones multiplataforma que admite documentos de MS Office. Es gratuito y abierto, así como LibreOffice y también puede funcionar como servidor.


Pero al mismo tiempo, el soporte para el formato original se implementa mucho mejor, casi como en la oficina original de MS, es más estable, tiene una interfaz más reflexiva.


También se integra de fábrica con NextCloud .


Por cierto, hay una versión de escritorio de OnlyOffice, incluso para Linux. En general, después de haber sido atormentado con la colaboración pesada e inestable (esto es LibreOffice), elegí OnlyOffice y hasta ahora estoy bastante satisfecho.


La configuración de OnlyOffice está disponible en Github y debajo, bajo el spoiler.


Github también tiene una configuración para 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 

Explicaré algunos puntos:


  • Debe cambiar <JWT_SECRET_TOKEN> a la suya, así como al NAS en el nombre de su zona DNS.
  • No es necesario incluir HTTPS aquí, porque aunque la oficina es visible desde el exterior, el intercambio con ella es a través de un proxy inverso, que funciona con el usuario exclusivamente a través de HTTPS. Así es como se construye la arquitectura NAS.

Ahora necesitas levantar la oficina:


 docker-compose up -d 

Y, si todo funciona, la siguiente página estará en office.NAS.cloudns.cc:


Solo la pantalla del servidor de oficina


Luego, en la configuración de NextCloud, debe seleccionar el elemento "Administración-> SOLO OFICINA" e ingresar la dirección del servidor de documentos en los dos primeros campos: https://office.NAS.cloudns.cc/ y su token JWT.


En el tercer campo, ingrese la dirección de la nube.


Es posible generar un token JWT, por ejemplo aquí .


Si el servidor está configurado correctamente, aparecerán elementos adicionales para documentos de Office en el menú para crear documentos en la nube y se abrirán archivos .docx en la oficina.


Conclusiones


El almacenamiento en la nube es el enlace central para la interacción del usuario entre ellos y otros servicios.


En este rol, NextCloud es muy conveniente y tiene una amplia funcionalidad.


Tiene su propio proceso de actualización entre versiones, pero en general, este repositorio puede ser recomendado.

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


All Articles