Aviso
Este artículo es antiguo y es posible que parte de la información esté desactualizada o ya no sea válida en la actualidad.
Si tienes cualquier duda o necesitas confirmar algún detalle, te recomendamos contactar con nuestro equipo de soporte para recibir información actualizada y asistencia personalizada.
Zammad es una solución de tickets gratuita, de código abierto y con todas las funciones escritas en Ruby. Es un sistema web con muchas funciones para administrar la comunicación con el cliente a través de varios canales como teléfono, Facebook, Twitter, chat y correos electrónicos.
También puede atender fácilmente las consultas y quejas de los clientes. Zammad viene con un amplio conjunto de características que incluyen búsqueda de texto completo, guardado automático, auditable, admite autenticación externa, admite varios idiomas y mucho más.
Requisitos previos
- Un servidor Ubuntu 20.04 LTS, de un mínimo de 2 vCore con 2 GB de memoria por vCore y para el uso de Elasticsearch (recomendado) un mínimo de 6 GB de memoria (requisitos de hardware oficiales).
- Acceso al servidor con root o un usuario con privilegios para realizar sudo.
Instalación de Elasticsearch (dependencia opcional pero recomendada)
Para la funcionalidad de búsqueda deberás instalar Elasticsearch. Por defecto, no está disponible en el repositorio predeterminado de Ubuntu 20.04 LTS. Por ello, deberás agregar el repositorio Elasticsearch en tu sistema.
Primero, instala apt-transport-https y el resto de dependencias con el siguiente comando:
# apt update -y && apt install wget libimlib2 apt-transport-https gnupg -yA continuación, descarga y agrega la clave pública para el repositorio de Elasticsearch:
# wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -Y posteriormente agrega el repositorio Elasticsearch:
# echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-7.x.listA continuación, actualiza los repositorios e instala Elasticsearch:
# apt update -y && apt install elasticsearch -yUna vez que se haya completado la instalación, inicia el servicio elasticsearch y activa el inicio con el sistema:
# systemctl start elasticsearch && systemctl enable elasticsearchAdicionalmente, puedes comprobar el estado de Elasticsearch con el siguiente comando:
# systemctl status elasticsearchDeberías ver el siguiente resultado (active):
● elasticsearch.service - Elasticsearch
Loaded: loaded (/lib/systemd/system/elasticsearch.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2021-08-04 10:46:17 CEST; 4s ago
Docs: https://www.elastic.co
Main PID: 3958 (java)
Tasks: 61 (limit: 1074)
Memory: 660.9M
CGroup: /system.slice/elasticsearch.service
├─3958 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headle>
└─4125 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller
Aug 04 10:45:38 zammad systemd[1]: Starting Elasticsearch...
Aug 04 10:46:17 zammad systemd[1]: Started Elasticsearch.
A continuación, también tienes que permitir que Elasticsearch indexe los archivos adjuntos. Puedes hacerlo con el siguiente comando:
# /usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-attachmentTendrás que aceptar el mensaje de instalación, y deberías ver el siguiente resultado:
-> Installing ingest-attachment
-> Downloading ingest-attachment from elastic
[=================================================] 100%
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: plugin requires additional permissions @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.lang.RuntimePermission accessClassInPackage.sun.java2d.cmm.kcms
* java.lang.RuntimePermission accessDeclaredMembers
* java.lang.RuntimePermission getClassLoader
* java.lang.reflect.ReflectPermission suppressAccessChecks
* java.security.SecurityPermission createAccessControlContext
See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.
Continue with installation? [y/N]y
-> Installed ingest-attachment
-> Please restart Elasticsearch to activate any plugins installed
Una vez instalado, reinicia Elasticsearch para cargar el nuevo complemento:
# systemctl restart elasticsearchInstalación de Zammad
Por defecto, Zammad tampoco está disponible en el repositorio Ubuntu 20.04 LTS. Por lo tanto, deberás agregar el repositorio de Zammad a tu sistema.
Primero, añade la llave para el repositorio:
# wget -qO- https://dl.packager.io/srv/zammad/zammad/key | apt-key add -Luego añade el repositorio:
# wget -O /etc/apt/sources.list.d/zammad.list \
https://dl.packager.io/srv/zammad/zammad/stable/installer/ubuntu/20.04.repoUna vez agregado el repositorio, actualiza los repositorios e instala Zammad:
# apt update -y && apt install zammad -yCompletada la instalación, puedes verificar el estado de Zammad con el siguiente comando:
# systemctl status zammadDeberías ver el siguiente resultado (active):
● zammad.service
Loaded: loaded (/etc/systemd/system/zammad.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2021-08-04 11:07:30 CEST; 39s ago
Main PID: 5371 (sleep)
Tasks: 1 (limit: 2281)
Memory: 176.0K
CGroup: /system.slice/zammad.service
└─5371 /bin/sleep infinity
Aug 04 11:07:30 zammad systemd[1]: Started zammad.service.
Conectar Zammad con Elasticsearch
Únicamente si has instalado Elasticsearch (recomendado) deberás hacer que Zammad funcione con él y reconstruir el índice. Para realizarlo, puedes ejecutar los siguientes comandos:
# zammad run rails r "Setting.set('es_url', 'http://localhost:9200')"
# zammad run rake searchindex:rebuildTambién puedes agregar el espacio de nombre de índice Elasticsearch adicional, ignorar los tipos de archivos binarios comunes y establecer el tamaño máximo de archivo adjunto. Ejecuta con los siguientes comandos para ello:
# zammad run rails r "Setting.set('es_index', Socket.gethostname + '_zammad')"
# zammad run rails r "Setting.set('es_attachment_ignore', [ '.png', '.jpg', '.jpeg', '.mpeg', '.mpg', '.mov','.bin', '.exe', '.box', '.mbox' ] )"
# zammad run rails r "Setting.set('es_attachment_max_size_in_mb', 50)"Configurar Nginx para Zammad
Por defecto, sólo se puede acceder a Zammad desde localhost. Por lo tanto, deberás configurar Nginx para acceder a Zammad desde una ubicación remota. Para ello, puedes editar el archivo de host virtual de Zammad:
# nano /etc/nginx/sites-available/zammad.confDeberás reemplazar el localhost de la línea server_name con el FQDN o la dirección IP de tu servidor:
server_name FQDN_or_your-server-ip;Guarda los cambios, cierra el editor y verifica la modificación realizada:
# nginx -tSi la configuración es correcta, recarga el servicio Nginx para aplicar los cambios realizados en la configuración:
# systemctl reload nginxSi has utilizado un FQDN puedes obtener un certificado con Let's Encrypt rápidamente con Certbot. Puedes instalar la dependencia de NGINX para Certbot directamente:
# apt install python3-certbot-nginxLuego podrás adquirir el certificado para el registro ejecutando:
# certbot --nginx -d ejemplo.comDeberás ir respondiendo a las preguntas de Certbot, puedes indicar la opción de redirect para redirigir el tráfico no seguro a seguro.
Acceder a la Interfaz Web de Zammad
Ahora abre tu navegador web y escribe la URL http: // FQDN or your-server-ip. Serás redirigido a la siguiente página:
Haz clic en el botón 'Configurar nuevo sistema', deberías ver la siguiente página:
Proporciona el nombre de administrador, correo electrónico, contraseña y haz clic en el botón 'Crear'. Serás redirigido a la siguiente página:
Proporciona el nombre de tu organización, la URL del sistema, carga el logotipo y haz clic en el botón 'Siguiente'.
Elige un método de envío de correo electrónico adecuado y haz clic en el botón ‘Continuar’.
Ahora haz clic en el botón 'Omitir' para finalizar la instalación. Deberías ver el dashboard del panel de Zammad:
¡Felicidades! Has instalado y configurado el sistema de ticketing Zammad en el servidor Ubuntu 20.04 LTS.
Ahora puedes implementar fácilmente Zammad para un entorno en producción.