Cómo instalar el sistema de atención al cliente Zammad en Rocky Linux 9

Zammad es una solución de código abierto de atención al cliente/ticketing basada en Ruby y PostgreSQL. Ayuda a las organizaciones a gestionar las comunicaciones a través de varios canales de correo electrónico, chat y redes sociales.

En esta guía, aprenderás a instalar el sistema de tickets Zammad en el servidor Linux Rocky. Ejecutarás Zammad con PostgreSQL, Nginx y Elasticsearch.

Requisitos previos

Antes de empezar, asegúrate de que tienes lo siguiente:

  • Un servidor Rocky Linux 9.
  • Un usuario no root con privilegios de administrador.
  • Un nombre de dominio apuntando a una dirección IP del servidor.
  • Un SELinux con estado permisivo.

Instalación de dependencias

En esta sección, instalarás las dependencias para Zammad, esto incluye el repositorio EPEL, la base de datos PostgreSQL, el servidor web Nginx, Redis y Node.js.

En primer lugar, añade el repositorio EPEL a tu sistema Rocky Linux con lo siguiente.

sudo dnf install epel-release -y

Ahora configura la configuración regional por defecto a en_US.UTF-8 con el siguiente comando.

sudo localectl set-locale LC_CTYPE=en_US.UTF-8

Ahora ejecuta el siguiente comando para habilitar el repositorio de Node.js para la versión 18.

sudo dnf module enable nodejs:18 -y

A continuación, ejecuta el siguiente comando dnf para instalar las dependencias de Zammad, incluyendo Nginx, PostgreSQL, Redis y Node.js.

sudo dnf install imlib2 nginx postgresql-server postgresql-contrib libpq-devel redis nodejs

Introduce y para confirmar y continuar.

instalar dependencias

Una vez finalizada la instalación, ejecuta el siguiente comando para inicializar el servidor PostgreSQL.

sudo postgresql-setup initdb

Inicia y habilita los servicios para Nginx, PostgreSQL y Redis con el siguiente comando.

sudo systemctl start nginx postgresql redis
sudo systemctl enable nginx postgresql redis

Por último, comprueba la versión de Node.js con el comando siguiente. Asegúrate de que tienes instalado Node.js 18.0+.

node --version

iniciar servicios y verificar nodejs

Instalación de Elasticsearch

Después de instalar las Dependencias, necesitarás instalar Elasticsearch. En esta sección, instalarás Elasticsearch 7.x para Zammad.

Ahora ejecuta el siguiente comando para añadir la clave GPG para el repositorio de Elasticsearch.

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

Añade el repositorio de Elasticsearch para el servidor Linux Rocky con el siguiente comando.

echo "[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md"| tee /etc/yum.repos.d/elasticsearch-7.x.repo

A continuación, instala Elasticsearch en tu sistema con el siguiente comando. Introduce y para confirmar la instalación y acepta la clave GPG cuando se te solicite.

sudo dnf install elasticsearch

instalar elasticsearch

Una vez finalizada la instalación, instala el plugin ingest-attachment en tu instalación de Elasticsearch con el siguiente comando.

/usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-attachment

Introduce y para confirmar la instalación.

instalar plugin

Ahora recarga el gestor systemd e inicia el servicio elasticsearch utilizando el comando que aparece a continuación.

sudo systemctl daemon-reload
sudo systemctl start elasticsearch

Una vez iniciado, comprueba el Elasticsearch con el comando curl que aparece a continuación. Si la instalación se ha realizado correctamente, obtendrás información detallada sobre tu versión de Elasticsearch.

curl -X GET 'http://localhost:9200'

verificar elasticsearch

Aumentar el número máximo de conexiones en PostgreSQL

Para PostgreSQl, necesitas aumentar el max_connections por defecto en el archivo postgresql.conf. Esto es necesario para Zammad.

Así que inicia sesión como usuario postgres con el siguiente comando.

su - postgres

Abre el archivo PostgreSQL configuration data/postgresql. conf utilizando el editor nano.

nano data/postgresql.conf

Cambia el max_connections por defecto a 2000 como se indica a continuación:

max_connections = 2000

Guarda el archivo y sal.

Ahora ejecuta el siguiente comando systemctl para reiniciar el servicio PostgreSQL y aplicar tus cambios.

sudo systemctl restart postgresql

Configurar Firewalld

Por defecto, firewalld está activado en Rocky Linux. Así que ahora necesitas abrir ambos servicios HTTP y HTTPS y permitir el tráfico a Zammad.

Añade ambos servicios HTTP y HTTPS a firewalld utilizando el siguiente comando.

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent

Ahora recarga firewalld para aplicar las nuevas reglas para HTTP y HTTPS.

sudo firewall-cmd --reload

Comprueba la lista de reglas en firewalld utilizando el comando siguiente. Verás que los servicios HTTP y HTTPS están disponibles en firewalld.

sudo firewall-cmd --list-all

configurar firewalld

Instalar el sistema de atención al cliente de Zammad

Ahora que tienes las dependencias instaladas y configuradas, puedes iniciar la instalación de Zammad, que puede hacerse mediante el gestor de paquetes DNF.

Añade la clave GPG para el repositorio de Zammad utilizando el siguiente comando.

sudo rpm --import https://dl.packager.io/srv/zammad/zammad/key

Ahora añade el repositorio de Zammad a tu servidor Rocky Linux con el siguiente comando.

sudo wget -O /etc/yum.repos.d/zammad.repo \
https://dl.packager.io/srv/zammad/zammad/develop/installer/el/9.repo

A continuación, instala zammad con el comando dnf que aparece a continuación. Cuando se te solicite, escribe y para confirmar la clave gpg y la instalación de Zammad.

sudo dnf install zammad

instalar zammad

Una vez finalizada la instalación, ejecuta el siguiente comando para comprobar los servicios para Zammad, incluidos zammad, zammad-web, zammad-worker y zammad-websocket.

sudo systemctl status zammad
sudo systemctl status zammad-web
sudo systemctl status zammad-worker
sudo systemctl status zammad-websocket

Asegúrate de que todos los servicios para Zammad se están ejecutando.

zammad corriendo

Por último, ejecuta el siguiente comando para configurar la integración entre Zammad y Elasticsearch.

zammad run rails r "Setting.set('es_url', 'http://localhost:9200')"
zammad run rake zammad:searchindex:rebuild

Una vez ejecutado el comando, se creará un índice de Elasticsearch para Zammad.

Configurar Nginx como proxy inverso

Ahora que has instalado Zammad, deberás configurar Nginx como proxy inverso, y por defecto, Zammad proporciona una configuración de ejemplo que está disponible en el directorio/opt/zammad/contrib.

Copia la configuración de Nginx para Zammad en /etc/nginx/conf.d/zammad.confy ábrela utilizando el comando editor nano.

cp /opt/zammad/contrib/nginx/zammad.conf /etc/nginx/conf.d/zammad.conf
sudo nano /etc/nginx/conf.d/zammad.conf

Dentro de la opción nombre_servidor, cámbiala por tu dominio.

server_name zammad.hwdomain.io;

Guarda y sal del archivo.

Ahora verifica la configuración de Nginx para asegurarte de que la sintaxis es correcta. Si es correcta, deberías obtener una salida‘syntax is ok‘.

sudo nginx -t

Por último, ejecuta el siguiente comando para reiniciar el servicio Nginx y aplicar una nueva configuración de bloque de servidor para Zammad.

sudo systemctl restart nginx

configuración de nginx

Con esto, tu instalación de Zammad debería estar lista y accesible.

Asegurar Zammad con HTTPS

Ahora que Nginx está configurado, vamos a asegurar Zammad mediante certificados SSL/TLS. Instalarás Certbot y generarás certificados SSL utilizando certbot de Letsencrypt.

Instala Certbot y el plugin de Nginx utilizando el comando dnf que aparece a continuación. Escribe y para confirmar la instalación.

sudo dnf install certbot python3-certbot-nginx

Una vez completada la instalación, ejecuta el siguiente comando certbot para generar certificados SSL/TLS y asegurar tu instalación de Zammad. Asegúrate de cambiar la información de la dirección de correo electrónico y el nombre de dominio con tu información.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d zammad.hwdomain.io

Una vez completado, tus certificados SSL/TLS estarán disponibles en el directorio /etc/letsencrypt/live/domain.com, y tu Zammad también estará asegurado con HTTPS automáticamente.

Configurar la instalación de Zammad

Inicia tu navegador web y visita https://zammad.hwomdian.io/. Si la instalación se realiza correctamente, se te preguntará lo siguiente:

Haz clic en Configurar un nuevo sistema para empezar a configurar Zammad.

instalación zammad

Escribe los datos de tu usuario administrador y tu contraseña para Zammad, y haz clic en Crear.

configurar usuario

Escribe el nombre de tu organización, sube tu logotipo y haz clic en Siguiente para continuar.

configuración orgz

Para la configuración del correo electrónico, haz clic en Omitir. Puedes configurarlo después de finalizar la instalación.

omitir correo electrónico

Ahora verás el panel de control de Zammad como el siguiente.

salpicadero

Conclusión

¡Enhorabuena! Has completado la instalación del sistema de tickets Zammad en el servidor Rocky Linux 9. Tienes en Zammad funcionando con base de datos PostgreSQL, Nginx como proxy inverso, Elasticsearch, y además asegurado con HTTPS mediante Certbot.

También te podría gustar...