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).
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.
# 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.
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.
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
# 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-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 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
# 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
# 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.
*/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
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
# 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
- Repositorio oficial ownCloud Core: https://github.com/owncloud/core
- Documentación oficial de ownCloud Classic: https://doc.owncloud.com
- Manual de instalación: https://doc.owncloud.com/server/latest/admin_manual/installation/
- Manual del desarrollador: https://doc.owncloud.com/server/latest/developer_manual/
- Imagen Docker oficial en Docker Hub: https://hub.docker.com/r/owncloud/server
- CHANGELOG del proyecto: https://github.com/owncloud/core/blob/master/CHANGELOG.md
- Comunidad y soporte (Discusiones GitHub): https://github.com/orgs/owncloud/discussions
- Chat Matrix de la comunidad: https://app.element.io/#/room/#owncloud:matrix.org
- Reporte de vulnerabilidades de seguridad: https://security.owncloud.com
- Programa de bug bounty (YesWeHack): https://yeswehack.com/programs/owncloud-bug-bounty-program
- Traducciones en Transifex: https://explore.transifex.com/owncloud-org/owncloud/
- OSPO de Kiteworks (ownCloud): https://kiteworks.com/opensource
Apoya el canal GENBYTE
¿Te ha sido útil este contenido?
Suscríbete a YouTube
Newsletter GENBYTE
Ko-fi
Contacto: [email protected]
