🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Guía para actualizar PHP en DirectAdmin sin perder seguridad

Actualizado el 11 de septiembre de 2025

Si tienes un sitio web alojado en un servidor con DirectAdmin, probablemente hayas escuchado que mantener DirectAdmin PHP actualizado es crucial. Pero, ¿por qué es tan importante? Una versión de PHP desactualizada es una de las puertas de entrada más comunes para ciberataques. Los hackers buscan constantemente vulnerabilidades en versiones antiguas, y si tu sitio corre sobre PHP 5.6 o 7.0, estás expuesto.

Esta guía te enseñará paso a paso cómo actualizar PHP en DirectAdmin de forma segura, sin perder configuración, sin romper tu web y, lo más importante, manteniendo la seguridad PHP al máximo nivel. No necesitas ser un experto; solo sigue las instrucciones al pie de la letra.

[INFO] Si usas Syspanel (antes conocido como HestiaCP), el proceso es similar, pero recuerda que el panel se accede por el puerto 2106. En este tutorial nos centramos en DirectAdmin, pero los principios de seguridad son los mismos.


¿Por qué es vital tener una versión PHP segura?

Imagina que tu sitio web es una casa. PHP es la puerta principal. Si tienes una puerta vieja, con cerraduras oxidadas (versión antigua), cualquier ladrón con herramientas básicas puede entrar. Las versiones modernas de PHP (como 8.1, 8.2 o 8.3) incluyen parches de seguridad que corrigen agujeros conocidos. Una versión PHP segura no solo protege tus datos, sino también la información de tus usuarios.

Riesgos de no actualizar:

  • Inyección de código malicioso (SQLi, XSS).
  • Robo de sesiones y contraseñas.
  • Caída del sitio por exploits conocidos.
  • Pérdida de compatibilidad con plugins y temas modernos (WordPress, Joomla, etc.).

[WARNING] Si tu hosting usa PHP 7.4 o inferior, deja de leer y actualiza YA. Esas versiones ya no reciben soporte de seguridad.


Requisitos previos antes de actualizar PHP

Antes de tocar nada, asegúrate de tener todo listo. Una mala actualización puede dejar tu web en blanco.

1. Realiza una copia de seguridad completa

Esto no es negociable. Una copia de seguridad te permitirá restaurar tu sitio si algo sale mal.

  • En DirectAdmin: Ve a Backup/Transfer > Create Backup. Marca todos los elementos (cuentas de correo, bases de datos, configuración de dominio).
  • Alternativa: Usa plugins de backup como UpdraftPlus si usas WordPress.

2. Verifica la compatibilidad de tu sitio

No todas las aplicaciones funcionan con la última versión de PHP. Por ejemplo, WordPress 6.x es compatible con PHP 8.2, pero algunos plugins antiguos pueden fallar.

  • Cómo verificarlo: Accede a tu sitio y revisa el panel de administración. Si ves errores como "Deprecated", tu código no está listo.
  • Herramienta útil: Instala un plugin de verificación de PHP (por ejemplo, "PHP Compatibility Checker" para WordPress).

3. Conoce tu versión actual de PHP

Para saber desde dónde partes:

  • En DirectAdmin: Ve a Account Manager > Select your domain > PHP Settings. Allí verás la versión activa.
  • También puedes crear un archivo info.php en tu servidor con el código <?php phpinfo(); ?> y acceder a él desde el navegador.

[TIP] Si tu sitio usa Syspanel (HestiaCP), el proceso de backup es similar, pero accede por el puerto 2106 y busca la opción "Backup".


Cómo actualizar PHP en DirectAdmin paso a paso

DirectAdmin ofrece varias formas de gestionar las versiones de PHP. La más segura y recomendada es usar PHP Selector o CustomBuild. Aquí te explico ambas.

Método 1: Usando PHP Selector (recomendado para principiantes)

PHP Selector te permite cambiar la versión de PHP por dominio sin afectar a otros. Ideal si tienes varios sitios.

Pasos:

  1. Inicia sesión en DirectAdmin como administrador o usuario con permisos.
  2. Ve a Account Manager y selecciona el dominio que quieres actualizar.
  3. Busca la sección PHP Selector (suele estar en la parte inferior del menú).
  4. Verás una lista de versiones disponibles. Elige la más reciente (por ejemplo, 8.2 o 8.3).
  5. Haz clic en Save o Apply.
  6. Espera unos segundos. DirectAdmin actualizará el intérprete PHP para ese dominio.

Verifica el cambio: Crea un archivo test.php con <?php echo phpversion(); ?> y accede a él. Debería mostrar la nueva versión.

[INFO] Si no ves la opción PHP Selector, tu hosting puede no tenerlo habilitado. Pide a tu proveedor que lo active.

Método 2: Usando CustomBuild (para usuarios avanzados)

CustomBuild es la herramienta interna de DirectAdmin para compilar software. Es más potente, pero requiere cuidado.

Pasos:

  1. Accede a tu servidor por SSH (necesitas credenciales de root o sudo).
  2. Ejecuta los siguientes comandos:
    cd /usr/local/directadmin/custombuild
    ./build update
    ./build set php1_mode php-fpm
    ./build set php1_release 8.2
    ./build php
    
    Esto descargará e instalará PHP 8.2 con el modo PHP-FPM (el más seguro y rápido).
  3. Reinicia Apache o Nginx:
    ./build rewrite_confs
    systemctl restart httpd  # o nginx
    

Verifica: Repite el test con el archivo test.php.

