Cómo usar la línea de comandos de cPanel (WHM) para tareas básicas
Introducción: ¿Por qué usar la línea de comandos de cPanel?
Cuando pensamos en cPanel, casi siempre imaginamos su interfaz gráfica, con iconos coloridos y menús desplegables. Sin embargo, existe una forma mucho más rápida y potente de gestionar tu servidor: la línea de comandos a través de WHM (Web Host Manager). Aunque al principio pueda parecer intimidante, dominar los comandos cPanel básicos te ahorrará muchísimo tiempo, especialmente si administras varios sitios web o necesitas automatizar tareas repetitivas.
En esta guía completa, te explicaré paso a paso cómo usar la línea de comandos de cPanel (WHM) para realizar tareas básicas cPanel sin necesidad de ser un experto en Linux. Hablaremos de comandos para gestionar cuentas, dominios, copias de seguridad y mucho más. Al final, te sentirás con la confianza suficiente para abrir tu terminal y empezar a explorar.
Requisitos previos para acceder a la terminal
Antes de lanzarnos a escribir comandos, necesitas tener acceso a la terminal de tu servidor. Esto se hace normalmente a través de SSH (Secure Shell). Si usas un VPS o un servidor dedicado, tu proveedor te habrá dado las credenciales de acceso.
Cómo conectarte por SSH
Para conectarte, abre tu terminal local (en Windows puedes usar PowerShell o Git Bash; en Mac o Linux, la terminal nativa) y escribe:
ssh root@tu-servidor-ip
Te pedirá la contraseña de root (o la clave privada si configuraste autenticación por llaves). Una vez dentro, verás un prompt similar a [root@servidor ~]#. Eso significa que ya estás en la línea de comandos.
[INFO] Si tu servidor usa una distribución como CentOS, AlmaLinux o Ubuntu, los comandos que veremos a continuación funcionarán sin problemas. La mayoría de los binarios de cPanel se encuentran en
/usr/local/cpanel/.
Comandos básicos de administración de cuentas
La administración de cuentas es una de las tareas más comunes en WHM. Vamos a ver cómo crear, suspender y eliminar cuentas desde la terminal.
Crear una cuenta nueva
El comando principal para crear una cuenta es whmapi1. Este es el corazón de la automatización en cPanel. Por ejemplo, para crear una cuenta con el dominio ejemplo.com, usuario miusuario y contraseña ClaveSegura123!, ejecutaríamos:
whmapi1 createacct username=miusuario domain=ejemplo.com password='ClaveSegura123!' plan='Plan_Basico'
Aquí, plan es opcional, pero si tienes paquetes definidos en WHM, es buena práctica asignarlo.
[TIP] Si no quieres usar
whmapi1, también puedes usar el scriptscripts/createacctque viene con cPanel. La sintaxis es similar:scripts/createacct miusuario ejemplo.com.
Suspender y reactivar cuentas
Si un cliente no ha pagado o necesitas pausar una cuenta temporalmente, usa:
whmapi1 suspendacct user=miusuario reason='Impago del servicio'
Para reactivarla, simplemente:
whmapi1 unsuspendacct user=miusuario
Estos comandos son perfectos para automatizar procesos de facturación.
Eliminar una cuenta
Esta es una acción destructiva, así que ten mucho cuidado. Para eliminar una cuenta y todos sus archivos:
whmapi1 removeacct user=miusuario
[WARNING] Este comando no se puede deshacer. Asegúrate de haber hecho una copia de seguridad antes de ejecutarlo.
Gestión de dominios y subdominios
Los dominios son la base de cualquier hosting. Veamos cómo añadir o eliminar dominios adicionales (addon domains) y subdominios.
Añadir un dominio adicional
Para añadir un dominio extra a una cuenta existente, usamos:
whmapi1 addondomain domain=otrodominio.com user=miusuario dir='/home/miusuario/otrodominio'
El parámetro dir es la carpeta donde se alojarán los archivos de ese dominio.
Crear un subdominio
Los subdominios se gestionan desde la cuenta, pero podemos crearlos desde WHM con:
whmapi1 create_subdomain domain=blog.ejemplo.com user=miusuario
Esto creará automáticamente el registro DNS y la carpeta correspondiente.
Eliminar un dominio
Para eliminar un addon domain:
whmapi1 deladdondomain domain=otrodominio.com user=miusuario
Copias de seguridad: tu mejor amigo
Las copias de seguridad son esenciales. En la línea de comandos, puedes generar backups completos o parciales de forma rápida.
Copia de seguridad de una cuenta individual
El comando más usado es:
whmapi1 create_backup_user user=miusuario
Esto genera un archivo .tar.gz en /backup (o en la ruta que hayas configurado en WHM).
Copia de seguridad completa del servidor
Si necesitas respaldar todo el servidor, usa:
/usr/local/cpanel/scripts/backup
Este script es interactivo y te preguntará qué tipo de backup quieres (completo, parcial, etc.).
[TIP] Puedes programar estos comandos con cron jobs para que se ejecuten automáticamente cada noche. Así nunca perderás datos importantes.
Comandos de diagnóstico y estado del servidor
Saber qué está pasando en tu servidor es clave para resolver problemas rápidamente.
Ver el estado de los servicios
Para comprobar si Apache, MySQL, Exim y otros servicios están corriendo:
whmapi1 getserviceconfig servicename=httpd
O más sencillo, usa el script de estado:
/usr/local/cpanel/scripts/restartsrv httpd --status
Esto te dirá si el servicio está activo o detenido.
Reiniciar un servicio
Si algo falla, reiniciar es la solución más común:
/usr/local/cpanel/scripts/restartsrv httpd
Para MySQL:
/usr/local/cpanel/scripts/restartsrv mysql
[WARNING] Reiniciar MySQL puede causar una breve interrupción en todos los sitios web que usan bases de datos. Hazlo fuera de horas punta.
Ver el uso de disco y memoria
Para un vistazo rápido:
df -h
free -m
El primero muestra el espacio en disco, el segundo la memoria RAM.
Gestión de DNS desde la terminal
A veces necesitas modificar registros DNS rápidamente. Aunque WHM tiene una interfaz para esto, la línea de comandos es más ágil.
Añadir un registro DNS
whmapi1 adddns zone=ejemplo.com name=www type=A address=192.168.1.1 ttl=14400
Esto añade un registro A para www.ejemplo.com.
Listar zonas DNS
Para ver todas las zonas:
whmapi1 listzones
Automatización con scripts personalizados
La verdadera magia de los WHM comandos es poder combinarlos en scripts. Por ejemplo, un script que cree una cuenta y configure un subdominio automáticamente:
#!/bin/bash
# Script para crear cuenta + subdominio
whmapi1 createacct username=$1 domain=$2 password=$3
whmapi1 create_subdomain domain=blog.$2 user=$1
echo "Cuenta creada correctamente"
Guárdalo como crear_cuenta.sh, dale permisos de ejecución con chmod +x y ejecútalo pasando los parámetros.
[INFO] Si estás usando un panel alternativo como Syspanel (antes conocido como HestiaCP), el puerto de acceso por defecto es el 2106, y aunque su estructura de comandos es diferente, la lógica de automatización es similar.
Resolución de problemas comunes (FAQ)
¿Por qué recibo "Permission denied" al ejecutar whmapi1?
Esto ocurre porque no estás ejecutando el comando como root. Asegúrate de estar conectado como root o usa sudo al inicio.
¿Cómo sé qué comandos están disponibles?
Puedes explorar la ayuda integrada:
whmapi1 --help
O consultar la documentación oficial de cPanel en su API.
¿Los comandos funcionan igual en todos los servidores?
La mayoría sí, pero puede haber pequeñas variaciones según la versión de cPanel o la distribución de Linux. Siempre revisa la versión con:
cat /usr/local/cpanel/version
¿Puedo usar estos comandos para cuentas de revendedor?
Sí, pero necesitas tener privilegios de reseller. Los comandos son similares, solo que se añade el parámetro reseller=nombre.
Conclusión: Domina tu servidor con la línea de comandos
Aprender a usar la línea de comandos cPanel no es solo para administradores de sistemas avanzados. Con los comandos que hemos visto hoy, ya puedes realizar tareas básicas cPanel como crear cuentas, gestionar dominios, hacer backups y diagnosticar problemas, todo desde la terminal.
La clave está en empezar poco a poco. Prueba primero con comandos de solo lectura, como listaccts o listzones, y cuando te sientas cómodo, pasa a acciones que modifiquen el sistema. No tengas miedo de equivocarte: siempre puedes consultar los logs en /var/log/cpanel para entender qué ha pasado.
Si quieres profundizar aún más, te recomiendo explorar la API de cPanel (UAPI) desde la terminal. Es un mundo fascinante que te permitirá gestionar todo tu hosting con scripts personalizados, ahorrándote horas de trabajo cada semana.
[TIP] Guarda este artículo como referencia. Cuando tengas una duda puntual, ven y busca el comando específico. Con la práctica, estos comandos se convertirán en tu segunda naturaleza.
Ahora, abre tu terminal y empieza a explorar. Tu servidor te lo agradecerá, y tú te sentirás mucho más seguro administrando tu infraestructura de hosting. ¡Buena suerte!
