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.
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
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
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.
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'
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
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
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.
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
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.
Escribe los datos de tu usuario administrador y tu contraseña para Zammad, y haz clic en Crear.
Escribe el nombre de tu organización, sube tu logotipo y haz clic en Siguiente para continuar.
Para la configuración del correo electrónico, haz clic en Omitir. Puedes configurarlo después de finalizar la instalación.
Ahora verás el panel de control de Zammad como el siguiente.
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.