Como instalar OwnCloud en Debian 11

Cómo Instalar ownCloud en Debian (Guía Completa 2026)

📘 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:

AspectoownCloudNextcloud
ComunidadMenorMayor
PluginsMenosMás (+400)
EnterpriseSí (Microsoft 365)Sí
Curva de aprendizajeMediaMedia
RendimientoExcelenteExcelente
PrecioGratis + EnterpriseGratis + 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

  1. ¿Qué es ownCloud?
  2. Requisitos
  3. Instalación con Apache
  4. Instalación con Nginx
  5. Configuración de MariaDB
  6. Configuración de PHP
  7. SSL con Let’s Encrypt
  8. Configuración inicial
  9. Seguridad y hardening
  10. Backups automáticos
  11. Actualizaciones
  12. Clientes: Windows, macOS, Linux, móvil
  13. OwnCloud Infinite Scale
  14. Troubleshooting
  15. FAQ
  16. 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

ComponenteFunción
ownCloud ServerNúcleo (PHP)
Base de datosMariaDB, PostgreSQL, SQLite
Servidor webApache, Nginx
PHPBackend (8.1+)
ClientesDesktop, 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

ComponenteMínimoRecomendado
CPU2 cores4+ cores
RAM2 GB4-8 GB
Disco20 GB100+ GB SSD
Red100 Mbps1 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, zlib

Además:

  • imagick (recomendado).
  • smbclient (para montar SMB).
  • ldap (para integración AD).

2.4 Puertos

PuertoServicio
80, 443HTTP/HTTPS
3306MariaDB (local)
5432PostgreSQL (local)

2.5 Preparación

sudo apt update
sudo apt full-upgrade -y
sudo apt install -y curl wget unzip

Consulta 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 apache2

3.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-smbclient

3.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/owncloud

3.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 apache2

3.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/Madrid

Reiniciar:

sudo systemctl restart apache2

Consulta Guía de Apache2.


4. Instalación con Nginx

4.1 Instalar Nginx

sudo apt install -y nginx
sudo systemctl enable nginx

4.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-smbclient

4.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/owncloud

4.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 nginx

4.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/Madrid

Edita /etc/php/8.2/fpm/pool.d/www.conf:

env[PATH] = /usr/local/bin:/usr/bin:/bin

Reiniciar:

sudo systemctl restart php8.2-fpm

Consulta Guía de Nginx.


5. Configuración de MariaDB

5.1 Instalar MariaDB

sudo apt install -y mariadb-server
sudo mysql_secure_installation

Recomendaciones:

  • 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 -p
CREATE 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_DIRECT

Reiniciar:

sudo systemctl restart mariadb

Consulta Cómo instalar MariaDB.


6. Configuración de PHP

6.1 Verificar extensiones

php -m

Deberí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=1

Redis (caché distribuida):

sudo apt install -y redis-server php-redis
sudo systemctl enable --now redis-server

Edita /etc/php/8.2/mods-available/redis.ini:

extension=redis.so

6.3 Reiniciar

sudo systemctl restart php8.2-fpm apache2

Consulta 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.com

Con Nginx:

sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d cloud.tudominio.com

7.2 Renovación automática

sudo certbot renew --dry-run

Verificar:

sudo systemctl list-timers | grep certbot

Consulta 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.com

Crea la cuenta de administrador.

8.2 Asistente de configuración

  1. Usuario admin: tu nombre.
  2. Contraseña: robusta.
  3. Base de datos:
    • Tipo: MySQL/MariaDB.
    • Usuario: owncloud.
    • Contraseña: la que pusiste.
    • Base: owncloud.
    • Host: localhost.
  4. Data folder: por defecto /var/www/owncloud/data.
  5. 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/owncloud

Ejecutar optimización:

sudo -u www-data php /var/www/owncloud/occ maintenance:repair
sudo -u www-data php /var/www/owncloud/occ maintenance:mode --off

8.4 Configurar cron

Usa cron en lugar de AJAX:

sudo crontab -u www-data -e

Añade:

*/15 * * * * php -f /var/www/owncloud/occ system:cron

Consulta 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 denied

9.4 Fail2ban

sudo apt install -y fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Añ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 = 3600

Crea /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_totp

Consulta Buenas prácticas en contraseñas y 2FA.

9.6 Antivirus (ClamAV)

sudo apt install -y clamav clamav-daemon

Configurar 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 enable

Consulta 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.sh

10.3 Programar con cron

sudo crontab -e
0 3 * * * /usr/local/bin/backup-owncloud.sh >> /var/log/backup-owncloud.log 2>&1

10.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.sh

11.2 Actualizar con occ

sudo -u www-data php /var/www/owncloud/updater/updater.phar

O 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 --off

11.3 Verificar

sudo -u www-data php /var/www/owncloud/occ status

Consulta 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:

  1. Instalar la app.
  2. Introducir URL del servidor (https://cloud.tudominio.com).
  3. Credenciales.
  4. 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-password

12.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:latest

13.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.log

Causas:

  • 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:repair

14.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 admin

14.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:cleanup

14.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-interaction

14.9 SSL no funciona

sudo certbot renew
sudo systemctl reload nginx
sudo systemctl reload apache2

14.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.log

Consulta 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_ldap

Configura en el panel de admin.

Consulta Gestión de identidades y accesos (IAM).

¿Cómo añado usuarios?

Desde el panel admin:

  1. Usuarios → Añadir.
  2. 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.phar

Backup 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:latest

Consulta 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:

  1. Instalación con Apache o Nginx.
  2. MariaDB como base de datos.
  3. PHP 8.2 con extensiones específicas.
  4. SSL obligatorio con Let’s Encrypt.
  5. Seguridad: 2FA, Fail2ban, ClamAV.
  6. Backups automáticos.
  7. Clientes para Windows, macOS, Linux, móvil.
  8. WebDAV y rclone para integraciones.
  9. OCIS para nuevas instalaciones modernas.
  10. Troubleshooting extenso.

Si quieres seguir aprendiendo:

3 comentarios en “Cómo Instalar ownCloud en Debian (Guía Completa 2026)”

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

  2. Pingback: Como instalar Nextcloud con Nginx y Let's Encrypt SSL en Debian11 - VESKO.ES

  3. Pingback: Como instalar Nextcloud con Nginx y Let's Encrypt SSL en Debian11 - Veselin

Deja un comentario