📘 Este artículo forma parte de nuestra Guía Completa de Servidores y Virtualización y complementa a nuestra Guía Completa de Ciberseguridad. Si buscas una alternativa más popular, consulta nuestra Guía de instalación de Nextcloud.
Introducción
ownCloud es una de las plataformas de almacenamiento en la nube auto-hospedadas más veteranas y sólidas del mercado. Nacida en 2010, fue precursora de todo el movimiento de «nubes privadas» y dio origen a Nextcloud en 2016 tras una escisión.
En 2026, ownCloud sigue siendo una opción válida para:
- Empresas que quieren control total sobre sus datos.
- Integración con Microsoft 365 y SharePoint.
- Cumplimiento normativo estricto (RGPD, ISO 27001, HIPAA).
- Alternativa a Google Drive, Dropbox o OneDrive sin ceder soberanía.
Diferencias clave con Nextcloud:
| Aspecto | ownCloud | Nextcloud |
|---|---|---|
| Comunidad | Menor | Mayor |
| Plugins | Menos | Más (+400) |
| Enterprise | Sí (Microsoft 365) | Sí |
| Curva de aprendizaje | Media | Media |
| Rendimiento | Excelente | Excelente |
| Precio | Gratis + Enterprise | Gratis + Enterprise |
Conclusión: si quieres integración con Microsoft 365, ownCloud. Si quieres más flexibilidad y plugins, Nextcloud.
En esta guía completa vas a aprender:
- Qué es ownCloud y por qué usarlo.
- Requisitos de hardware y software.
- Instalación en Debian 12 con Apache o Nginx.
- Configuración de base de datos (MariaDB/PostgreSQL).
- Configuración de PHP y extensiones.
- SSL con Let’s Encrypt.
- Seguridad y hardening.
- Backups automáticos.
- Actualizaciones y migraciones.
- Integración con clientes (Windows, macOS, Linux, móvil).
- OwnCloud Infinite Scale (la versión moderna en Go).
- Troubleshooting.
- FAQ con preguntas frecuentes.
Si buscas una alternativa más popular, consulta nuestra Guía de Nextcloud. Si quieres montar un servidor de archivos local, nuestra Guía de Samba.
Índice de contenidos
- ¿Qué es ownCloud?
- Requisitos
- Instalación con Apache
- Instalación con Nginx
- Configuración de MariaDB
- Configuración de PHP
- SSL con Let’s Encrypt
- Configuración inicial
- Seguridad y hardening
- Backups automáticos
- Actualizaciones
- Clientes: Windows, macOS, Linux, móvil
- OwnCloud Infinite Scale
- Troubleshooting
- FAQ
- Conclusión
1. ¿Qué es ownCloud?
ownCloud es una plataforma de sincronización y compartición de archivos auto-hospedada. Permite:
- Almacenar archivos en tu propio servidor.
- Sincronizar entre múltiples dispositivos.
- Compartir archivos y carpetas con otros usuarios.
- Editar documentos online (con plugins).
- Calendario, contactos y tareas (con apps).
- Integración con Microsoft 365 (versión enterprise).
1.1 Componentes
| Componente | Función |
|---|---|
| ownCloud Server | Núcleo (PHP) |
| Base de datos | MariaDB, PostgreSQL, SQLite |
| Servidor web | Apache, Nginx |
| PHP | Backend (8.1+) |
| Clientes | Desktop, móvil, web |
1.2 Características principales
- Auto-hospedaje: control total de los datos.
- Sincronización: entre múltiples dispositivos.
- Compartición: con usuarios, grupos, enlaces públicos.
- Versionado: historial de cambios.
- Papelera: recuperación de archivos borrados.
- Cifrado: en tránsito y en reposo.
- Antivirus: integración con ClamAV.
- LDAP/AD: integración empresarial.
- Multi-idioma (más de 40).
1.3 Casos de uso
- Empresas que quieren control de datos.
- Organizaciones con compliance estricto.
- Particulares que quieren privacidad.
- Equipos que colaboran en documentos.
- Instituciones educativas.
Consulta Privacidad de los datos en la era digital.
1.4 Versiones
- ownCloud 10.x (última versión PHP).
- ownCloud Infinite Scale (OCIS) — nueva generación en Go.
- ownCloud Enterprise — versión comercial.
Recomendación 2026: para nuevas instalaciones, considera ownCloud Infinite Scale (más moderno) o Nextcloud. Para instalaciones PHP tradicionales, ownCloud 10.15+.
2. Requisitos
2.1 Hardware
| Componente | Mínimo | Recomendado |
|---|---|---|
| CPU | 2 cores | 4+ cores |
| RAM | 2 GB | 4-8 GB |
| Disco | 20 GB | 100+ GB SSD |
| Red | 100 Mbps | 1 Gbps |
Nota: el disco crece rápido con archivos. Considera almacenamiento externo (NAS, S3) para datos.
2.2 Software
- Debian 12 (Bookworm) — recomendado.
- Apache 2.4+ o Nginx 1.22+.
- MariaDB 10.11+ o PostgreSQL 15+.
- PHP 8.1+ con extensiones.
2.3 Extensiones PHP requeridas
ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring,
openssl, posix, session, simplexml, xml, xmlreader, xmlwriter, zip, zlibAdemás:
- imagick (recomendado).
- smbclient (para montar SMB).
- ldap (para integración AD).
2.4 Puertos
| Puerto | Servicio |
|---|---|
| 80, 443 | HTTP/HTTPS |
| 3306 | MariaDB (local) |
| 5432 | PostgreSQL (local) |
2.5 Preparación
sudo apt update
sudo apt full-upgrade -y
sudo apt install -y curl wget unzipConsulta Guía Completa de Linux.
3. Instalación con Apache
3.1 Instalar Apache
sudo apt install -y apache2 libapache2-mod-php
sudo a2enmod rewrite headers env dir mime ssl
sudo systemctl restart apache23.2 Instalar PHP y extensiones
sudo apt install -y \
php8.2 php8.2-cli php8.2-fpm php8.2-common \
php8.2-curl php8.2-gd php8.2-intl php8.2-json \
php8.2-mbstring php8.2-mysql php8.2-xml php8.2-zip \
php8.2-imagick php8.2-ldap php8.2-bcmath php8.2-gmp \
php8.2-apcu php8.2-redis php8.2-smbclient3.3 Descargar ownCloud
cd /tmp
wget https://download.owncloud.com/server/stable/owncloud-complete-latest.tar.bz2
tar -xjf owncloud-complete-latest.tar.bz2
sudo mv owncloud /var/www/
sudo chown -R www-data:www-data /var/www/owncloud3.4 Configurar Apache
Crea /etc/apache2/sites-available/owncloud.conf:
<VirtualHost *:80>
ServerName cloud.tudominio.com
DocumentRoot /var/www/owncloud
<Directory /var/www/owncloud/>
Options +FollowSymlinks
AllowOverride All
Require all granted
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/owncloud
SetEnv HTTP_HOME /var/www/owncloud
</Directory>
ErrorLog ${APACHE_LOG_DIR}/owncloud_error.log
CustomLog ${APACHE_LOG_DIR}/owncloud_access.log combined
</VirtualHost>Activar:
sudo a2ensite owncloud.conf
sudo a2dissite 000-default.conf
sudo systemctl reload apache23.5 Configurar PHP para ownCloud
Edita /etc/php/8.2/apache2/php.ini:
memory_limit = 512M
upload_max_filesize = 513M
post_max_size = 513M
max_execution_time = 3600
max_input_time = 3600
date.timezone = Europe/MadridReiniciar:
sudo systemctl restart apache2Consulta Guía de Apache2.
4. Instalación con Nginx
4.1 Instalar Nginx
sudo apt install -y nginx
sudo systemctl enable nginx4.2 Instalar PHP-FPM
sudo apt install -y \
php8.2-fpm php8.2-cli php8.2-common \
php8.2-curl php8.2-gd php8.2-intl php8.2-json \
php8.2-mbstring php8.2-mysql php8.2-xml php8.2-zip \
php8.2-imagick php8.2-ldap php8.2-bcmath php8.2-gmp \
php8.2-apcu php8.2-redis php8.2-smbclient4.3 Descargar ownCloud
cd /tmp
wget https://download.owncloud.com/server/stable/owncloud-complete-latest.tar.bz2
tar -xjf owncloud-complete-latest.tar.bz2
sudo mv owncloud /var/www/
sudo chown -R www-data:www-data /var/www/owncloud4.4 Configurar Nginx
Crea /etc/nginx/sites-available/owncloud:
upstream php-handler {
server unix:/run/php/php8.2-fpm.sock;
}
server {
listen 80;
server_name cloud.tudominio.com;
# Redirigir a HTTPS
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name cloud.tudominio.com;
# SSL (Certbot lo rellenará)
ssl_certificate /etc/letsencrypt/live/cloud.tudominio.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/cloud.tudominio.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
# Seguridad
add_header Strict-Transport-Security "max-age=31536000" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" always;
# Root
root /var/www/owncloud;
index index.php;
# Tamaño máximo
client_max_body_size 513M;
# Logs
access_log /var/log/nginx/owncloud.access.log;
error_log /var/log/nginx/owncloud.error.log;
# Configuración principal
location / {
try_files $uri $uri/ /index.php$request_uri;
}
# Bloquear archivos sensibles
location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README) {
deny all;
}
# Bloquear PHP en data
location ~ ^/data/.*\.php$ {
deny all;
}
# PHP
location ~ \.php(?:$|/) {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass php-handler;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param HTTPS on;
fastcgi_param modHeadersAvailable true;
fastcgi_read_timeout 3600;
}
# WebDAV
location ~ ^/remote.php/(webdav|dav) {
fastcgi_pass php-handler;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
# Rewrites
location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+|core/templates/40[34])\.php(?:$|/) {
fastcgi_pass php-handler;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
# MIME types
location ~* \.(?:css|js|woff2?|svg|gif|png|html|ttf|ico|jpg|jpeg)$ {
try_files $uri /index.php$request_uri;
expires 30d;
access_log off;
}
}Activar:
sudo ln -s /etc/nginx/sites-available/owncloud /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx4.5 Configurar PHP-FPM
Edita /etc/php/8.2/fpm/php.ini:
memory_limit = 512M
upload_max_filesize = 513M
post_max_size = 513M
max_execution_time = 3600
max_input_time = 3600
date.timezone = Europe/MadridEdita /etc/php/8.2/fpm/pool.d/www.conf:
env[PATH] = /usr/local/bin:/usr/bin:/binReiniciar:
sudo systemctl restart php8.2-fpmConsulta Guía de Nginx.
5. Configuración de MariaDB
5.1 Instalar MariaDB
sudo apt install -y mariadb-server
sudo mysql_secure_installationRecomendaciones:
- Contraseña root: robusta.
- Eliminar usuarios anónimos: sí.
- Eliminar DB test: sí.
- Deshabilitar root remoto: sí.
- Recargar permisos: sí.
5.2 Crear base de datos y usuario
sudo mysql -u root -pCREATE DATABASE owncloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'owncloud'@'localhost' IDENTIFIED BY 'PasswordOwnCloud123!';
GRANT ALL PRIVILEGES ON owncloud.* TO 'owncloud'@'localhost';
FLUSH PRIVILEGES;
EXIT;5.3 Recomendaciones de rendimiento
Edita /etc/mysql/mariadb.conf.d/50-server.cnf:
[mysqld]
innodb_buffer_pool_size = 1G
innodb_log_file_size = 128M
innodb_file_per_table = 1
innodb_flush_method = O_DIRECTReiniciar:
sudo systemctl restart mariadbConsulta Cómo instalar MariaDB.
6. Configuración de PHP
6.1 Verificar extensiones
php -mDeberías ver: ctype, curl, dom, fileinfo, gd, iconv, intl, json, mbstring, openssl, posix, session, simplexml, xml, xmlreader, xmlwriter, zip, zlib, imagick, ldap, apcu, redis, smbclient.
6.2 Ajustes recomendados
APCu (caché):
Edita /etc/php/8.2/mods-available/apcu.ini:
apc.enabled=1
apc.shm_size=128M
apc.ttl=7200
apc.enable_cli=1Redis (caché distribuida):
sudo apt install -y redis-server php-redis
sudo systemctl enable --now redis-serverEdita /etc/php/8.2/mods-available/redis.ini:
extension=redis.so6.3 Reiniciar
sudo systemctl restart php8.2-fpm apache2Consulta Optimización de servidores Linux.
7. SSL con Let’s Encrypt
7.1 Instalar Certbot
Con Apache:
sudo apt install -y certbot python3-certbot-apache
sudo certbot --apache -d cloud.tudominio.comCon Nginx:
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d cloud.tudominio.com7.2 Renovación automática
sudo certbot renew --dry-runVerificar:
sudo systemctl list-timers | grep certbotConsulta Guía completa para configurar SSL en Nginx y Cómo implementar el protocolo HTTPS correctamente.
8. Configuración inicial
8.1 Acceder a la interfaz
Abre en el navegador:
https://cloud.tudominio.comCrea la cuenta de administrador.
8.2 Asistente de configuración
- Usuario admin: tu nombre.
- Contraseña: robusta.
- Base de datos:
- Tipo: MySQL/MariaDB.
- Usuario:
owncloud. - Contraseña: la que pusiste.
- Base:
owncloud. - Host:
localhost.
- Data folder: por defecto
/var/www/owncloud/data. - Instalar.
8.3 Ajustes post-instalación
Aumentar seguridad en /var/www/owncloud/config/config.php:
<?php
$CONFIG = array (
'trusted_domains' => [
0 => 'localhost',
1 => 'cloud.tudominio.com',
],
'datadirectory' => '/var/www/owncloud/data',
'dbtype' => 'mysql',
'version' => '10.15.0.0',
'dbname' => 'owncloud',
'dbhost' => 'localhost',
'dbtableprefix' => 'oc_',
'dbuser' => 'owncloud',
'dbpassword' => 'PasswordOwnCloud123!',
'log_type' => 'owncloud',
'overwrite.cli.url' => 'https://cloud.tudominio.com',
'overwriteprotocol' => 'https',
'htaccess.RewriteBase' => '/',
'memcache.local' => '\\OC\\Memcache\\APCu',
'memcache.locking' => '\\OC\\Memcache\\Redis',
'redis' => [
'host' => 'localhost',
'port' => 6379,
],
);Ajustar permisos:
sudo chown -R www-data:www-data /var/www/owncloud
sudo chmod -R 750 /var/www/owncloudEjecutar optimización:
sudo -u www-data php /var/www/owncloud/occ maintenance:repair
sudo -u www-data php /var/www/owncloud/occ maintenance:mode --off8.4 Configurar cron
Usa cron en lugar de AJAX:
sudo crontab -u www-data -eAñade:
*/15 * * * * php -f /var/www/owncloud/occ system:cronConsulta Cómo automatizar tareas con cron.
9. Seguridad y hardening
9.1 Configurar HTTPS obligatorio
Añade en config.php:
'overwriteprotocol' => 'https',9.2 Cabeceras de seguridad
En Nginx ya las hemos añadido:
add_header Strict-Transport-Security "max-age=31536000" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;9.3 Bloquear acceso a datos
En Nginx:
location ~ ^/(?:data|config|db_structure|README) {
deny all;
}En Apache (.htaccess en data):
Require all denied9.4 Fail2ban
sudo apt install -y fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.localAñade a /etc/fail2ban/jail.local:
[owncloud]
enabled = true
port = http,https
filter = owncloud
logpath = /var/www/owncloud/data/owncloud.log
maxretry = 5
bantime = 86400
findtime = 3600Crea /etc/fail2ban/filter.d/owncloud.conf:
[Definition]
failregex = ^{"reqId":".*","level":2,"time":".*","remoteAddr":"<HOST>".*Login failed.*$
ignoreregex =Consulta Cómo configurar y usar Fail2ban.
9.5 Autenticación de dos factores
ownCloud soporta 2FA con apps:
- TOTP (Google Authenticator, Authy).
- U2F (YubiKey).
Instalar en occ:
sudo -u www-data php /var/www/owncloud/occ app:install twofactor_totp
sudo -u www-data php /var/www/owncloud/occ app:enable twofactor_totpConsulta Buenas prácticas en contraseñas y 2FA.
9.6 Antivirus (ClamAV)
sudo apt install -y clamav clamav-daemonConfigurar en config.php:
'files_antivirus' => [
'av_mode' => 'socket',
'av_socket' => '/var/run/clamav/clamd.ctl',
],Consulta Guía de ClamAV y SpamAssassin.
9.7 Firewall
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enableConsulta Guía para configurar firewall en Debian.
9.8 Limitar acceso por IP (opcional)
En Nginx:
location / {
allow 192.168.1.0/24;
allow 200.100.50.25;
deny all;
...
}Consulta Zero Trust.
10. Backups automáticos
10.1 Qué respaldar
- Base de datos (
owncloud). - Configuración (
/var/www/owncloud/config/). - Archivos de datos (
/var/www/owncloud/data/). - Apps personalizadas.
10.2 Script de backup
sudo nano /usr/local/bin/backup-owncloud.sh#!/bin/bash
set -e
FECHA=$(date +%Y-%m-%d)
BACKUP_DIR="/backup/owncloud"
DATA_DIR="/var/www/owncloud"
# Modo mantenimiento
sudo -u www-data php $DATA_DIR/occ maintenance:mode --on
# Backup BD
mysqldump --single-transaction -u owncloud -pPASSWORD owncloud | gzip > $BACKUP_DIR/owncloud-db-$FECHA.sql.gz
# Backup archivos (excluye datos grandes si tienes storage externo)
tar -czf $BACKUP_DIR/owncloud-files-$FECHA.tar.gz -C $DATA_DIR config data apps
# Modo normal
sudo -u www-data php $DATA_DIR/occ maintenance:mode --off
# Retención 30 días
find $BACKUP_DIR -name "*.gz" -mtime +30 -delete
echo "Backup completado: $FECHA"sudo chmod +x /usr/local/bin/backup-owncloud.sh10.3 Programar con cron
sudo crontab -e0 3 * * * /usr/local/bin/backup-owncloud.sh >> /var/log/backup-owncloud.log 2>&110.4 Probar restauración
Prueba periódicamente que el backup funciona. Un backup no probado no es un backup.
Consulta La importancia de los backups y Cómo hacer un backup seguro en Linux.
11. Actualizaciones
11.1 Backup antes de actualizar
sudo /usr/local/bin/backup-owncloud.sh11.2 Actualizar con occ
sudo -u www-data php /var/www/owncloud/updater/updater.pharO manualmente:
# Modo mantenimiento
sudo -u www-data php /var/www/owncloud/occ maintenance:mode --on
# Descargar nueva versión
cd /tmp
wget https://download.owncloud.com/server/stable/owncloud-complete-latest.tar.bz2
tar -xjf owncloud-complete-latest.tar.bz2
# Reemplazar (sin borrar config ni data)
sudo rsync -av --delete --exclude=config --exclude=data /tmp/owncloud/ /var/www/owncloud/
sudo chown -R www-data:www-data /var/www/owncloud
# Actualizar BD
sudo -u www-data php /var/www/owncloud/occ upgrade
# Modo normal
sudo -u www-data php /var/www/owncloud/occ maintenance:mode --off11.3 Verificar
sudo -u www-data php /var/www/owncloud/occ statusConsulta Guía Completa de Linux.
12. Clientes: Windows, macOS, Linux, móvil
12.1 Cliente de escritorio
Descargar: https://owncloud.com/desktop-app/
Disponible para:
- Windows (10, 11).
- macOS (Intel, Apple Silicon).
- Linux (AppImage, deb, rpm).
Configuración:
- Instalar la app.
- Introducir URL del servidor (
https://cloud.tudominio.com). - Credenciales.
- Elegir carpetas a sincronizar.
12.2 Cliente móvil
iOS: App Store → «ownCloud»
Android: Google Play → «ownCloud»
Funciones:
- Sincronización automática de fotos.
- Acceso a archivos.
- Compartir enlaces.
- Documentos offline.
12.3 Cliente web
Accede directamente a https://cloud.tudominio.com desde cualquier navegador.
12.4 WebDAV
Acceso por WebDAV:
https://cloud.tudominio.com/remote.php/dav/files/USUARIO/Ejemplo con rclone:
rclone config
# Tipo: webdav
# URL: https://cloud.tudominio.com/remote.php/dav/files/USUARIO/
# Usuario: tu-usuario
# Contraseña: tu-password12.5 Sincronización con otros servicios
- Mover archivos entre ownCloud y Nextcloud.
- Importar desde Dropbox/Google Drive.
- rclone para sincronización con cualquier servicio.
Consulta Cómo usar Python y pandas para análisis de datos si integras con scripts.
13. OwnCloud Infinite Scale
ownCloud Infinite Scale (OCIS) es la nueva generación de ownCloud, escrita en Go en lugar de PHP.
13.1 Características
- Escalable horizontalmente.
- Más rápido.
- Basado en microservicios.
- Diseñado para la nube moderna.
- Compatible con Kubernetes.
13.2 Instalación (Docker)
docker run -d --name ocis \
-p 9200:9200 \
-v ocis-data:/var/lib/ocis \
-v ocis-config:/etc/ocis \
owncloud/ocis:latest13.3 Cuándo usar OCIS
- Nuevas instalaciones.
- Entornos cloud-native.
- Escalabilidad horizontal.
- Kubernetes.
Cuándo NO usar OCIS:
- Migraciones desde ownCloud 10.x (aún en proceso).
- Apps personalizadas PHP.
- Entornos tradicionales.
Consulta Qué es Docker y Qué es Kubernetes.
14. Troubleshooting
14.1 «Trusted domain error»
Solución: añade el dominio a trusted_domains en config.php.
14.2 Página en blanco
Diagnóstico:
sudo tail -f /var/log/apache2/owncloud_error.log
sudo tail -f /var/log/nginx/owncloud.error.log
sudo tail -f /var/www/owncloud/data/owncloud.logCausas:
- Falta extensión PHP.
- Permisos incorrectos.
- Configuración de BD incorrecta.
14.3 «Internal Server Error»
Solución:
sudo chown -R www-data:www-data /var/www/owncloud
sudo chmod -R 750 /var/www/owncloud
sudo -u www-data php /var/www/owncloud/occ maintenance:repair14.4 No puedo subir archivos grandes
Ajustar:
php.ini:upload_max_filesize,post_max_size.- Nginx:
client_max_body_size. - Apache:
LimitRequestBody. .htaccess(si aplica).
14.5 Login falla tras migración
Causa: contraseña hasheada con algoritmo distinto.
Solución:
sudo -u www-data php /var/www/owncloud/occ user:resetpassword admin14.6 Sincronización lenta
Causas:
- Servidor saturado.
- Disco lento.
- PHP-FPM mal configurado.
Solución:
- Aumentar
pm.max_children. - SSD NVMe.
- Redis para caché.
14.7 Base de datos llena
Solución:
# Ver tamaño
sudo du -sh /var/lib/mysql/owncloud/
# Limpiar actividades antiguas
sudo -u www-data php /var/www/owncloud/occ activity:cleanup14.8 Actualización falla
Solución:
sudo -u www-data php /var/www/owncloud/occ maintenance:mode --off
sudo -u www-data php /var/www/owncloud/updater/updater.phar --no-interaction14.9 SSL no funciona
sudo certbot renew
sudo systemctl reload nginx
sudo systemctl reload apache214.10 Ver logs
# ownCloud
sudo tail -f /var/www/owncloud/data/owncloud.log
# Apache
sudo tail -f /var/log/apache2/owncloud_error.log
# Nginx
sudo tail -f /var/log/nginx/owncloud.error.log
# PHP-FPM
sudo tail -f /var/log/php8.2-fpm.logConsulta Análisis de registros en Linux.
15. FAQ
¿Qué es ownCloud?
ownCloud es una plataforma de almacenamiento y sincronización en la nube auto-hospedada. Alternativa a Google Drive, Dropbox, OneDrive.
Precursor de Nextcloud.
¿ownCloud es gratis?
Sí, en su versión Community Edition.
ownCloud Enterprise es de pago (con soporte, integración Microsoft 365).
¿ownCloud o Nextcloud?
- ownCloud: enfoque enterprise, integración Microsoft 365.
- Nextcloud: más popular, más plugins.
Recomendación: Nextcloud para uso general, ownCloud para empresas con Microsoft 365.
Consulta Guía de Nextcloud.
¿Necesito un servidor potente?
No para empezar:
- <10 usuarios: 2 GB RAM.
- 10-50 usuarios: 4-8 GB RAM.
- 50+ usuarios: 8+ GB RAM.
El disco es lo que más crece.
¿Cuánto disco necesito?
Depende del uso:
- Uso personal: 100 GB – 1 TB.
- PyME: 1-5 TB.
- Empresa: 5+ TB.
Consejo: usa almacenamiento externo (NAS, S3) para los datos.
¿Cómo migro desde otro servicio?
Desde Dropbox/Google Drive:
- Descarga todo.
- Sube a ownCloud.
- O usa rclone para sincronización directa.
Desde ownCloud 10.x:
- Actualiza con el updater oficial.
- O migra a OCIS (en desarrollo).
¿ownCloud soporta LDAP/Active Directory?
Sí. Instala la app user_ldap:
sudo -u www-data php /var/www/owncloud/occ app:install user_ldapConfigura en el panel de admin.
Consulta Gestión de identidades y accesos (IAM).
¿Cómo añado usuarios?
Desde el panel admin:
- Usuarios → Añadir.
- Nombre, email, contraseña.
O con occ:
sudo -u www-data php /var/www/owncloud/occ user:add usuario¿Cómo comparto archivos?
Opción 1: compartir con usuarios internos.
Opción 2: enlace público (con o sin contraseña).
Opción 3: compartir con grupo.
¿Cómo cifro los datos?
Cifrado en reposo:
sudo -u www-data php /var/www/owncloud/occ encryption:enable⚠️ Guarda la clave de cifrado en un lugar seguro.
¿ownCloud soporta 2FA?
Sí. Instala twofactor_totp.
Consulta la sección 9.5.
¿Cómo hago backup?
Consulta la sección 10.
Lo importante: backup de BD + archivos + configuración.
¿Cómo actualizo?
Con el updater oficial:
sudo -u www-data php /var/www/owncloud/updater/updater.pharBackup antes.
¿ownCloud afecta al SEO?
No, si lo usas como nube privada.
Consejo: márcalo noindex si es cloud.tudominio.com.
¿Puedo usar ownCloud para sincronizar código?
Sí, pero no es ideal. Para código usa Git (GitLab, Gitea).
ownCloud es mejor para archivos grandes, documentos, fotos.
¿ownCloud soporta Office?
Sí, con apps:
- OnlyOffice (recomendado).
- Collabora Online.
Instalación:
sudo -u www-data php /var/www/owncloud/occ app:install onlyoffice¿Puedo migrar a Nextcloud?
Sí. Nextcloud ofrece herramientas de migración desde ownCloud.
Consulta la documentación oficial.
¿Cuánto cuesta ownCloud Enterprise?
Según tamaño. Para 50 usuarios, ~3.000-5.000 €/año.
Community Edition: gratis.
¿ownCloud funciona con Docker?
Sí. Hay imagen oficial:
docker pull owncloud/server:latestConsulta Qué es Docker.
¿Qué es OCIS?
OwnCloud Infinite Scale. Nueva generación en Go.
Recomendado para nuevas instalaciones cloud-native.
16. Conclusión
ownCloud es una de las plataformas de almacenamiento en la nube auto-hospedadas más sólidas y veteranas. Con Apache o Nginx + MariaDB + PHP en Debian, tienes una alternativa profesional a Google Drive, Dropbox o OneDrive.
Puntos clave:
- Instalación con Apache o Nginx.
- MariaDB como base de datos.
- PHP 8.2 con extensiones específicas.
- SSL obligatorio con Let’s Encrypt.
- Seguridad: 2FA, Fail2ban, ClamAV.
- Backups automáticos.
- Clientes para Windows, macOS, Linux, móvil.
- WebDAV y rclone para integraciones.
- OCIS para nuevas instalaciones modernas.
- Troubleshooting extenso.
Si quieres seguir aprendiendo:







Pingback: Como instalar Nextcloud con Nginx y Let's Encrypt SSL en Debian11 - Web y Blog de Veselin
Pingback: Como instalar Nextcloud con Nginx y Let's Encrypt SSL en Debian11 - VESKO.ES
Pingback: Como instalar Nextcloud con Nginx y Let's Encrypt SSL en Debian11 - Veselin