AlmaLinux, Rocky y RHEL
Instalación de HWD POS en AlmaLinux, Rocky Linux, RHEL y CentOS Stream 8/9, y en qué se diferencia de Ubuntu.
AlmaLinux 9 y 8, Rocky Linux, RHEL y CentOS Stream están plenamente admitidos. Usan su propio instalador, install-almalinux.sh, con las mismas preguntas, los mismos modos y el mismo resumen final que en Ubuntu.
Recomendado: instalación por red
La instalación por red detecta dnf automáticamente y ejecuta install-almalinux.sh:
curl -fsSL https://3r.com.pa/hwdpos_inst/bootstrap.sh | sudo bashPara instalar desde un paquete .zip, siga las instrucciones de Ubuntu usando install-almalinux.sh:
cd /var/www && sudo unzip -q /root/HWDPOS-v1.5.0.zip
sudo APP_DIR=/var/www/HWDPOS bash /root/hwdpos-inst/install-almalinux.shPor qué hay un instalador aparte
En AlmaLinux no es «lo mismo con otro gestor de paquetes». Hay cinco diferencias, y la tercera es la que arruina una instalación hecha a mano:
PHP viene por módulos. Se instala con dnf module enable php:8.2, no por paquetes versionados. Si el sistema no ofrece 8.1 o superior, el instalador agrega el repositorio Remi.
El servicio se llama httpd (no apache2) y toda su configuración va en un único directorio, /etc/httpd/conf.d/. No existen sites-available ni a2ensite.
SELinux está activo de fábrica. Sin contexto de escritura en storage/ y public/uploads, y sin permiso para salir a la red, el sistema queda instalado pero no puede escribir, ni actualizarse, ni enviar correo, ni validar la licencia, y ningún mensaje de error menciona SELinux. El instalador lo configura y lo verifica en el resumen.
El cortafuegos es firewalld, no ufw.
PHP-FPM funciona con el usuario apache, y el instalador le crea un grupo de procesos propio (/etc/php-fpm.d/hwpos.conf) en su propio socket, para no alterar el de otro sitio que ya exista en el servidor.
SELinux
El instalador aplica los contextos de archivo (semanage + restorecon) para que el servidor web pueda escribir en storage/ y public/uploads, y activa los booleanos que permiten a PHP salir a la red y conectarse a la base de datos:
httpd_unifiedhttpd_can_network_connecthttpd_can_network_connect_dbhttpd_execmem
El resumen final agrega tres líneas de SELinux. Si salen con ✓, no hay que hacer nada.
Síntomas de SELinux sin configurar
Todo parece bien, pero no se guarda nada, las actualizaciones fallan y no se envía correo. Confírmelo con:
sudo ausearch -m avc -ts recentLa solución es volver a ejecutar install-almalinux.sh: vuelve a aplicar los contextos y los booleanos sin borrar datos. No desactive SELinux.
Cortafuegos y puerto
El instalador abre el puerto del sitio en firewalld. Si cambia el puerto a mano, los archivos son /etc/httpd/conf.d/hwpos.conf y /etc/httpd/conf.d/hwpos-listen.conf, el servicio es httpd, y el comando del cortafuegos es:
sudo firewall-cmd --permanent --add-port=8080/tcp && sudo firewall-cmd --reloadEs más sencillo volver a ejecutar el instalador con WEB_PORT=. Vea Servidor web.
Impresión en AlmaLinux
El generador de PDF A4 es el Chromium de los paquetes de la distribución. Si los documentos A4 no se imprimen, instálelo:
sudo dnf install -y chromiumVea Impresión.
Diagnóstico en AlmaLinux
check.sh funciona en las dos familias. En AlmaLinux, Rocky, RHEL y CentOS consulta los paquetes con rpm (un único paquete php-fpm, y pdo_mysql viene dentro de php-mysqlnd) y repara ejecutando install-almalinux.sh, que además deja SELinux y el cortafuegos en su sitio.
sudo bash /var/www/HWDPOS/deploy/check.shSi bootstrap.sh se corta enseguida en Rocky/Alma/CentOS, o check.sh marca todo con ✗, tiene una versión anterior del script (usaba apt-get o dpkg, que ahí no existen). Vuelva a descargarlo con el comando del principio de esta página.