Cómo instalar Zammad Ticketing System en Ubuntu 22.04

Zammad es una solución de soporte/ticketing gratuita, de código abierto y basada en web que se utiliza para gestionar la comunicación con los clientes. Puedes conectarte a través de varios canales, como correo electrónico, chat, teléfono, Twitter o Facebook. Está escrito en lenguaje de programación JavaScript y Ruby. Es compatible con la API REST, que te ayuda a vincular otros programas fácilmente y a obtener información en tiempo real sobre todos tus canales y operaciones. Zammad ofrece funciones muy útiles, como integración con LDAP, registro de tiempo, integración con Slack, SSO, multilingüismo y mucho más.

En este post, te mostraremos cómo instalar el sistema de tickets Zammad en un servidor Ubuntu 22.04.

Requisitos

  • Un servidor que ejecute Ubuntu 22.04.
  • Una contraseña de root configurada en tu servidor.

Actualizar el sistema

En primer lugar, tendrás que actualizar y actualizar todos los paquetes del sistema a la última versión. Puedes actualizarlos todos ejecutando el siguiente comando.

apt update -y 
apt upgrade -y

Una vez actualizados todos los paquetes del sistema, puedes pasar al siguiente paso.

Instalar Java JDK

En primer lugar, tendrás que instalar Java OpenJDK en tu servidor. Puedes instalarlo con el siguiente comando.

apt install openjdk-17-jdk -y

Una vez instalado Java, puedes verificar la versión de Java con el siguiente comando.

java -version

Deberías ver la versión de Java en la siguiente salida.

openjdk version "17.0.5" 2022-10-18
OpenJDK Runtime Environment (build 17.0.5+8-Ubuntu-2ubuntu122.04)
OpenJDK 64-Bit Server VM (build 17.0.5+8-Ubuntu-2ubuntu122.04, mixed mode, sharing)

Una vez instalado Java, puedes proceder a instalar ElasticSearch.

Instalar ElasticSearch

Zammad utiliza ElasticSearch para proporcionar la funcionalidad de búsqueda. Por tanto, necesitarás instalar ElasticSearch en tu servidor. Por defecto, el paquete ElasticSearch no está incluido en el repositorio por defecto de Ubuntu. Así que tendrás que añadir el repositorio de ElasticSearch a tu servidor.

En primer lugar, instala las dependencias necesarias utilizando el siguiente comando.

apt install gnupg2 curl -y

A continuación, añade la clave GPG de ElasticSearch y el repositorio a APT con el siguiente comando.

curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | gpg --dearmor -o /usr/share/keyrings/elastic.gpg
echo "deb [signed-by=/usr/share/keyrings/elastic.gpg] https://artifacts.elastic.co/packages/7.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-7.x.list

A continuación, actualiza la caché del repositorio con el siguiente comando.

apt update -y

Por último, instala el paquete ElasticSearch utilizando el siguiente comando.

apt install elasticsearch -y

Una vez instalado ElasticSearch, inicia y habilita el servicio ElasticSearch con el siguiente comando.

systemctl enable elasticsearch.service
systemctl start elasticsearch.service

Ahora puedes verificar el ElasticSearch con el siguiente comando.

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

Si todo va bien, obtendrás la siguiente salida.

