Cómo instalar Nextcloud en un VPS
Escrito por el equipo de ApexVPS · Última actualización: julio de 2026 · 9 min de lectura
Esta guía de nextcloud vps te lleva paso a paso por el alojamiento de tu propia nube privada —archivos, calendarios, contactos y fotos— en un servidor que controlas por completo. Ejecutar Nextcloud en un VPS te brinda recursos dedicados, acceso root total y sin suscripción por usuario, para que tus datos sigan siendo tuyos. A continuación encontrarás los requisitos previos, dos rutas de instalación probadas (Docker Compose o una pila LAMP manual), cómo añadir HTTPS con Let's Encrypt, además de los pasos de ajuste y copia de seguridad que mantienen el servidor rápido y seguro. Cada comando está dirigido a un servidor Ubuntu o Debian recién creado.
¿Por qué autoalojar Nextcloud en un VPS?
Nextcloud es una plataforma de código abierto que reemplaza Google Drive, Dropbox y gran parte de una suite de productividad con software que tú mismo ejecutas. Un VPS es su hogar natural: a diferencia del hosting compartido, obtienes acceso root, un costo mensual fijo y rendimiento predecible. En un VPS verdaderamente dedicado no hay vecinos ruidosos que compitan por la CPU, lo cual importa cuando varias personas sincronizan archivos a la vez. Si estás evaluando qué servicios vale la pena ejecutar por tu cuenta, nuestra descripción general de cómo elegir un VPS para autoalojamiento compara las cargas de trabajo comunes y cuánto margen necesita cada una.
Requisitos previos antes de comenzar
Necesitas tres cosas: un VPS con Ubuntu 22.04/24.04 o Debian 12, un nombre de dominio cuyo DNS puedas editar, y acceso SSH al servidor como usuario con sudo. El dominio no es estrictamente necesario para probar, pero no puedes emitir un certificado TLS de confianza sin él, así que trátalo como obligatorio para uso real.
Elegir el tamaño adecuado de VPS
El tamaño depende de cuántas personas usen el servidor y si almacenas medios. Para un solo usuario o una familia que sincroniza documentos, 2 vCPU y 4 GB de RAM son cómodos. Cuando añadas las aplicaciones de Fotos, Memories o medios, o traigas más de un puñado de cuentas activas, sube a un plan de clase Business o superior: la RAM adicional, el NVMe más rápido y las instantáneas por hora hacen que la generación de miniaturas y las vistas previas sean mucho más fluidas. Puedes comparar los niveles en nuestra página de precios de VPS; escalar más tarde es rápido, así que está bien empezar modesto y crecer.
Apunta tu dominio al servidor
Crea un registro A (y un registro AAAA si usas IPv6) que apunte un nombre de host como cloud.example.com a la IP pública de tu servidor. El DNS puede tardar un poco en propagarse. Confirma que resuelve antes de solicitar un certificado:
dig +short cloud.example.com
Ruta 1: Nextcloud con Docker Compose
Los contenedores son la forma más rápida de obtener una instalación limpia y repetible, y mantienen Nextcloud, su base de datos y caché aislados del resto del sistema. Si los contenedores son nuevos para ti, nuestra guía para principiantes sobre Docker en un VPS cubre los fundamentos primero. Instala Docker usando el script de conveniencia oficial, luego añade tu usuario al grupo docker:
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
# log out and back in so the group change takes effect
Crea una carpeta de proyecto y un compose.yaml que ejecute Nextcloud con MariaDB y Redis. La aplicación está vinculada a 127.0.0.1:8080 para que solo se pueda acceder a través del proxy inverso que añadirás más tarde, no directamente desde internet:
mkdir ~/nextcloud && cd ~/nextcloud
nano compose.yaml
services:
db:
image: mariadb:10.11
restart: always
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
volumes:
- db:/var/lib/mysql
environment:
- MARIADB_ROOT_PASSWORD=change-this-root-password
- MYSQL_PASSWORD=change-this-db-password
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
redis:
image: redis:alpine
restart: always
app:
image: nextcloud:apache
restart: always
ports:
- "127.0.0.1:8080:80"
depends_on:
- db
- redis
volumes:
- nextcloud:/var/www/html
environment:
- MYSQL_HOST=db
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=change-this-db-password
- REDIS_HOST=redis
volumes:
db:
nextcloud:
Inicia la pila y verifica que los tres contenedores se levanten:
docker compose up -d
docker compose ps
Nextcloud ahora escucha en localhost:8080. Salta a la sección TLS para exponerlo de forma segura a través de HTTPS.
Ruta 2: instalación manual en una pila LAMP
Si prefieres gestionar los componentes tú mismo, una instalación clásica de Linux, Apache, MariaDB y PHP (LAMP) te da control total. Actualiza el sistema e instala el servidor web, la base de datos y las extensiones PHP que Nextcloud espera:
sudo apt update && sudo apt upgrade -y
sudo apt install -y apache2 mariadb-server libapache2-mod-php unzip \
php php-gd php-mysql php-curl php-mbstring php-intl php-xml \
php-zip php-bcmath php-gmp php-imagick
Asegura la base de datos y luego crea una base de datos y un usuario dedicados:
sudo mysql_secure_installation
sudo mysql -u root -p
CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'change-this-db-password';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Descarga la última versión en la raíz web y establece la propiedad para que Apache pueda escribir en ella:
cd /var/www
sudo wget https://download.nextcloud.com/server/releases/latest.zip
sudo unzip latest.zip
sudo chown -R www-data:www-data /var/www/nextcloud
Crea un host virtual de Apache para tu dominio, actívalo junto con los módulos que Nextcloud necesita y recarga:
sudo a2enmod rewrite headers env dir mime
sudo a2ensite nextcloud.conf
sudo systemctl reload apache2
Protéjelo con TLS (Let's Encrypt)
Nunca ejecutes Nextcloud sobre HTTP plano: los inicios de sesión y los archivos viajarían sin cifrar. Certbot del proyecto Let's Encrypt emite un certificado gratuito y de confianza y lo renueva automáticamente. Para la instalación manual de Apache, usa el complemento de Apache:
sudo apt install -y certbot python3-certbot-apache
sudo certbot --apache -d cloud.example.com
Para la ruta de Docker, coloca Nginx al frente como proxy inverso que reenvíe a 127.0.0.1:8080 y luego permite que Certbot lo asegure:
sudo apt install -y nginx certbot python3-certbot-nginx
sudo certbot --nginx -d cloud.example.com
Certbot instala un temporizador systemd que renueva los certificados antes de que caduquen. Puedes confirmar que la renovación funciona con una prueba en seco:
sudo certbot renew --dry-run
Configuración inicial
Abre https://cloud.example.com en un navegador. En la pantalla de configuración, crea tu cuenta de administrador y, para la instalación manual, introduce el nombre de la base de datos, el usuario y la contraseña que creaste antes (la imagen de Docker ya está conectada a su base de datos, por lo que omite este paso). Termina el asistente y Nextcloud llegará a la vista de Archivos. Si ves una advertencia, agrega inmediatamente tu dominio a la lista de trusted_domains — para Docker eso significa editar la configuración dentro del contenedor:
docker compose exec -u www-data app \
php occ config:system:set trusted_domains 1 --value=cloud.example.com
En la instalación manual, el mismo comando se ejecuta desde el directorio de instalación con sudo -u www-data php /var/www/nextcloud/occ .... La herramienta de línea de comandos occ es tu punto de entrada principal para la administración de aquí en adelante.
Ajustes y tareas en segundo plano
Una instalación predeterminada funciona, pero algunos cambios marcan una diferencia real. Cambia las tareas en segundo plano de AJAX a cron del sistema para que las tareas se ejecuten de manera confiable incluso cuando nadie haya iniciado sesión. En la instalación manual, agrega una entrada cron para el usuario web:
sudo crontab -u www-data -e
# add this line, then save:
*/5 * * * * php -f /var/www/nextcloud/cron.php
Luego establece la opción "Cron" en Administración → Configuración básica. Otros ajustes útiles: sube el memory_limit de PHP a al menos 512M, activa Redis para el bloqueo de archivos y el almacenamiento en caché (ya incluido en el archivo Compose anterior) y establece una ventana de mantenimiento para que las tareas pesadas se ejecuten durante la noche. Ejecutar las comprobaciones integradas te ayuda a detectar algo que falte:
sudo -u www-data php /var/www/nextcloud/occ status
sudo -u www-data php /var/www/nextcloud/occ setupchecks
Copias de seguridad que realmente puedes restaurar
Las instantáneas de tu VPS son tu primera línea de defensa: copias de seguridad diarias en Starter Pro, instantáneas por hora en Business y Enterprise — pero un buen hábito es una copia de seguridad a nivel de aplicación separada que puedas restaurar archivo por archivo. Pon Nextcloud en modo de mantenimiento, vuelca la base de datos, archiva el directorio de datos y luego desactiva el modo de mantenimiento:
sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --on
mysqldump --single-transaction -u nextcloud -p nextcloud > nextcloud-db.sql
sudo tar -czf nextcloud-data.tar.gz /var/www/nextcloud/data
sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --off
Para la instalación de Docker, ejecuta las mismas llamadas occ a través de docker compose exec -u www-data app php occ ... y haz una copia de seguridad de los volúmenes nombrados. Guarda al menos una copia fuera del servidor y prueba una restauración ocasionalmente: una copia de seguridad sin probar es solo una esperanza.
Manteniéndolo en marcha
Actualiza Nextcloud a través del actualizador integrado o la interfaz web poco después de cada versión, mantén el sistema operativo parcheado con sudo apt upgrade y revisa el panel de advertencias de Seguridad y configuración en el área de administración. Con protección DDoS, redes privadas y monitoreo 24/7 en el lado de la infraestructura, y Let's Encrypt más actualizaciones periódicas en el lado de la aplicación, un Nextcloud autohospedado es una alternativa realmente confiable a los grandes suites de la nube.
Preguntas frecuentes
¿Cuánta RAM necesita una configuración VPS de Nextcloud?
Para un usuario o una familia que sincroniza documentos, 4 GB de RAM y 2 vCPU es cómodo. Agrega bibliotecas de fotos o videos, generación de vistas previas o varios usuarios activos y un plan de clase Business con 8 GB de RAM y NVMe más rápido es una mejor opción. Enterprise añade 16 GB y RAID NVMe para equipos más grandes.
¿Debo elegir la instalación de Docker o la LAMP manual?
Elige Docker Compose si quieres una pila limpia y repetible que sea fácil de mover o reconstruir, y la ruta manual LAMP si prefieres gestionar Apache, PHP y MariaDB directamente. Ambas opciones son totalmente compatibles con un VPS con acceso root; el resultado final es el mismo Nextcloud.
¿Es seguro un Nextcloud autoalojado?
Sí, cuando se configura correctamente: sirve todo a través de HTTPS con un certificado Let's Encrypt, mantén el sistema operativo y Nextcloud actualizados, usa contraseñas seguras con autenticación de dos factores y confía en las copias de seguridad de tu VPS. Debido a que lo alojas tú mismo, ningún tercero tiene acceso permanente a tus archivos.
¿Necesito un nombre de dominio?
Efectivamente, sí. Puedes probar con una dirección IP cruda, pero un certificado TLS de confianza requiere un dominio, y los clientes de sincronización móvil y de escritorio esperan un hostname HTTPS adecuado. Un solo dominio de bajo coste con un registro A apuntando a tu servidor es todo lo que necesitas.
¿Puedo pagar sin tarjeta de crédito?
Sí. El proceso de pago de ApexVPS es solo con criptomonedas a través de OxaPay, aceptando Bitcoin, Ethereum, USDT y más de 30 monedas, sin necesidad de tarjeta de crédito ni cuenta bancaria. Para registrarte solo necesitas un correo electrónico para enviar tus datos de acceso, además de notas opcionales como una clave SSH o el sistema operativo preferido. No se requiere nombre, dirección ni verificación KYC.