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 subdominiomierp.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:
- Aislar las configuraciones de cada aplicación.
- Asignar versiones de PHP específicas para cada subdominio.
- Simplificar el mantenimiento y evitar conflictos.
2. Crear el Subdominio en HestiaCP
- Accede a HestiaCP con el usuario administrador o
misuperempresa
. - Dirígete a la pestaña Web y haz clic en Add Web Domain.
- 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).
- Domain:
- 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):
- Ve a la pestaña DNS en HestiaCP y selecciona el dominio principal
mipoderosaempresa.com
. - 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).
- Name:
- 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):
- Accede al panel de gestión de DNS de tu proveedor de dominio.
- Agrega un registro
A
para el subdominiomierp
que apunte a la IP de tu servidor. - 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
- Accede al servidor mediante SSH o el administrador de archivos de HestiaCP.
- 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/
- 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/
:
- Crea o edita el archivo
.htaccess
:nano /home/misuperempresa/web/mipoderosaempresa.com/public_html/mierp/.htaccess
- Agrega la regla de redirección:
RewriteEngine On
RewriteRule ^(.*)$ https://mierp.mipoderosaempresa.com/$1 [R=301,L]
- Guarda los cambios y verifica que la redirección funcione accediendo a
https://mipoderosaempresa.com/mierp/
.
7. Consideraciones Finales
- 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.
- 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.
- SEO y Redirección:
- Las redirecciones 301 son importantes para mantener el SEO si el subdominio sustituye una URL existente.