{
  "name" : "ubuntu2204",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "V4bBWciDSSWmI-QcwvJdGA",
  "version" : {
    "number" : "7.17.8",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "120eabe1c8a0cb2ae87cffc109a5b65d213e9df1",
    "build_date" : "2022-12-02T17:33:09.727072865Z",
    "build_snapshot" : false,
    "lucene_version" : "8.11.1",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

También necesitarás instalar el plugin ingest-attachment. Puedes instalarlo con el siguiente comando.

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

Obtendrás 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 https://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

A continuación, reinicia el servicio ElasticSearch para aplicar los cambios.

systemctl restart elasticsearch

Una vez que hayas terminado, puedes proceder a instalar el Apache y otras dependencias.

Instalar Apache y otras dependencias

En primer lugar, instala el paquete del servidor web Apache utilizando el siguiente comando.

apt install apache2 -y

A continuación, también tendrás que instalar libssl en tu servidor. Primero, añade el repositorio de seguridad Focal con el siguiente comando.

echo "deb http://security.ubuntu.com/ubuntu focal-security main" | tee /etc/apt/sources.list.d/focal-security.list

A continuación, actualiza el repositorio e instala el paquete libssl con el siguiente comando.

apt update -y
apt install libssl1.1

Una vez que hayas terminado, puedes proceder a instalar el Zammad en el paso.

Instalar el sistema de tickets Zammad

Por defecto, el paquete Zammad no está incluido en el repositorio de Ubuntu. Así que tendrás que añadir el repositorio de Zammad a tu servidor.

Primero, añade la clave GPG de Zammad con el siguiente comando.

curl -fsSL https://dl.packager.io/srv/zammad/zammad/key | gpg --dearmor | tee /etc/apt/trusted.gpg.d/pkgr-zammad.gpg> /dev/null

A continuación, añade el repositorio de Zammad a APT con el siguiente comando.

echo "deb [signed-by=/etc/apt/trusted.gpg.d/pkgr-zammad.gpg] https://dl.packager.io/srv/deb/zammad/zammad/stable/ubuntu 22.04 main"| tee /etc/apt/sources.list.d/zammad.list

A continuación, actualiza la caché del repositorio con el siguiente comando.

apt update -y

Ahora, instala el paquete Zammad con el siguiente comando.

apt install zammad -y

Una vez instalado Zammad, puedes pasar al siguiente paso.

Configurar Apache para Zammad

Zammad crea automáticamente un archivo de configuración de Apache en el directorio de configuración de Apache. Sin embargo, tendrás que editar el archivo de configuración de Zammad y modificarlo según tus necesidades.

nano /etc/apache2/sites-available/zammad.conf

Cambia las siguientes líneas.

#ServerTokens Prod
    ServerName your-server-ip
    #RequestHeader unset X-Forwarded-User

Guarda y cierra el archivo y, a continuación, desactiva el archivo de configuración de Apache por defecto.

a2dissite 000-default.conf

A continuación, reinicia el servicio Apache para aplicar los cambios.

systemctl restart apache2

Ahora puedes comprobar el estado del Apache con el siguiente comando.

systemctl status apache2

Deberías obtener la siguiente salida.

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-12-30 02:49:21 UTC; 8s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 13887 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 13891 (apache2)
      Tasks: 55 (limit: 4579)
     Memory: 5.1M
        CPU: 53ms
     CGroup: /system.slice/apache2.service
             ??13891 /usr/sbin/apache2 -k start
             ??13892 /usr/sbin/apache2 -k start
             ??13893 /usr/sbin/apache2 -k start

Dec 30 02:49:21 ubuntu2204 systemd[1]: Starting The Apache HTTP Server...

Una vez que hayas terminado, puedes proceder a acceder a la interfaz web de Zammad.

Acceder al sistema de tickets de Zammad

Llegados a este punto, Zammad está instalado y configurado en tu servidor. Ahora puedes acceder a él utilizando la URL http://your-server-ip. Deberías ver la siguiente página.

Haz clic en Configurar un nuevo sistema. Deberías ver la página de configuración de la cuenta de administrador.

Introduce tu nombre, correo electrónico, contraseña y pulsa el botón Crear. Deberías ver la siguiente página.

Define el nombre de tu empresa, la URL del sitio y haz clic en el botón Siguiente. Deberías ver la página Notificación por correo electrónico.

Selecciona tu proveedor de correo electrónico y haz clic en el botón Continuar. Deberías ver la página del canal de comunicación.

Haz clic en el botón Omitir. Deberías ver el panel de control de Zammad en la página siguiente.

Conclusión

Enhorabuena! has instalado y configurado correctamente el sistema de tickets Zammad en el servidor Ubuntu 22.04. Ahora puedes implementar Zammad en tu organización y conectarlo a canales de terceros como Facebook y el teléfono. No dudes en preguntarme si tienes alguna duda.

Scroll al inicio