Installation

To install Znuny or Znuny LTS you need:

  • A database of your choice (MySQL,MariaDB,Postgresql)

  • A webserver (Apache)

  • Some additional perl modules, depending on the distribution you are using

Note

This manual is based on the assumption that you are installing on a fresh and empty system and want to use MariaDB/MySQL.

Basics

Some basic packages are needed to get going. This includes the weberserver, database (mariadb in this case), cpanminus to install additional perl modules and TAR to extract the source.

CentOS / RedHat

dnf install -y epel-release httpd mariadb mariadb-server cpanminus gcc dnf-plugins-core
yum config-manager --set-enabled powertools

Ubuntu / Debian

apt update
apt install -y apache2  mariadb-client mariadb-server cpanminus

Install RPM

The installation via RPM

# Znuny LTS (modify version to latest see: https://download.znuny.org/releases/RPMS/rhel/7/)
yum install -y https://download.znuny.org/releases/RPMS/rhel/7/znuny-6.0.35-01.noarch.rpm

# Znuny 6.1
yum install -y https://download.znuny.org/releases/RPMS/rhel/7/znuny-6.1.1-01.noarch.rpm

Install Source

The installation from source takes some more steps:

# Download Znuny
cd /opt
wget https://download.znuny.org/releases/znuny-latest-6.0.tar.gz

# Extract
tar xfz znuny-latest-6.0.tar.gz

# Create a symlink
sudo ln -s /opt/znuny-6.0.35 /opt/otrs

# Add user
useradd -d /opt/otrs -c 'Znuny user' -g www-data -s /bin/bash -M -N otrs

# Copy Default Config
cp /opt/otrs/Kernel/Config.pm.dist /opt/otrs/Kernel/Config.pm

# Set permissions
/opt/otrs/bin/otrs.SetPermissions.pl


# As otrs User - Rename default cronjobs
su - otrs
cd /opt/otrs/var/cron
for foo in *.dist; do cp $foo `basename $foo .dist`; done

Needed Perl modules

Based on your distribution there are several different was to install the needed modules.

CentOS / RedHat

Some of the needed Perl Modules are installed, when installing the RPM. You just need to complete the missing ones.

yum install -y "perl(Moo)"  "perl(Text::CSV_XS)" "perl(YAML::XS)" "perl(ModPerl::Util)" "perl(Mail::IMAPClient)" "perl(JSON::XS)" "perl(Encode::HanExtra)" "perl(Crypt::Eksblowfish::Bcrypt)"

cpanm JavaScript::Minifier::XS CSS::Minifier::XS

yum remove -y gcc

Ubuntu / Debian

apt -y install 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

Database-Config

MySQL / Maria DB needs some config modifications. If you are using postgresql you can skip this step:

Create a new file for the mysql config:

CentOS / RedHat

/etc/my.cnf.d/znuny_config.cnf

Ubuntu / Debian

/etc/mysql/mariadb.conf.d/50-znuny_config.cnf
[client]
max_allowed_packet=256M

[mysqld]
innodb_file_per_table
innodb_log_file_size = 256M
max_allowed_packet=256M

Restart the MariaDB database to apply the changes

systemctl start mariadb

Webserver-Config

CentOS / RedHat

The Apache config is already in place if you used the RPM install.

Enable MPM prefork module:

sed -i '/^LoadModule mpm_event_module modules\/mod_mpm_event.so/s/^/#/' /etc/httpd/conf.modules.d/00-mpm.conf
sed -i '/^#LoadModule mpm_prefork_module modules\/mod_mpm_prefork.so/s/^#//' /etc/httpd/conf.modules.d/00-mpm.conf

Ubuntu / Debian

To enable the Znuny Apache config you need to create a symlink to our sample config.

ln -s /opt/otrs/scripts/apache2-httpd.include.conf /etc/apache2/conf-available/zzz_znuny.conf

Enable the needed Apache-modules:

a2enmod perl headers deflate filter cgi
a2dismod mpm_event
a2enmod mpm_prefork
a2enconf zzz_znuny

Start / Restart the webserver to apply the changes.

CentOS / RedHat

systemctl restart httpd

Ubuntu / Debian

systemctl restart apache2

You should be able to access the installer script using:

http://HOSTNAME/otrs/installer.pl

Final Steps

You should enable the webserver and the database to get started on boot.

CentOS / RedHat

systemctl enable mariadb httpd

Ubuntu / Debian

systemctl enable mariadb apache2

** Enable Cronjobs **

Switch to the OTRS user using

su - otrs
bin/Cron.sh start