ownCloud Core: Servidor de archivos autohospedado con WebDAV, CalDAV y CardDAV

Publicado por


ownCloud Classic

ownCloud Core: Servidor de archivos autohospedado con WebDAV, CalDAV y CardDAV

El núcleo del servidor ownCloud Classic para almacenamiento, sincronización y uso compartido de archivos, utilizado por más de 200 millones de usuarios en todo el mundo

Vídeo tutorial en YouTube

Mira el vídeo completo sobre cómo instalar y usar ownCloud Core: Servidor de archivos autohospedado con WebDAV, CalDAV y CardDAV en el canal GENBYTE:

¿Qué es ownCloud Core: Servidor de archivos autohospedado con WebDAV, CalDAV y CardDAV?

ownCloud Core es el componente del lado del servidor de ownCloud Classic, que proporciona almacenamiento de archivos, sincronización y uso compartido. Incluye servidores WebDAV, CalDAV y CardDAV, una arquitectura de complementos para aplicaciones, gestión de usuarios y grupos, soporte de cifrado, backends de almacenamiento externo y una API REST completa. El servidor se ejecuta en PHP con soporte para bases de datos MySQL, MariaDB, PostgreSQL y SQLite. Forma la base que aplicaciones como Activity, Calendar, Contacts y muchas otras extienden. El proyecto está licenciado bajo AGPL-3.0 y forma parte del ecosistema ownCloud Classic, mientras que la plataforma de próxima generación es ownCloud Infinite Scale (oCIS).

Servidor de archivos autohospedado con arquitectura de aplicaciones extensible, soporte multi-base de datos y protocolos estándar WebDAV/CalDAV/CardDAV

Características principales

Almacenamiento y sincronización de archivos

Proporciona almacenamiento de archivos, sincronización entre dispositivos y uso compartido seguro para entornos empresariales y personales

Servidores de protocolos estándar

Incluye servidores WebDAV, CalDAV y CardDAV para interoperabilidad con clientes de calendario, contactos y archivos

Arquitectura de aplicaciones extensible

Sistema de complementos que permite ampliar funcionalidades mediante aplicaciones como Activity, Calendar, Contacts y otras

Gestión de usuarios y grupos

Administración completa de usuarios, grupos, permisos y cuotas de almacenamiento

Soporte de cifrado

Cifrado del lado del servidor para proteger datos en reposo

Backends de almacenamiento externo

Integración con sistemas de almacenamiento externos como S3, FTP, WebDAV, Windows Network Drive y otros

API REST completa

Interfaz programática para integración con aplicaciones de terceros y automatización

Soporte multi-base de datos

Compatible con MySQL, MariaDB, PostgreSQL y SQLite para flexibilidad en despliegues

Requisitos del sistema

  • PHP (versión compatible con ownCloud Classic)
  • Servidor web (Apache o Nginx)
  • Base de datos: MySQL, MariaDB, PostgreSQL o SQLite
  • Composer v2 (para desarrollo)
  • Yarn y Node.js v14 o superior (para desarrollo de assets frontend)
  • Docker (para despliegue en contenedores, imagen disponible en Docker Hub)

Instalación con Docker Compose

Despliegue con Docker (imagen oficial)

La imagen oficial está disponible en Docker Hub. La documentación de instalación completa se encuentra en el manual oficial de ownCloud.

docker pull owncloud/server
# Consultar https://doc.owncloud.com/server/latest/admin_manual/installation/ para configuración completa con base de datos y servidor web

Compilación para desarrollo

Requisitos previos: Composer v2, Yarn y Node.js v14+. Ejecutar make para compilar assets y dependencias.

git clone https://github.com/owncloud/core.git
cd core
make

Instalación manual tradicional

Seguir el manual de instalación oficial para despliegue en servidor web con PHP y base de datos.

# Ver https://doc.owncloud.com/server/latest/admin_manual/installation/

Acceder al proyecto

Interfaz web