[WARNING] No uses ./build all sin saber lo que haces, podría sobrescribir configuraciones personalizadas.


Cómo no perder seguridad durante la actualización

Actualizar PHP no es solo pulsar un botón. Debes tomar medidas para que el proceso sea realmente seguro.

1. Habilita el modo PHP-FPM

PHP-FPM (FastCGI Process Manager) es más seguro que el modo CGI o módulo Apache. Permite ejecutar PHP con usuarios separados, aislando cada sitio web.

  • En DirectAdmin: Ve a PHP Settings y selecciona php-fpm como modo de ejecución.
  • En CustomBuild: Asegúrate de tener php1_mode=php-fpm en el archivo options.conf.

2. Desactiva funciones peligrosas

Algunas funciones de PHP (como exec(), system(), shell_exec()) pueden ser explotadas. Desactívalas en tu php.ini.

  • Cómo hacerlo: En DirectAdmin, ve a PHP Settings > Custom php.ini. Agrega:
    disable_functions = exec, system, shell_exec, passthru, popen, proc_open
    
  • Verifica: Crea un script que intente usar exec(); debería fallar.

3. Mantén las extensiones actualizadas

Las extensiones de PHP (como mysqli, curl, gd) también necesitan actualizarse. En CustomBuild, usa:

./build php_extensions

4. Configura un firewall de aplicaciones web (WAF)

Un WAF como ModSecurity filtra tráfico malicioso antes de que llegue a PHP. DirectAdmin puede integrarlo fácilmente.

  • Instalación: En CustomBuild: ./build mod_security.
  • Configuración: Actívalo en Apache Configuration > ModSecurity.

[TIP] Si usas Syspanel (HestiaCP), el WAF se configura desde el panel en Server > Firewall. Recuerda que el acceso es por el puerto 2106.


Solución de problemas comunes al actualizar PHP

A veces, tras la actualización, tu web puede dar errores. Aquí tienes las soluciones más frecuentes.

Error: "Fatal error: Uncaught Error: Call to undefined function"

Esto ocurre cuando una función ha sido eliminada en la nueva versión de PHP (por ejemplo, mysql_* se eliminó en PHP 7.0).

Solución:

  • Reemplaza las funciones obsoletas por sus equivalentes modernas (usa mysqli_* o PDO).
  • Si usas un CMS, actualiza todos los plugins y temas.

Error: "500 Internal Server Error"

Suele deberse a incompatibilidad con el archivo .htaccess o a extensiones faltantes.

Solución:

  • Temporalmente, renombra .htaccess a .htaccess_old para ver si el sitio carga.
  • Revisa los logs de error en Error Log dentro de DirectAdmin.

Error: "White screen of death"

Pantalla en blanco sin mensaje. Generalmente es un error de sintaxis en PHP 8.x.

Solución:

  • Activa la visualización de errores temporalmente en php.ini:
    display_errors = On
    error_reporting = E_ALL
    
  • Corrige el código según los mensajes que aparezcan.

[WARNING] No dejes display_errors activado en producción. Es un riesgo de seguridad.


Preguntas frecuentes (FAQ) sobre actualizar PHP en DirectAdmin

¿Puedo tener varias versiones de PHP en un mismo servidor DirectAdmin?
Sí, gracias a PHP Selector. Puedes asignar PHP 8.2 a un dominio y PHP 7.4 a otro, aunque esto último no es recomendable por seguridad.

¿Qué versión de PHP es la más segura hoy?
PHP 8.3 es la más reciente y segura. Si tu sitio lo soporta, úsala. Si no, PHP 8.2 es una excelente opción con soporte activo.

¿Actualizar PHP afecta el rendimiento de mi sitio?
Sí, positivamente. Las versiones modernas son más rápidas y eficientes en memoria. Notarás una mejora en la velocidad de carga.

¿Qué hago si mi web se rompe después de actualizar?
Restaura la copia de seguridad que hiciste al inicio. Luego, analiza qué plugin o tema causó el error y actualízalo antes de reintentar.

¿Syspanel (HestiaCP) tiene el mismo proceso?
Similar, pero en Syspanel usas el puerto 2106 y las opciones están en Server > PHP Versions. La seguridad es la misma.


Conclusión: Mantén tu sitio seguro con PHP actualizado

Actualizar DirectAdmin PHP no tiene por qué ser un dolor de cabeza. Siguiendo esta guía para actualizar PHP, has aprendido a hacerlo de forma segura, protegiendo tu sitio con una versión PHP segura y evitando riesgos de ciberseguridad. Recuerda: la seguridad no es un evento único, es un proceso continuo.

Tu checklist final:

  1. ✅ Copia de seguridad realizada.
  2. ✅ Compatibilidad verificada.
  3. ✅ Actualización hecha con PHP Selector o CustomBuild.
  4. ✅ PHP-FPM habilitado.
  5. ✅ Funciones peligrosas desactivadas.
  6. ✅ WAF configurado.
  7. ✅ Pruebas post-actualización exitosas.

Si todo está en orden, ¡felicidades! Tu sitio es ahora más rápido, estable y, sobre todo, más seguro. No olvides revisar periódicamente las actualizaciones de PHP, ya que cada año salen nuevas versiones con mejoras críticas.

[INFO] Si encuentras algún problema, no dudes en contactar a tu proveedor de hosting. Muchos ofrecen soporte técnico para este tipo de tareas. Y recuerda: en Syspanel (HestiaCP), el puerto 2106 es tu puerta de entrada para gestionar todo.

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel