Ubuntu y Debian
Instalación de HWD POS en Ubuntu Server 22.04/24.04 y Debian 12, incluida la instalación desde el paquete .zip.
Ubuntu Server 24.04 LTS es el sistema recomendado para HWD POS. Ubuntu 22.04 LTS y Debian 12 también están admitidos y usan el mismo instalador, install-ubuntu.sh.
Recomendado: instalación por red
En Ubuntu y Debian la instalación por red detecta apt automáticamente y ejecuta install-ubuntu.sh por usted:
curl -fsSL https://3r.com.pa/hwdpos_inst/bootstrap.sh | sudo bashQué configura el instalador en Ubuntu
| Componente | Detalle |
|---|---|
| Servidor web | Usa Apache o Nginx, el que ya esté instalado. Si no hay ninguno, instala Apache. La configuración del sitio apunta el document root a /var/www/HWDPOS/public. |
| PHP-FPM + CLI | PHP 8.3 por omisión (también se admite PHP_VER=8.2), con todas las extensiones indicadas en los requisitos. |
| MariaDB | Crea la base hwd_pos y el usuario hwdpos_manager con una contraseña generada, que se guarda en /var/www/HWDPOS/deploy/DB-CREDENTIALS.txt. |
| Impresión | CUPS y Google Chrome desde su paquete .deb oficial (amd64), salvo con WITH_PRINTING=no. |
| Servicios de fondo | hwpos-print y hwpos-plugins, con arranque automático. |
| Cortafuegos | Abre el puerto del sitio en ufw. |
| Panel del servidor | El comando hwdpanel. |
| Permisos | El código pertenece al usuario web www-data, que puede escribir en storage/ y public/uploads/. www-data se agrega a los grupos lp (impresoras USB) y lpadmin (colas IPP). |
Por qué Google Chrome y no chromium-browser
En Ubuntu, chromium-browser es solo un paso hacia el paquete Snap. Sin snapd (contenedores, muchas VPS y LXC) el comando existe pero no arranca. Por eso el instalador pone Google Chrome desde su .deb oficial, y el resumen lo comprueba ejecutándolo como el usuario web en lugar de buscar el comando.
Instalar desde el paquete .zip
Use este método cuando el servidor no tenga internet para descargar el sistema o cuando su proveedor le entregue un paquete concreto. Copie el .zip al servidor (por USB o SCP) y ejecute el instalador de su familia.
Los scripts de instalación no vienen dentro del paquete. Consígalos aparte y cópielos todos a la misma carpeta (por ejemplo, /root/hwdpos-inst/). El instalador copia sus tres compañeros a /var/www/HWDPOS/deploy/; sin ellos no se instalan los servicios de fondo ni hwdpanel.
| Archivo | Obligatorio |
|---|---|
install-ubuntu.sh | Sí. |
install-workers.sh | Sí: instala los dos servicios de fondo. |
hwdpanel.sh | Sí: el panel del servidor. |
check.sh | Recomendado: diagnóstico y reparación. |
Descomprima el paquete en /var/www (crea /var/www/HWDPOS):
cd /var/www && sudo unzip -q /root/HWDPOS-v1.5.0.zipEjecute el instalador indicándole dónde está el código:
sudo APP_DIR=/var/www/HWDPOS bash /root/hwdpos-inst/install-ubuntu.shLea el resumen final y abra la dirección que muestra para continuar con el asistente del navegador.
Sin APP_DIR, un instalador que no está dentro de la carpeta del código usa /var/www/HWDPOS, y se niega a trabajar sobre una carpeta del sistema (/, /tmp, /var…). Si falta algún compañero y el servidor no tiene internet, el resumen lo dice y no ofrece hwdpanel.
Si el servidor sí tiene internet, bootstrap.sh con HWPOS_ZIP descomprime el paquete y descarga el instalador por usted:
curl -fsSL https://3r.com.pa/hwdpos_inst/bootstrap.sh | sudo HWPOS_ZIP=/root/HWDPOS-v1.5.0.zip bashLa activación necesita internet aunque el código venga en un .zip.
Personalizar la instalación
Cualquier variable del instalador puede colocarse delante del comando. Por ejemplo:
sudo DOMAIN=pos.tienda.com PHP_VER=8.3 WITH_PRINTING=no bash /var/www/HWDPOS/deploy/install-ubuntu.shCon el .zip oficial, la carpeta deploy/ la crea la primera instalación. Antes de eso, use bootstrap.sh con HWPOS_ZIP o la copia de /root/hwdpos-inst/.
Notas propias de Ubuntu
- Cambio de etiqueta de un repositorio. Si
apt-get updatefalla con un mensaje comoRepository '…ondrej/php…' changed its 'Label' value, los scripts ya lo resuelven con--allow-releaseinfo-change. Para arreglarlo a mano, ejecutesudo apt-get update --allow-releaseinfo-change. - Comprobación de extensiones de PHP. Los scripts detectan la versión de PHP-FPM realmente en uso y comprueban los paquetes con
dpkg -s phpX.Y-<extension>, así que el resultado no depende de la versión dephpa la que apunte su terminal. - Cambiar el puerto a mano. Vea Servidor web. Es más sencillo volver a ejecutar el instalador con
WEB_PORT=.
Comprobar la instalación
sudo bash /var/www/HWDPOS/deploy/check.sh