Contenedores de Linux | Documentación de cPanel y WHM

Contenedores de Linux


Última modificación: 22 de septiembre de 2021

Visión general

Advertencia:

cPanel, LLC recomienda que solamente Los administradores de sistemas experimentados intentan realizar los pasos de este documento. cPanel, LLC es no responsable de cualquier pérdida de datos que cause el intento de realizar estos pasos.

cPanel, LLC admite el uso de cPanel y WHM dentro de un contenedor Linux (LXC). Un contenedor LXC proporciona un entorno que se asemeja a una instalación estándar de Linux, pero no no requieren un kernel separado. Para obtener más información sobre los contenedores LXC, lea el Contenedores de Linux documentación.

Ejecutar en un contenedor de Linux

Para ejecutar cPanel & WHM dentro de un contenedor LXC, fuertemente le recomendamos que utilice la siguiente configuración:

Anfitrión

Nosotros fuertemente le recomendamos que utilice Red Hat® Enterprise Linux (RHEL) 7 o CentOS 7 como su host LXC. Esta configuración asegura la mejor compatibilidad con cPanel y WHM. Si bien otras distribuciones de Linux pueden funcionar, requieren que el administrador del sistema realice pasos adicionales, lo cual hacemos no apoyo.

Advertencia:

No hemos probado LXC en servidores CentOS 8, AlmaLinux OS 8 o CloudLinux 8.

Huésped

Nosotros fuertemente Recomiende que sus contenedores LXC utilicen CentOS o RHEL 6 como invitado. Una instalación de CentOS o RHEL 7 requiere pasos adicionales para usarla como invitado.

Contenedores privilegiados vs no privilegiados

cPanel & WHM funciona tanto en contenedores privilegiados como no privilegiados. Nosotros fuertemente Recomendamos que ejecute cPanel & WHM en un contenedor privilegiado, porque espera un acceso sin restricciones al sistema.

Las siguientes limitaciones son inherentes a un contenedor sin privilegios:

  • El sistema operativo host trata el root usuario como noroot usuario.

  • usted no poder elevar el límite estricto de un proceso si lo redujo previamente. Esta acción puede hacer que EasyApache 4 falle.

  • Pueden ocurrir diferencias sutiles de comportamiento.

ProxMox

Si usa el Software de virtualización Proxmox versión 4.1 para crear un contenedor CentOS 6 LXC dentro del cual instalar cPanel & WHM, puede experimentar los siguientes problemas:

  • Sitios basados ​​en MySQL® no poder conectarse a las bases de datos. Esto se debe a que el contenedor ProxMox LXC crea el /var/lib/mysql/mysql.sock Socket MySQL con privilegios insuficientes.

  • El servidor de correo Dovecot no funciona. Esto se debe a que el contenedor ProxMox LXC crea los archivos en el /var/run/dovecot/ directorio de inicio de sesión con privilegios insuficientes.

  • El promedio de carga del servidor que el WHM API 1 loadavg La función devuelve no coincide con el promedio de carga en el /proc/loadavg expediente.

Para corregir estos problemas, realice los siguientes pasos:

  1. Ejecutar el yum install -y acl mando.

  2. Cambiar a la /var/lib/mysql directorio.

  3. Colocar 777 permisos de archivo para permitir al usuario crear sockets MySQL. Para hacer esto, ejecute los siguientes comandos:

    1
    2
    
    # setfacl -d -m g::rwx .
    # setfacl -d -m o::rwx .
  4. Reinicie MySQL. Para hacer esto, ejecute el service mysql restart mando.

  5. Cambiar a la /var/run/dovecot/login directorio.

  6. Colocar 777 permisos de archivo para permitir al usuario crear archivos dentro del directorio. Para hacer esto, ejecute los siguientes comandos:

    1
    2
    
    # setfacl -d -m g::rwx .
    # setfacl -d -m o::rwx .
  7. Reinicie el servidor Dovecot. Para hacer esto, ejecute el /usr/local/cpanel/scripts/restartsrv_dovecot texto.

  8. Ejecutar el systemctl edit lxcfs comando para abrir el /lib/systemd/system/lxcfs.service expediente.

  9. Localizar el ExecStart línea y agregue la siguiente línea de texto:

    ExecStart=/usr/bin/lxcfs -l /var/lib/lxcfs/
  10. Reinicie el contenedor LXC. Para hacer esto, ejecute el systemctl restart lxcfs mando.

Cambios necesarios para CentOS 7 o RHEL 7

usted debe realice los siguientes cambios de configuración para ejecutar cPanel & WHM dentro de un contenedor LXC:

  1. Después de crear el contenedor LXC, cambie el lxc.include línea en el lxc.conf archivo a la siguiente línea:

    lxc.include = /usr/share/lxc/config/fedora.common.conf
  2. Edite el lxc.conf archivo para soltar setfcap y setpcap capacidades. Para hacer esto, comente las siguientes líneas:

    1
    2
    
    # lxc.cap.drop = setpcap
    # lxc.cap.drop = setfcap

Nota:

Algunas configuraciones del sistema no se ejecuta correctamente con cron dentro de un contenedor LXC. Los trabajos cron individuales no se ejecutan aunque el demonio cron esté activo. Este problema es un resultado directo de la incompatibilidad entre el entorno del contenedor y el pam_loginuid módulo.

Para resolver este conflicto, desactive el pam_loginuid módulo para cron con el siguiente comentario en el /etc/pam.d/crond directorio:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#
# The PAM configuration file for the cron daemon
#
#
# No PAM authentication called, auth modules not needed
account     required    pam_access.so
account     include     password-auth
#session    required    pam_loginuid.so
session     include     password-auth
auth        include     password-auth

Las actualizaciones de su paquete cron pueden hacer que el servicio se reactive. Inspeccione este archivo para ver si hay cambios después de cada actualización del sistema.

AppArmor

Si su sistema usa AppArmor, usted debe también descomente la siguiente línea en el lxc.conf expediente:

AppArmor versión 2.0 y anteriores

lxc.aa_profile = unconfined

AppArmor versión 2.1 y posterior

lxc.apparmor.profile = unconfined

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *