Skip to main content

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 de yum
  • 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

  1. Docker: No compatible con CloudLinux subsystem en Ubuntu en la versión actual
  2. alt-php-config: Disponibilidad limitada en repositorios oficiales para 22.04
  3. Python/Node.js Selectors: No disponibles en la primera versión para Ubuntu 22.04
  4. 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:

  1. Testing en entorno de desarrollo antes de producción
  2. Verificación de extensiones antes de migrar aplicaciones
  3. Backup completo antes de cambios mayores
  4. 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.