What is Znuny?

Znuny is an open-source ticketing and IT service management system, originally forked from the community edition of OTRS (Open Ticket Request System). After OTRS AG discontinued its support for the free Community Edition in December 2020, Znuny was created to continue its legacy under the GPLv3 license.

Znuny aims to provide a stable, secure, and actively maintained platform for help desks, IT service management (ITSM), and customer support teams. It retains full compatibility with legacy OTRS features while introducing ongoing improvements, long-term support (LTS), and security updates.

With its modular architecture, RESTful API support, and a rich ecosystem of add-ons, Znuny is a powerful solution for organizations looking to implement open-source ITIL-compliant service desks or customer support systems.

The current version at the time of writing is Znuny 7.1.7, released in April 2025, which includes several performance and security fixes.

For more information, visit the official website: znuny.org

Full Znuny 7.1 Installation Guide on Ubuntu 22.04/24.04

Tested with: Ubuntu Server 22.04 & 24.04
Database: MariaDB
Web server: Apache2
Target: Fresh server installation


1. Install Required Packages

sudo apt update && sudo apt upgrade -y

sudo apt install -y apache2 mariadb-server mariadb-client \
  libapache2-mod-perl2 libdbd-mysql-perl libtimedate-perl libnet-dns-perl \
  libnet-ldap-perl libio-socket-ssl-perl libpdf-api2-perl libsoap-lite-perl \
  libtext-csv-xs-perl libjson-xs-perl libapache-dbi-perl libxml-libxml-perl \
  libxml-libxslt-perl libyaml-perl libarchive-zip-perl libcrypt-eksblowfish-perl \
  libencode-hanextra-perl libmail-imapclient-perl libtemplate-perl libdatetime-perl \
  libmoo-perl bash-completion libyaml-libyaml-perl libjavascript-minifier-xs-perl \
  libcss-minifier-xs-perl libauthen-sasl-perl libauthen-ntlm-perl \
  libhash-merge-perl libical-parser-perl libspreadsheet-xlsx-perl \
  libdata-uuid-perl tar wget curl unzip perl

2. Download and Extract Znuny

cd /opt
wget https://download.znuny.org/releases/znuny-latest-7.1.tar.gz
tar xfz znuny-latest-7.1.tar.gz
ln -s /opt/znuny-7.1.* /opt/znuny

3. Create System User for Znuny

sudo useradd -d /opt/znuny -c 'Znuny user' -g www-data -s /bin/bash -M -N znuny

4. Configure Znuny Base

cp /opt/znuny/Kernel/Config.pm.dist /opt/znuny/Kernel/Config.pm

5. Set Permissions

/opt/znuny/bin/znuny.SetPermissions.pl --znuny-user=znuny --web-group=www-data

6. Setup Cronjobs

sudo su - znuny
cd /opt/znuny/var/cron
for f in *.dist; do cp "$f" "${f%.dist}"; done
exit

7. Configure MariaDB

Create file with root user:

sudo vi /etc/mysql/mariadb.conf.d/50-znuny_config.cnf

Paste:

[mysql]
max_allowed_packet=256M

[mysqldump]
max_allowed_packet=256M

[mysqld]
innodb_log_file_size = 256M
max_allowed_packet=256M

Restart database:

sudo systemctl restart mariadb

8. Set MySQL Root Password

If not already set:

sudo mysql

Inside MariaDB:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'StrongPassword123!';
FLUSH PRIVILEGES;
EXIT;

9. Configure Apache

sudo ln -s /opt/znuny/scripts/apache2-httpd.include.conf /etc/apache2/conf-available/znuny.conf
sudo a2dismod mpm_event
sudo a2enmod mpm_prefork headers filter perl
sudo a2enconf znuny
sudo systemctl restart apache2

10. Launch Web Installer

Visit:

http://<YOUR-SERVER-IP>/znuny/installer.pl

During installation, choose "Create a new database for Znuny" and enter:

Field Value
DB Host localhost
DB User root
DB Password StrongPassword123!
DB Name znuny (or your choice)

Follow steps 1 → 4 in the wizard.


11. Enable Services on Boot

sudo systemctl enable apache2 mariadb

12. Start Znuny Daemon

sudo -u znuny /opt/znuny/bin/znuny.Daemon.pl start
sudo cp /opt/znuny/var/cron/znuny_daemon.dist /opt/znuny/var/cron/znuny_daemon
sudo su - znuny -c '/opt/znuny/bin/Cron.sh start'

13. Check Daemon Status

sudo -u znuny /opt/znuny/bin/znuny.Daemon.pl status

You should see:

Daemon is running

14. Log File (Optional)

Once daemon runs and activity occurs, check logs:

tail -f /opt/znuny/var/log/znuny.log

15. Configure Email (Optional)

From Admin Panel:

  • Navigate to: Admin → Communication & Notifications → Email Addresses
  • Add your SMTP/IMAP settings
  • For Gmail SMTP, enable App Passwords (do not use your regular Gmail password)