CloudLinux y Paquetes PHP en Ubuntu 22.04 - Guía Completa
Introducción
Esta guía aborda la instalación y gestión de paquetes alt-php de CloudLinux en Ubuntu 22.04 LTS. La documentación oficial de CloudLinux para Ubuntu es limitada, por lo que esta wiki compila información práctica basada en experiencias reales y documentación dispersa.
Contexto y Soporte
CloudLinux ofrece soporte completo para Ubuntu 22.04 LTS a través del "CloudLinux Subsystem for Ubuntu". Este subsistema mantiene compatibilidad con las funcionalidades disponibles en Ubuntu 20.04 y añade el conjunto completo de componentes CloudLinux OS Pro.
Diferencias clave con CentOS/RHEL
- Kernel: No reemplaza el kernel de Ubuntu, solo añade módulos dinámicos
- Gestión de paquetes: Utiliza
apt
en lugar deyum
- Configuración: Algunos paquetes de configuración (como
alt-php-config
) tienen disponibilidad limitada
Instalación Inicial
1. Instalar CloudLinux Subsystem
# Descargar e instalar el script de instalación
wget https://repo.cloudlinux.com/cloudlinux/sources/ubuntu2cloudlinux.py
python3 ubuntu2cloudlinux.py --key TU_CLAVE_CLOUDLINUX
El script realiza automáticamente:
- Verificación y actualización del propio script
- Actualización de paquetes del sistema (salvo que uses
--skip-full-update
) - Registro con CloudLinux Network (CLN)
- Adición de repositorios CloudLinux para Ubuntu
- Instalación de componentes básicos: lve, kmodlve-dkms, lve-utils, lve-stats, alt-python
2. Verificar la instalación
# Verificar que los repositorios están configurados
apt update
apt list | grep cloudlinux
# Verificar componentes CloudLinux instalados
dpkg -l | grep cloudlinux
Gestión de Paquetes alt-php
Instalación de PHP Selector y alt-php
# Instalar PHP Selector completo
apt install lvemanager
# Instalar todos los paquetes alt-php
apt install alt-php
# O instalar versiones específicas
apt install alt-php74 alt-php81 alt-php83
Verificación de disponibilidad de extensiones
Consulta previa (recomendado)
# Listar todas las extensiones disponibles para una versión
apt search alt-php74- | grep -v installed
# Verificar extensión específica
apt search alt-php74-mysqli
apt search alt-php81-gd
apt search alt-php83-opcache
# Ver información detallada de un paquete
apt show alt-php74-mysqli
Verificación post-instalación
# Extensiones instaladas para una versión específica
apt list --installed | grep alt-php74
# Verificar desde PHP directamente
/opt/alt/php74/usr/bin/php -m
/opt/alt/php81/usr/bin/php -m | grep mysqli
Instalación de extensiones específicas
# Instalar extensiones individuales
apt install alt-php74-mysqli alt-php74-gd alt-php74-mbstring
# Instalar múltiples extensiones comunes
apt install alt-php74-{mysqli,gd,mbstring,xml,zip,curl,opcache}
# Verificar instalación
/opt/alt/php74/usr/bin/php -m | grep -E "(mysqli|gd|mbstring)"
Actualización y Mantenimiento
Actualizar paquetes alt-php
# Actualizar todos los paquetes alt-php
apt update && apt upgrade | grep alt-php
# Actualizar versión específica
apt upgrade alt-php74*
# Verificar actualizaciones disponibles
apt list --upgradable | grep alt-php
Resolución de problemas comunes
Problema: Paquete alt-php-config no disponible
# Workaround: usar repositorio de Ubuntu 20.04 temporalmente
echo "deb [arch=amd64] https://repo.imunify360.cloudlinux.com/imunify360/ubuntu/20.04/ focal main" | sudo tee /etc/apt/sources.list.d/imunify360-2004.list
apt update
apt download alt-php-config
apt install ./alt-php-config*.deb
mv /etc/apt/sources.list.d/imunify360-2004.list{,.backup}
apt update
Problema: Conflictos de dependencias
# Verificar dependencias
apt depends alt-php74
apt rdepends alt-php74
# Instalar dependencias manualmente si es necesario
apt install alt-php-internal-common
Configuración con Paneles de Control
cPanel con MultiPHP Manager
# Verificar handlers disponibles
plesk bin php_handler --list | grep alt-php
# Registrar handler manualmente (si es necesario)
plesk bin php_handler --add -displayname "HardenedPHP 74 FPM" \
-path /opt/alt/php74/usr/sbin/php-fpm \
-clipath /opt/alt/php74/usr/bin/php \
-phpini "/opt/alt/php74/etc/php.ini" \
-type fpm -id alt-php74fpm \
-service alt-php74-fpm
Configuración manual de versiones
# Editar configuración de MultiPHP Manager
vim /opt/alt/alt-php-config/alt-php.cfg
# Ejemplo de configuración
[MultiPHP Manager]
alt-php74 = yes
alt-php81 = yes
alt-php83 = yes
# Aplicar cambios
/opt/alt/alt-php-config/multiphp_reconfigure.py
Comandos de Diagnóstico
Verificación del estado del sistema
# Estado de CloudLinux
cloudlinux-check
# Versiones PHP disponibles
ls -la /opt/alt/php*/usr/bin/php
# Configuraciones PHP activas
find /opt/alt -name "php.ini" -exec echo "=== {} ===" \; -exec head -10 {} \;
# Verificar servicios PHP-FPM
systemctl list-units | grep alt-php
systemctl status alt-php74-fpm
Información detallada de PHP
# Información completa de una versión específica
/opt/alt/php74/usr/bin/php -i > php74_info.txt
# Verificar extensiones cargadas
/opt/alt/php74/usr/bin/php -m | sort
# Verificar configuración específica
/opt/alt/php74/usr/bin/php -r "phpinfo();" | grep -E "(extension_dir|include_path)"
Migración desde Ubuntu 20.04
Los componentes CloudLinux mantienen compatibilidad entre versiones, facilitando la migración:
# Backup de configuraciones existentes
tar -czf cloudlinux_backup.tar.gz /opt/alt /etc/cloudlinux
# Actualizar sistema base
do-release-upgrade
# Re-configurar repositorios CloudLinux para 22.04
# (Generalmente automático con ubuntu2cloudlinux.py)
# Verificar y actualizar paquetes
apt update && apt upgrade
Limitaciones Conocidas
- Docker: No compatible con CloudLinux subsystem en Ubuntu en la versión actual
- alt-php-config: Disponibilidad limitada en repositorios oficiales para 22.04
- Python/Node.js Selectors: No disponibles en la primera versión para Ubuntu 22.04
- Soporte Ubuntu 20.04: Discontinuado para nuevos lanzamientos (solo patches de seguridad críticos)
Recursos Adicionales
- Documentación oficial: https://docs.cloudlinux.com/ubuntu/
- Changelog de componentes: https://docs.cloudlinux.com/cloudlinux_os_components/#installation-and-update-4
- Soporte CloudLinux: https://support.anthropic.com (para problemas específicos)
Notas de Testing y Calidad
Esta guía se basa en testing real con Ubuntu 22.04 y CloudLinux. Se recomienda:
- Testing en entorno de desarrollo antes de producción
- Verificación de extensiones antes de migrar aplicaciones
- Backup completo antes de cambios mayores
- Monitoreo post-instalación para detectar problemas de rendimiento
La aproximación SOLID aplicada aquí enfatiza:
- Single Responsibility: Cada sección aborda un aspecto específico
- Open/Closed: Comandos extensibles para diferentes escenarios
- Dependency Inversion: Verificación de dependencias antes de instalación
Aviso
Esta documentación y su contenido, no implica que funcione en tu caso o determinados casos. También implica que tienes conocimientos sobre lo que trata, y que en cualquier caso tienes copias de seguridad. El contenido el contenido se entrega, tal y como está, sin que ello implique ningún obligación ni responsabilidad por parte de Castris
Si necesitas soporte profesional puedes contratar con Castris soporte profesional.