info@recamedi.org(51) 906-329-071

Configuración de HestiaCP para Manejar Diferentes Versiones de PHP en Subdominios en WordPress

En instalaciones normales de Cpanel, cuando se quiere tener diferentes version de php en una misma instalacion, solo es necesario modificar el archivo .htaccess con un valor similar a:

<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/www.sock|fcgi://localhost"
</FilesMatch>

O usando la interfaz web. Pero en hestiacp es mas complicado porque solo podra cambiar la version, pero afectara a todo el dominio y no se puede hacer cambios en cada carpeta. por ende, si deseas utilizar versiones diferentes para cada carpeta, lo mejor es crear un subdominio para cada carpeta y manejar las versiones de php por separado.

Tutorial: Configuración de HestiaCP para Manejar Diferentes Versiones de PHP en Subdominios en WordPress

En este tutorial, aprenderás a configurar HestiaCP para manejar diferentes versiones de PHP mediante subdominios. Esto es útil cuando una aplicación requiere una versión de PHP diferente a la del dominio principal, como un sitio WordPress en una versión moderna y una aplicación heredada en una versión anterior de PHP. Aquí usaremos como ejemplo:

  • Usuario de HestiaCP: misuperempresa
  • Dominio principal: mipoderosaempresa.com
  • Aplicación web: mierp, ubicada en un subdominio mierp.mipoderosaempresa.com.

1. Contexto y Recomendación

HestiaCP no permite configurar fácilmente diferentes versiones de PHP en subcarpetas (como mipoderosaempresa.com/mierp/) debido a las limitaciones de su configuración basada en plantillas y pools de PHP-FPM. Sin embargo, la solución más eficiente y ordenada es manejar cada aplicación como un subdominio. Esto permite:

  1. Aislar las configuraciones de cada aplicación.
  2. Asignar versiones de PHP específicas para cada subdominio.
  3. Simplificar el mantenimiento y evitar conflictos.

2. Crear el Subdominio en HestiaCP

  1. Accede a HestiaCP con el usuario administrador o misuperempresa.
  2. Dirígete a la pestaña Web y haz clic en Add Web Domain.
  3. Completa los campos:
    • Domain: mierp.mipoderosaempresa.com
    • Enable SSL: Activa esta casilla para generar un certificado SSL si es necesario.
    • PHP-FPM Support: Activa esta opción y selecciona la versión de PHP requerida (por ejemplo, PHP 7.4 para una aplicación heredada).
  4. Haz clic en Save.

Nota: Esto crea automáticamente el subdominio y la carpeta correspondiente en /home/misuperempresa/web/mierp.mipoderosaempresa.com/public_html/.


3. Configuración del DNS

Para que el subdominio sea accesible, debes configurar los registros DNS. Esto puede hacerse directamente en HestiaCP si gestionas el DNS en tu servidor, o en el proveedor de DNS externo.

3.1. Configuración en HestiaCP (si usas Hestia como servidor DNS):

  1. Ve a la pestaña DNS en HestiaCP y selecciona el dominio principal mipoderosaempresa.com.
  2. Crea un nuevo registro A:
    • Name: mierp
    • Type: A
    • IP or Value: La IP pública de tu servidor (por ejemplo, 123.45.67.89).
    • TTL: Déjalo como el valor por defecto (14400).
  3. Guarda los cambios y reinicia el servicio DNS si es necesario: systemctl restart bind9

3.2. Configuración en un proveedor externo de DNS (si aplica):

  1. Accede al panel de gestión de DNS de tu proveedor de dominio.
  2. Agrega un registro A para el subdominio mierp que apunte a la IP de tu servidor.
  3. Guarda los cambios y espera a que se propaguen (generalmente entre 5 y 30 minutos).

Nota: Puedes verificar la propagación del DNS con herramientas como DNS Checker.


4. Copiar los Archivos de la Aplicación

  1. Accede al servidor mediante SSH o el administrador de archivos de HestiaCP.
  2. Copia los archivos de la aplicación mierp a la carpeta del subdominio: cp -R /home/misuperempresa/web/mipoderosaempresa.com/public_html/mierp/* /home/misuperempresa/web/mierp.mipoderosaempresa.com/public_html/
  3. Verifica que los archivos se hayan copiado correctamente: ls -la /home/misuperempresa/web/mierp.mipoderosaempresa.com/public_html/

5. Configuración de Redirección

Si quieres que los usuarios que accedan a https://mipoderosaempresa.com/mierp/ sean redirigidos automáticamente a https://mierp.mipoderosaempresa.com/, configura un archivo .htaccess en la carpeta mipoderosaempresa.com/public_html/mierp/:

  1. Crea o edita el archivo .htaccess:
    nano /home/misuperempresa/web/mipoderosaempresa.com/public_html/mierp/.htaccess
  2. Agrega la regla de redirección:
    RewriteEngine On
    RewriteRule ^(.*)$ https://mierp.mipoderosaempresa.com/$1 [R=301,L]
  3. Guarda los cambios y verifica que la redirección funcione accediendo a https://mipoderosaempresa.com/mierp/.

7. Consideraciones Finales

  1. Mantenimiento y Seguridad:
    • Asegúrate de mantener actualizada la versión de PHP asignada al subdominio para evitar vulnerabilidades.
    • Usa certificados SSL para proteger el tráfico hacia el subdominio.
  2. Migración de Aplicaciones:
    • Si tienes aplicaciones heredadas que necesitan versiones obsoletas de PHP (como 7.2), considera actualizar el código a una versión más moderna, ya que las versiones antiguas no reciben actualizaciones de seguridad.
  3. SEO y Redirección:
    • Las redirecciones 301 son importantes para mantener el SEO si el subdominio sustituye una URL existente.

Leave the first comment