VacaWeb
Hosting

DirectAdmin 2026: Guía Completa para Gestionar tu Hosting en México como un Experto

22 Feb 2025 15 min de lectura VacaWeb Blog
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.

Diagrama ilustrativo de directadmin guia completa
Panel de nivel Reseller en DirectAdmin mostrando el resumen de cuentas, uso de recursos y estado de cada usuario. La vista de disco/ancho de banda por cuenta es esencial para identificar vecinos ruidosos.

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
Tip: Con CloudLinux, la variable 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
Diagrama ilustrativo de directadmin guia completa
Configuración de registros DNS para email: SPF, DKIM (clave de 2048 bits) y DMARC policy=quarantine. Estos tres registros son obligatorios para que Gmail y Outlook no marquen tu correo como spam.

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
Advertencia: El archivo .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
TareaUbicación en DirectAdminEquivalente SSH
Crear BD MySQLUser Level → MySQL Managementmysql -e "CREATE DATABASE..."
Gestionar DNSUser/Reseller Level → DNS ManagementCMD_API_DNS_CONTROL
Instalar SSLUser Level → SSL Certificates → Let's EncryptRenovación automática por DirectAdmin
Ver logs de errorUser Level → Website → Error Logtail -f ~/domains/tudominio.com/logs/error.log
Gestionar cronsUser Level → Cron Jobscrontab -e
Gestionar PHPUser Level → Select PHP VersionCustomBuild (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

ErrorSíntomaCausaSolución
Cuota de disco excedidaSitio deja de funcionarEmails o backups acumuladosLimpiar papelera de correo y backups viejos
Error 500 internoSitio muestra error blancophp.ini mal configuradoRevisar Error Log en el panel
Subdominio no resuelve404 en subdominioDNS no propagadoEsperar 24h o verificar la zona DNS en DirectAdmin
SSL no aplicaAdvertencia "No seguro"Renovación de Let's Encrypt fallóReintentar desde SSL Certificates en el panel
Backup fallaSin respaldo disponibleDisco llenoDefinir 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.

Ver planes con DirectAdmin → 💬 Preguntar por WhatsApp
👨‍💻
Jesús Acosta
Fundador de VacaWeb

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.

Compartir: