DirectAdmin 2026: Guía Completa para Gestionar tu Hosting en México como un Experto
DirectAdmin es el panel de control que usa VacaWeb en todos sus planes de hosting, pero la mayoría de los usuarios solo conoce el 20 % de sus funciones. Esta guía técnica cubre desde la gestión de cuentas hasta las herramientas avanzadas de administración que todo usuario de hosting en México debe dominar.
Arquitectura de DirectAdmin: cómo funciona internamente
A diferencia de otros paneles que separan la administración en puertos distintos, DirectAdmin opera sobre un único puerto (2222) para sus tres niveles de acceso: Admin (control total del servidor), Reseller (gestiona múltiples cuentas de usuario bajo su propio espacio, con sus propios paquetes y marca), y User (administra una sola cuenta de hosting: correos, bases de datos, dominios). El nivel de acceso que ves depende únicamente de con qué usuario inicias sesión, no de la URL.
En un servidor con CloudLinux, cada cuenta vive dentro de un LVE (Lightweight Virtual Environment) con límites de CPU, RAM y E/S asignados desde el nivel Admin. Esto garantiza que un sitio con tráfico viral no afecte a los otros — CloudLinux es compatible tanto con DirectAdmin como con otros paneles.
Gestión de cuentas desde el nivel Reseller
Crear una cuenta nueva desde la API de DirectAdmin es más rápido que la interfaz gráfica cuando hay que crear varias cuentas:
# Crear cuenta vía API de DirectAdmin (nivel Reseller, puerto 2222)
curl -sk -u "usuario_reseller:API_KEY" \
"https://servidor.vacaweb.mx:2222/CMD_API_ACCOUNT_USER" \
--data-urlencode "action=create" \
--data-urlencode "username=micliente" \
--data-urlencode "domain=micliente.com.mx" \
--data-urlencode "package=hosting_basico" \
--data-urlencode "[email protected]"
# Listar todas las cuentas del reseller con su paquete asignado
curl -sk -u "usuario_reseller:API_KEY" \
"https://servidor.vacaweb.mx:2222/CMD_API_SHOW_USERS"
Para ver el detalle de uso de disco, ancho de banda y suspender/activar una cuenta puntual, la vía recomendada es el panel: Reseller Level → Manage User Accounts, donde cada usuario muestra su consumo real y las acciones disponibles.
Gestión de bases de datos MySQL desde DirectAdmin
El prefijo de usuario MySQL en DirectAdmin sigue el mismo formato estándar que el resto de paneles de hosting compartido: usuario_nombrebd. Esto es importante al conectar aplicaciones:
# Desde SSH en la cuenta del cliente
# Ver todas las bases de datos de la cuenta
mysql -e "SHOW DATABASES;" 2>/dev/null | grep "^${USER}_"
# Crear la base de datos y el usuario desde el panel:
# User Level → MySQL Management → Create Database
# Exportar toda la BD (backup manual)
mysqldump -u "${USER}_appuser" -p "${USER}_produccion" --single-transaction --routines --triggers > backup_$(date +%Y%m%d).sql
# Importar desde backup
mysql -u "${USER}_appuser" -p "${USER}_produccion" < backup_20250315.sql
MYSQL_HOST debe ser localhost, no 127.0.0.1, para que el tráfico pase por el socket Unix en vez de TCP. El socket suele estar en /var/lib/mysql/mysql.sock.
Configurar correo profesional con anti-spam
DirectAdmin usa Exim como MTA y SpamAssassin para filtrado, la misma combinación estándar de la industria en hosting compartido Linux. La configuración crítica para evitar que tu correo llegue como spam:
# Verificar que SPF, DKIM y DMARC estén activos para el dominio
# Desde User Level → DNS Management (o Email → DKIM/DMARC si tu plan lo expone)
# Revisar la cola de correo desde SSH
exim -bp | head -50
# Ver el log de entregas recientes
exim -bp | exiqsumm
# Forzar entrega de mensajes en cola
exim -qff
# Ver por qué un correo específico falló
exim -Mvl
# Bloquear dominio remitente específico en Exim
# Admin Level → Custom Exim Configuration
# Agregar la regla de bloqueo en la ACL correspondiente
Manejo de PHP con Select PHP Version y PHP-FPM
DirectAdmin compila y actualiza las versiones de PHP disponibles en el servidor mediante CustomBuild, su sistema nativo de compilación. La configuración correcta por dominio:
# El administrador instala/actualiza versiones de PHP vía CustomBuild
cd /usr/local/directadmin/custombuild
./build php n
# Cada usuario cambia la versión de su propio dominio desde el panel:
# User Level → Select PHP Version → elegir versión → Guardar
# Ver configuración PHP activa por SSH
php -i | grep -E "^(PHP Version|memory_limit|upload_max|max_execution)"
# Editar php.ini por dominio (crea override local)
cat >> ~/public_html/.user.ini << 'EOF'
memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 120
opcache.enable = 1
opcache.memory_consumption = 128
EOF
# Reiniciar PHP-FPM para aplicar cambios (a nivel Admin)
# Admin Level → Service Monitor → PHP-FPM → Restart
.user.ini solo funciona con PHP-FPM. Si tu hosting usa PHP como módulo de Apache (mod_php), necesitas .htaccess con directivas php_value o php_flag.
Backups automáticos en DirectAdmin
VacaWeb corre backups automáticos a nivel de servidor sobre todas las cuentas. Además, cada cliente puede generar y descargar su propio backup completo en cualquier momento desde su panel, sin depender del soporte técnico:
# Generar un backup completo de la cuenta desde el panel:
# User Level → Backup/Transfer → Create Backup
# El archivo .tar.gz incluye home directory, bases de datos, correos y configuración de dominios
# Restaurar un backup:
# User Level → Backup/Transfer → Restore Backup (subir el .tar.gz generado previamente)
# El administrador puede consultar el estado de los backups automáticos server-wide
# desde Admin Level → Admin Backup/Transfer
Monitoreo y optimización del servidor
# Ver el top 10 de procesos más pesados
ps aux --sort=-%cpu | head -12
# Revisar cargas de CPU/MySQL en tiempo real con mytop
mytop -u root -p$(cat /root/.my.cnf | grep password | cut -d= -f2)
# Ver todas las conexiones MySQL activas
mysqladmin processlist | grep -v Sleep | head -30
# Analizar slow queries de las últimas 24h
mysqldumpslow -s t -t 10 /var/lib/mysql/$(hostname)-slow.log
# Revisar el uso de inodos por cuenta (crítico en hosting compartido)
repquota -as | sort -rh | head -20
| Tarea | Ubicación en DirectAdmin | Equivalente SSH |
|---|---|---|
| Crear BD MySQL | User Level → MySQL Management | mysql -e "CREATE DATABASE..." |
| Gestionar DNS | User/Reseller Level → DNS Management | CMD_API_DNS_CONTROL |
| Instalar SSL | User Level → SSL Certificates → Let's Encrypt | Renovación automática por DirectAdmin |
| Ver logs de error | User Level → Website → Error Log | tail -f ~/domains/tudominio.com/logs/error.log |
| Gestionar crons | User Level → Cron Jobs | crontab -e |
| Gestionar PHP | User Level → Select PHP Version | CustomBuild (a nivel Admin) |
Escenarios Prácticos: DirectAdmin en Producción
Escenario 1 — Agencia de diseño con 30 clientes en reseller hosting: El nivel Reseller de DirectAdmin permite crear cuentas de usuario individuales por cliente. El script de aprovisionamiento automatizado:
#!/bin/bash
# Crear cuenta vía API de DirectAdmin (nivel Reseller)
curl -sk -u "usuario_reseller:API_KEY" \
"https://servidor.vacaweb.mx:2222/CMD_API_ACCOUNT_USER" \
--data-urlencode "action=create" \
--data-urlencode "username=cliente01" \
--data-urlencode "domain=cliente01.com.mx" \
--data-urlencode "package=basico" \
--data-urlencode "[email protected]"
Escenario 2 — Desarrollador configurando WordPress multisite:
DirectAdmin permite modificar el archivo php.ini por dominio y crear subdominios
para un multisite de WordPress. La configuración de memoria por dominio:
# En .htaccess del dominio principal
php_value memory_limit 256M
php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300
Errores Comunes en DirectAdmin
| Error | Síntoma | Causa | Solución |
|---|---|---|---|
| Cuota de disco excedida | Sitio deja de funcionar | Emails o backups acumulados | Limpiar papelera de correo y backups viejos |
| Error 500 interno | Sitio muestra error blanco | php.ini mal configurado | Revisar Error Log en el panel |
| Subdominio no resuelve | 404 en subdominio | DNS no propagado | Esperar 24h o verificar la zona DNS en DirectAdmin |
| SSL no aplica | Advertencia "No seguro" | Renovación de Let's Encrypt falló | Reintentar desde SSL Certificates en el panel |
| Backup falla | Sin respaldo disponible | Disco lleno | Definir destino externo (FTP/S3) para backups en Backup/Transfer |
Preguntas Frecuentes sobre DirectAdmin
¿Cuál es la diferencia entre los niveles Admin, Reseller y User?
User es la cuenta del cliente final (gestiona su propia cuenta: correos, bases de datos, dominios). Reseller administra varias cuentas User bajo su espacio, define paquetes de recursos y puede tener marca propia. Admin es el nivel de administrador del servidor completo: crea resellers, gestiona recursos globales e instala software a nivel del sistema operativo. Los tres niveles se acceden desde el mismo puerto (2222), solo cambia el usuario con el que inicias sesión.
¿Cómo accedo a los logs de error de mi sitio en DirectAdmin?
Dos formas: 1) User Level → Website → Error Log (muestra las últimas líneas del
log del dominio). 2) File Manager > navegar a domains/tudominio.com/logs/ y
buscar el archivo error.log. También puedes activar el log en tu
.htaccess con php_flag log_errors On y
php_value error_log /home/usuario/error.log.
¿Cómo cambiar la versión de PHP en DirectAdmin?
User Level → Select PHP Version. Puedes cambiar la versión por dominio específico sin afectar otras cuentas. Las versiones disponibles dependen de lo que el administrador del servidor haya compilado vía CustomBuild; VacaWeb soporta PHP 7.4, 8.0, 8.1, 8.2 y 8.3.
¿Cómo crear una base de datos MySQL en DirectAdmin?
User Level → MySQL Management → Create Database. Luego crea un usuario MySQL,
asígnale todos los privilegios sobre la base de datos. Para WordPress, estos datos
van en wp-config.php: DB_NAME, DB_USER, DB_PASSWORD, DB_HOST (generalmente
localhost). Si usas conexión remota, especifica la IP permitida en MySQL remoto.
¿Cómo hacer un backup completo del sitio desde DirectAdmin?
User Level → Backup/Transfer → Create Backup. El archivo .tar.gz incluye todos
los archivos del home directory, las bases de datos y las cuentas de correo. Para
restaurar, usa la opción "Restore Backup" en la misma sección subiendo el archivo
generado. VacaWeb además corre backups automáticos server-wide como respaldo
adicional, incluidos en todos los planes.
DirectAdmin incluido en todos los planes
DirectAdmin + Apache optimizado + NVMe
desde $107.50 MXN/mes con factura CFDI
Sin costo extra por el panel. SSL gratis, backups automáticos y soporte técnico humano 24/7 en español. Migración sin costo incluida.
📚 Profundiza en estos temas
- CloudLinux: aislamiento de cuentas y LVE en servidores de hosting
- Configurar correo profesional en DirectAdmin con SPF, DKIM y DMARC
- Instalar WordPress en DirectAdmin en menos de 5 minutos
- Apache vs Apache vs Nginx: rendimiento en servidores de hosting
- Backup completo de sitio web: archivos, bases de datos y correo
Fundador y Arquitecto de Infraestructura de VacaWeb, con más de 15 años de experiencia administrando infraestructura Linux en producción (desde 2009). Especialista en CloudLinux, cPanel/WHM y arquitectura de hosting de alto rendimiento para el mercado mexicano. Fundó VacaWeb en 2025 para aplicar esa experiencia a un hosting real para negocios mexicanos.