Zammad está desarrollado en los lenguajes de programación Ruby y JavaScript. El nombre Zammad proviene del dialecto bávaro y significa “juntos”.
Paso 1:asegúrese de que su sistema operativo esté actualizado
Siempre es una buena práctica asegurarse de que el sistema operativo tenga los paquetes más recientes. Use este comando para actualizar:
sudo apt update
sudo apt upgrade
Paso 2:Instale las dependencias del paquete
A continuación, instalemos algunas de las dependencias. Deben estar presentes en el sistema para que los pasos futuros funcionen. Usa este comando:
sudo apt install wget curl apt-transport-https gnupg
Para que Zammad funcione correctamente, su sistema debe usar el entorno de idioma correcto.
sudo apt install locales
sudo locale-gen en_US.UTF-8
echo "LANG=en_US.UTF-8" | sudo tee /etc/default/locale
Paso 3:Configurar elasticsearch
Zammad usa elasticsearch, su función de búsqueda funciona con Elasticsearch y requiere el complemento de archivos adjuntos de ingesta.
Instalemos elasticsearch en el servidor. Primero, importa la clave PGP de Elasticsearch
Descargue e instale la clave de firma pública con este comando:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
Luego configura el repositorio:
echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list
Puede instalar el paquete Elasticsearch con este comando después de actualizar los repositorios porque agregamos un nuevo repositorio:
sudo apt update && sudo apt install elasticsearch
Para configurar Elasticsearch para que se inicie automáticamente cuando se inicie el sistema, ejecute los siguientes comandos:
sudo systemctl daemon-reload sudo systemctl enable elasticsearch
Elasticsearch se puede iniciar y detener de la siguiente manera:
sudo systemctl start elasticsearch sudo systemctl stop elasticsearch
Asegúrese de que se esté ejecutando con el comando de estado:
$ sudo systemctl status elasticsearch
● elasticsearch.service - Elasticsearch
Loaded: loaded (/lib/systemd/system/elasticsearch.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2022-03-18 11:06:37 UTC; 3min 3s ago
Docs: https://www.elastic.co
Main PID: 2045 (java)
Tasks: 67 (limit: 4556)
Memory: 2.3G
CGroup: /system.slice/elasticsearch.service
├─2045 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -Djava.security.manager=allow -XX:+AlwaysPreTouch -Xss1m >
└─2335 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller
Mar 18 11:06:13 axiobrim systemd[1]: Starting Elasticsearch...
Mar 18 11:06:37 axiobrim systemd[1]: Started Elasticsearch.
Consulte Cómo instalar y configurar Elasticsearch en Ubuntu 20.04.
Paso 4:Instalar Zammad
Finalmente podemos instalar Zammad. Primero agregue la clave gpg
curl -fsSL https://dl.packager.io/srv/zammad/zammad/key | \
gpg --dearmor | tee /etc/apt/trusted.gpg.d/pkgr-zammad.gpg> /dev/null
Luego configure el repositorio de zammad:
echo "deb [signed-by=/etc/apt/trusted.gpg.d/pkgr-zammad.gpg] https://dl.packager.io/srv/deb/zammad/zammad/stable/ubuntu 20.04 main"| \
tee /etc/apt/sources.list.d/zammad.list > /dev/null
Finalmente actualice el repositorio e instale zammad:
sudo apt update && sudo apt install zammad
Paso 5:Configuración del cortafuegos
Zammad se expondrá como un servicio web. Si tiene ufw instalado y habilitado, deberá habilitar los puertos 80 y 443 para el tráfico http y https. Usa estos comandos:
ufw allow 80 ufw allow 443 ufw reload
Gestionar servicios de Zammad
En general, Zammad usa tres servicios:estos se pueden (re)iniciar y detener con el padre zammad
.
$ # Zammad service to start all services at once $ systemctl (status|start|stop|restart) zammad $ # Zammads internal railsserver $ systemctl (status|start|stop|restart) zammad-web $ # Zammads scheduler - relevant for all delayed- and background jobs $ systemctl (status|start|stop|restart) zammad-worker $ # Zammads websocket server for session related information $ systemctl (status|start|stop|restart) zammad-websocket
Iniciando todos los servicios
sudo systemctl start zammad
sudo systemctl start zammad-web
sudo systemctl start zammad-worker
sudo systemctl start zammad-websocket
Confirme el estado del servicio usando este comando:
sudo systemctl status zammad
sudo systemctl status zammad-web
sudo systemctl status zammad-worker
sudo systemctl status zammad-websocket
Paso 6:Configuración del acceso web
El último servicio de zammad usa nginx para enviar tráfico proxy a los servicios. Si necesita configurar fqdn (acceso de dominio) como zammad.citizix.com
deberá actualizar la configuración de nginx.
Abra la configuración de nginx con su editor predeterminado
sudo vim /etc/nginx/sites-enabled/zammad.conf
Luego actualice esta línea a su fqdn.
server_name localhost;
Así es como se vería con zammad.citizix.com
server_name zammad.citizix.com;
Navegar dominio (zammad.citizix.com
) y debería poder utilizar el sistema.
Si necesita proteger su sitio con ssl, consulte Cómo proteger Nginx con Letsencrypt en Ubuntu 20.04.