Acceder mediante navegador a la URL donde se haya desplegado el servidor (puerto 80/443 según configuración del servidor web)

Cliente de sincronización

Utilizar clientes oficiales de ownCloud para escritorio (Windows, macOS, Linux) y móvil (iOS, Android) para sincronización de archivos

Acceso WebDAV/CalDAV/CardDAV

Conectar clientes compatibles con protocolos estándar usando la URL base del servidor y credenciales de usuario

API REST

Endpoints disponibles bajo /ocs/v2.php/apps/files/api/v1/ y otras rutas documentadas en el manual del desarrollador

Casos de uso

  • Almacenamiento y sincronización de archivos autohospedado para empresas y organizaciones
  • Colaboración en documentos con control total sobre los datos
  • Servidor CalDAV/CardDAV para calendarios y contactos compartidos
  • Plataforma extensible para aplicaciones personalizadas mediante arquitectura de apps
  • Cumplimiento de soberanía de datos y regulaciones de privacidad (RGPD, etc.)
  • Integración con infraestructura de almacenamiento existente (S3, NFS, Windows Share)
  • Sustitución autohospedada de servicios cloud públicos como Dropbox, Google Drive u Office 365

Configuración avanzada

Configuración de almacenamiento externo

Montar backends externos (S3, FTP, WebDAV, SMB/CIFS, etc.) como almacenamiento primario o adicional mediante la interfaz de administración o config.php

# Configuración en config.php o vía interfaz de administración
# Ver https://doc.owncloud.com/server/latest/admin_manual/configuration_files/external_storage/

Cifrado del lado del servidor

Activar y gestionar cifrado de datos en reposo con gestión de claves maestra o por usuario

occ encryption:enable
occ encryption:enable-master-key
# Ver documentación de cifrado en manual de administración

Comandos de administración (occ)

Herramienta de línea de comandos para mantenimiento, migración, gestión de usuarios, apps y configuración

php occ list
php occ app:list
php occ user:add [opciones] usuario
php occ maintenance:mode –on

Federación entre instancias ownCloud

Compartir archivos y recursos entre diferentes servidores ownCloud mediante federación

# Configurar en ajustes de federación vía interfaz de administración
# Ver https://doc.owncloud.com/server/latest/admin_manual/configuration_server/federation_configuration.html

Gestión y mantenimiento

Actualizaciones

Actualizar mediante el proceso documentado: modo mantenimiento, backup, actualización de código, migración de base de datos, desactivar modo mantenimiento

php occ maintenance:mode –on
# Backup de base de datos y data/
# Actualizar código (git pull / docker pull / paquete)
php occ upgrade
php occ maintenance:mode –off

Tareas programadas (cron)

Ejecutar cron.php periódicamente para tareas de fondo: limpieza de papelera, expiración de compartidos, federación, etc.

# Crontab ejemplo para usuario www-data
*/15 * * * * php -f /var/www/owncloud/cron.php

Backup y restauración

Realizar backup de base de datos, directorio data/, config.php y archivos de tema/logos personalizados

# Backup base de datos
mysqldump owncloud > owncloud-db-backup.sql
# Backup archivos
tar -czf owncloud-data-backup.tar.gz /var/www/owncloud/data /var/www/owncloud/config

Monitoreo y logs

Revisar logs en data/owncloud.log, configurar nivel de log y rotación, monitorizar estado via status.php

tail -f data/owncloud.log
# Verificar estado
curl https://tu-servidor/status.php

Stack técnico

  • PHP
  • MySQL / MariaDB / PostgreSQL / SQLite
  • Apache / Nginx
  • JavaScript (frontend legacy)
  • Vue.js (partes del frontend moderno)
  • WebDAV / CalDAV / CardDAV (SabreDAV)
  • Composer (gestión de dependencias PHP)
  • Yarn / Node.js (build de assets)
  • Docker (despliegue en contenedores)

Referencias oficiales

Apoya el canal GENBYTE

Sígueme en mis redes sociales

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *