Tutoriales de VPS
Instalar CloudPanel en un VPS (2026): panel de sitios para Ubuntu, WordPress, SSL, copias de seguridad y refuerzo de seguridad
Instala desde cero el panel de sitios CloudPanel en un VPS, cubriendo la instalación oficial en Ubuntu 24.04, el acceso seguro por 8443, la creación de sitios WordPress, dominios y SSL, usuarios de sitio, copias de seguridad remotas, actualizaciones y resolución de problemas comunes.

CloudPanel es un panel de sitios gratuito para VPS orientado a PHP, WordPress, Node.js y sitios estáticos. Es adecuado para administradores individuales y equipos pequeños que no quieren mantener a mano Nginx, PHP-FPM, bases de datos, usuarios de sitio y configuración SSL, pero que desean conservar el control del servidor.
Este artículo toma como ejemplo un VPS nuevo con Ubuntu 24.04 LTS, despliega CloudPanel v2 con el instalador oficial de CloudPanel y completa el acceso seguro al panel, la creación de sitios WordPress, la resolución de dominios, HTTPS con Let's Encrypt, usuarios de sitio, copias de seguridad remotas, actualizaciones y resolución de problemas comunes.
CloudPanel instala y gestiona Nginx, PHP, bases de datos y otros servicios directamente en la máquina anfitriona; no es un panel de contenedores Docker. No lo instales en un servidor de producción que ya ejecute BT Panel, 1Panel, aaPanel, Apache, MySQL o numerosos puertos Docker.
Las ventajas principales de CloudPanel son una interfaz sencilla, un uso de recursos relativamente contenido y flujos ya preparados para crear sitios PHP y WordPress.
| Necesidad | ¿Es adecuado CloudPanel? | Explicación |
|---|---|---|
| Crear rápidamente sitios WordPress, WooCommerce o PHP | Adecuado | Permite crear directamente sitios, bases de datos, SSL y usuarios de sitio |
| Gestionar varios sitios web independientes en la misma máquina | Adecuado | Cada sitio usa un usuario de sistema y un directorio independientes |
| Gestionar principalmente aplicaciones Docker Compose | No prioritario | 1Panel, Portainer o Compose puro son más directos |
| Necesitar alojamiento de buzones de correo | No debería depender solo del panel | Para el correo de los sitios se recomienda un SMTP independiente; planifica el servicio de buzones por separado |
| Ya tener un entorno de producción Nginx/MySQL complejo | No se recomienda instalarlo directamente | El instalador puede modificar servicios y configuraciones existentes |
Si todavía estás eligiendo entre BT Panel, aaPanel, 1Panel, CyberPanel y HestiaCP, puedes leer primero Cómo elegir un panel de control para VPS. CloudPanel se inclina hacia un entorno ligero para crear sitios, no hacia una plataforma general de operación de servidores.
Actualmente CloudPanel admite oficialmente x86 y ARM64, con sistemas que incluyen Ubuntu 22.04/24.04/26.04 y Debian 11/12/13. El requisito mínimo oficial es 1 núcleo de CPU, 2 GB de memoria y 10 GB de disco, pero esta configuración solo significa que se puede instalar, no que sea adecuada para un sitio web en producción.
| Escenario | Configuración recomendada | Explicación |
|---|---|---|
| Un único WordPress ligero | 2 núcleos, 4 GB, 50 GB NVMe | Adecuado para sitios corporativos de presentación y blogs personales |
| 2-5 sitios web pequeños y medianos | 4 núcleos, 8 GB, 100 GB NVMe | Deja espacio para PHP-FPM, la base de datos y las copias de seguridad |
| WooCommerce o sitios con mucho tráfico | Desde 4-8 núcleos y 8-16 GB | Requiere caché, monitorización y pruebas de carga independientes |
Se recomienda un Ubuntu 24.04 LTS completamente nuevo. Antes de comprar un VPS, confirma que tenga IPv4 pública, consola o VNC, función de instantáneas y que los puertos 80, 443 y 8443 no estén bloqueados por el proveedor.
Primero actualiza el sistema y confirma la versión, la arquitectura y el uso de puertos:
sudo apt update
sudo apt upgrade -y
cat /etc/os-release
uname -m
sudo ss -lntp
df -h
free -h
Los puertos 80, 443, 3306 y 8443 no deben estar ocupados por servicios existentes. Después confirma que el nombre de host y la sincronización horaria funcionan correctamente:
hostnamectl
timedatectl status
Si el servidor ya contiene datos, crea primero una instantánea del proveedor y una copia de seguridad externa. CloudPanel también exige oficialmente un servidor vacío; no trates el instalador como una herramienta para "añadir una interfaz" a un entorno LNMP existente.
La instalación y la creación de sitios requieren los siguientes puertos:
| Puerto | Uso | Política pública |
|---|---|---|
| 22/TCP | SSH | Es más seguro permitir solo IP de administración |
| 80/TCP | HTTP y validación de certificados | Permitir acceso público |
| 443/TCP | Sitios HTTPS | Permitir acceso público |
| 8443/TCP | Panel de administración de CloudPanel | Se recomienda encarecidamente permitir solo IP de administración |
Prioriza restringir el 8443 en el cortafuegos en la nube o el grupo de seguridad del proveedor del VPS. Primero obtén tu IP pública actual y luego configura que solo esa IP pueda acceder a 8443/TCP. No expongas el puerto de base de datos 3306 directamente a Internet.
Si tu IP de administración cambia con frecuencia, accede al panel mediante WireGuard, Tailscale, un túnel SSH o reglas de cortafuegos temporales; no abras permanentemente el panel de administración a toda Internet por comodidad.
Cambia a un shell de root:
sudo -i
El comando oficial de instalación de CloudPanel primero descarga el script y luego verifica el SHA-256. El valor de verificación siguiente proviene de la documentación oficial del 28 de agosto de 2026; el hash puede cambiar cuando se actualice el instalador, así que antes de ejecutarlo debes comprobar el comando más reciente en la página oficial de instalación de CloudPanel.
Este artículo elige MySQL 8.4, compatible oficialmente:
curl -sS https://installer.cloudpanel.io/ce/v2/install.sh -o install.sh
echo "8146dbe0a488e7088b04071b0c34d59aa0ab1fe9dcec382d395fd155c9e6c476 install.sh" | sha256sum -c
sudo DB_ENGINE=MYSQL_8.4 bash install.sh
Solo continúa ejecutando si la salida es install.sh: OK. No omitas la verificación ni descargues scripts de instalación modificados desde réplicas de blogs o discos en la nube.
El proceso de instalación despliega CloudPanel, Nginx, PHP, MySQL y los servicios del sistema relacionados. Al terminar, comprueba:
systemctl --failed
sudo ss -lntp | grep -E ':(80|443|8443)'
curl -kI https://127.0.0.1:8443
Si la instalación se interrumpe, guarda primero la salida completa del error y los registros relevantes en /var/log; no ejecutes repetidamente el script de instalación. Confirma que el disco, la memoria, el DNS y las fuentes de software funcionan correctamente antes de continuar.
Abre en el navegador:
https://你的VPS公网IP:8443
El primer acceso usa un certificado autofirmado y el navegador mostrará una advertencia de certificado. Confirma que la dirección es realmente la IP de tu VPS y continúa para crear la cuenta de administrador de CloudPanel.
La configuración del administrador debe cumplir lo siguiente:
- Usar un nombre de usuario independiente, no
admin,rootni un apodo común; - Usar una contraseña larga y aleatoria generada por un gestor de contraseñas;
- Usar una dirección de correo de administración dedicada que pueda recibir correctamente las notificaciones de seguridad;
- Tras crearla, cerrar sesión y volver a iniciarla una vez;
- Confirmar que el 8443 solo permite el acceso desde tu propia IP o subred VPN.
No entregues la cuenta de administrador de CloudPanel a los editores del sitio. Las cargas y despliegues diarios deben usar usuarios de sitio; el administrador del panel solo se usa para la gestión a nivel de servidor.
Primero añade registros en tu proveedor de DNS:
A example.com 你的VPS公网IPv4
A www.example.com 你的VPS公网IPv4
Si no has configurado IPv6, no añadas registros AAAA incorrectos. Comprueba la resolución:
dig +short example.com A
dig +short www.example.com A
Inicia sesión en CloudPanel, selecciona + Add Site y luego Create a WordPress Site. Rellena:
- Domain Name:
example.com; - Site Title: el nombre del sitio web;
- Admin User Name: no uses
admin; - Admin Password: una contraseña segura independiente;
- Admin E-Mail: un correo de administrador del sitio que funcione;
- PHP Version: elige una versión estable compatible explícitamente con tu tema y tus plugins.
CloudPanel creará el usuario del sitio, el vhost de Nginx, la base de datos y los archivos de WordPress. Después de crearlo, visita respectivamente:
http://example.com
http://example.com/wp-admin/
Si prefieres aislar WordPress y la base de datos con Docker, puedes consultar Tutorial de WordPress con Docker en un VPS. La solución con CloudPanel es más adecuada para gestionar de forma centralizada varios sitios PHP tradicionales.
En la página del sitio, entra en SSL/TLS, selecciona Actions → New Let's Encrypt Certificate, añade example.com y www.example.com, y luego crea e instala el certificado.
Antes de la emisión debes confirmar:
- Que ambos dominios ya resuelven al VPS actual;
- Que el 80 y el 443 permiten acceso público;
- Que no hay registros AAAA antiguos que apunten a otro servidor;
- Que los cambios de DNS se han propagado;
- Que el proxy de Cloudflare no reenvía las solicitudes al origen equivocado.
Prueba después de la emisión:
curl -I https://example.com
curl -I https://www.example.com
Si usas Cloudflare, puedes usar un certificado de origen de Cloudflare y establecer el modo SSL/TLS en Full; es incluso mejor restringir aún más el origen para que solo acepte IP de Cloudflare. No uses el modo Flexible, que provoca fácilmente bucles de redirección y mantiene HTTP en texto plano entre Cloudflare y el origen.
CloudPanel crea un usuario Linux independiente para cada sitio; los directorios de los sitios suelen estar en:
/home/站点用户/htdocs/域名/
Añade una clave SSH en la página SSH/FTP del sitio y prioriza el inicio de sesión con clave:
ssh-keygen -t ed25519 -a 100
Al desplegar código o ejecutar Composer o WP-CLI, usa el usuario del sitio; no modifiques los archivos del sitio como root durante largos periodos. Los archivos escritos por root pueden provocar errores de permisos en PHP-FPM, las cargas y las actualizaciones automáticas.
Comprueba el propietario del directorio:
sudo find /home/站点用户/htdocs/域名 -maxdepth 2 -printf '%u:%g %p\n' | head
No ejecutes chmod -R 777 cada vez que tengas un problema de permisos. Primero confirma el directorio concreto, el usuario del sitio, el usuario de PHP-FPM y las rutas que necesitan escritura, y luego corrige el propietario o aplica el mínimo privilegio.
Después de iniciar sesión en /wp-admin/, completa de inmediato:
- Configurar los enlaces permanentes con una estructura adecuada para SEO;
- Eliminar las entradas, páginas, temas y plugins predeterminados no utilizados;
- Activar la autenticación de dos factores para el administrador;
- Configurar un SMTP independiente y probar el restablecimiento de contraseña y los correos de formularios;
- Prohibir la instalación de temas y plugins pirateados o de origen desconocido;
- Configurar la zona horaria, el idioma, la política de privacidad y la ventana de copias de seguridad del sitio;
- Probar la carga de medios, la publicación de entradas, los enlaces permanentes y la redirección HTTPS.
CloudPanel gestiona el entorno web y de base de datos, pero no auditará cada plugin de WordPress por ti. Las vulnerabilidades de plugins siguen siendo una vía común de intrusión en los sitios web.
CloudPanel permite elegir la versión de PHP para un sitio, ajustar la configuración de PHP y admite capacidades de caché como Varnish. Mide antes de optimizar; no actives todas las cachés a la vez desde el principio.
Primero observa los recursos y las solicitudes lentas:
top
free -h
df -h
sudo journalctl --since "30 minutes ago" -p warning
Los problemas de rendimiento de WordPress suelen venir de plugins, temas, PHP-FPM, consultas lentas a la base de datos, API externas e imágenes, no solo de la configuración del panel. Si necesitas un diagnóstico sistemático, sigue leyendo Qué hacer cuando WordPress va lento en un VPS.
Antes de activar Varnish o la caché de páginas, excluye primero el inicio de sesión del panel, el carrito de compra, el pago, el área de miembros y otras páginas personalizadas. Los sitios WooCommerce no deben almacenar en caché todas las respuestas sin distinción.
CloudPanel permite hacer copias de seguridad de los sitios en Amazon S3, Wasabi, DigitalOcean Spaces, Dropbox, Google Drive, SFTP, Hetzner Storage Box u otro almacenamiento compatible mediante Rclone.
Configura el proveedor de almacenamiento en Backups del Admin Area. Al usar almacenamiento compatible con S3:
- Crea un Bucket o prefijo dedicado;
- Usa una Access Key con permisos mínimos;
- No uses la clave de administrador global de la cuenta en la nube;
- Configura horarios de copia, periodos de retención y reglas de ciclo de vida razonables;
- Tras crear la primera copia de seguridad, debes confirmar en el extremo remoto que los archivos existen realmente.
Por defecto, CloudPanel hace copia de seguridad del vhost del sitio y del directorio Home del usuario del sitio, pero excluye .ssh, logs y tmp. Las bases de datos, los archivos del sitio, la configuración del panel y las instantáneas del VPS deben confirmarse por separado según el objetivo de recuperación; no des por hecho que toda la máquina es recuperable solo porque veas "tarea completada".
Realiza un simulacro de recuperación al menos una vez por trimestre. Para el proceso completo, consulta Tutorial de simulacro de copia de seguridad y recuperación en VPS.
CloudPanel se distribuye como paquetes Debian; el comando oficial de actualización es:
sudo -i
clp-update
Antes de actualizar debes crear una instantánea del VPS y verificar las copias de seguridad del sitio y de la base de datos. Después registra el estado actual:
df -h
free -h
systemctl --failed
sudo ss -lntp | grep -E ':(80|443|8443)'
Después de actualizar, comprueba:
- Que se puede iniciar sesión en el panel de CloudPanel en el 8443;
- Que HTTP/HTTPS de todos los sitios funciona correctamente;
- Que el panel de WordPress, la carga de medios y las tareas programadas funcionan correctamente;
- Que MySQL, Nginx y PHP-FPM no muestran errores persistentes;
- Que las copias de seguridad remotas siguen conectando y creando nuevas copias.
No ejecutes automáticamente actualizaciones de versión mayor del panel sin supervisión. Consulta primero el Changelog de CloudPanel y luego programa una ventana de mantenimiento y un plan de reversión.
- Permitir el 8443 solo desde IP de administración fijas, VPN o túneles SSH;
- Usar claves para SSH y desactivar el inicio de sesión root con contraseña innecesario;
- Usar contraseñas distintas para el administrador de CloudPanel y el de WordPress;
- Usar usuarios de sitio independientes para el despliegue, sin root en las operaciones diarias;
- No exponer la base de datos a Internet; gestionarla en remoto mediante túnel SSH;
- Actualizar periódicamente el sistema, CloudPanel, PHP, WordPress, los temas y los plugins;
- Configurar copias de seguridad externas, instantáneas del proveedor y simulacros de recuperación reales;
- Monitorizar disco, inodos, memoria, certificados, disponibilidad del sitio y resultados de las copias de seguridad;
- Revisar periódicamente CloudPanel Events, los registros de Nginx y los inicios de sesión anómalos.
El panel reduce el trabajo de configuración, pero también añade un punto de entrada de gestión web con altos privilegios. Restringir el 8443 es más importante que simplemente cambiar el puerto.
sudo ss -lntp | grep ':8443'
curl -kI https://127.0.0.1:8443
systemctl --failed
Si es accesible en local pero el navegador agota el tiempo de espera, normalmente se debe a que el cortafuegos en la nube, el grupo de seguridad o el cortafuegos local no permiten la IP de administración. No lo abras permanentemente a 0.0.0.0/0 solo para probar.
dig +short example.com A
dig +short example.com AAAA
curl -I http://example.com
sudo ss -lntp | grep -E ':(80|443)'
Céntrate en comprobar IPv6 incorrectas, DNS aún no propagado, el puerto 80 bloqueado, el dominio resolviendo a un servidor antiguo y la configuración del proxy CDN. Antes de emitir el certificado, puedes cambiar temporalmente el registro de Cloudflare a DNS Only y activar el proxy después de completarlo.
Primero confirma que Nginx y la versión correspondiente de PHP-FPM funcionan correctamente:
systemctl --failed
sudo journalctl -u nginx --no-pager -n 100
sudo tail -n 100 /var/log/nginx/error.log
free -h
df -h
Las causas comunes incluyen PHP-FPM detenido, socket inconsistente tras cambiar la versión de PHP, memoria insuficiente, disco lleno y configuración incorrecta del vhost.
Confirma que el origen escucha correctamente en el 80/443, que el DNS de Cloudflare apunta a la IP correcta y comprueba si el cortafuegos bloquea por error los nodos de Cloudflare. Para los pasos completos de diagnóstico, consulta Diagnóstico de fallos de Cloudflare 521 / 522.
Comprueba el propietario del directorio del sitio, el espacio en disco, los límites de carga de PHP y el directorio temporal. No ejecutes directamente un 777 en todo el sitio:
df -h
df -i
sudo find /home/站点用户/htdocs/域名 -maxdepth 2 -printf '%u:%g %m %p\n' | head -n 30
Si los archivos fueron creados por root u otro usuario, restáuralos al usuario correcto del sitio y verifica la identidad de usuario que usa PHP-FPM.
- Instalado en un sistema Ubuntu/Debian completamente nuevo y compatible oficialmente
- Verificación SHA-256 del script de instalación oficial superada
- El 8443 solo permite el acceso desde IP de administración o VPN
- El dominio de WordPress, HTTPS, el panel y los enlaces permanentes funcionan correctamente
- Las cuentas de administrador, usuario de sitio y base de datos son independientes entre sí
- SMTP, restablecimiento de contraseña y correos de formularios probados
- Copias de seguridad remotas creadas y archivos confirmados en el almacenamiento
- Realizado un simulacro de recuperación de archivos del sitio y base de datos
- Instantánea antes de actualizar y comprobación de sitios, PHP, base de datos y copias después de actualizar
Solo después de completar estos pasos CloudPanel deja de ser simplemente un panel de control al que se puede iniciar sesión y se convierte en un entorno de creación de sitios en VPS con dominio, HTTPS, usuarios de sitio independientes, copias de seguridad remotas y un proceso de actualización controlable.