Nicholas Barnes's picture

I have installed https://www.turnkeylinux.org/otrs in our test environment and am having a play with it.

OTRS seems to be version "6.0.x git LTS", but I can't find any information about when/how/if it is ever updated., or even which subversion is currently installed.

The page at https://www.znuny.org/en/roadmap indicates that 6.0.x will reach end of life when 6.5 is released (was originally expected 2022-12-31, so probably now imminent).

So... Do I:

  • Install Turnkey/OTRS in our live environment and start using it in the hope that it will upgrade to 6.4 or 6.5?
  • Install Turnkey/OTRS in our live environment and accept that it will go out of date?
  • Install Turnkey/Core and manually install OTRS/Znuny?
  • If it won't install on Turnkey/Core, don't use Turnkey for it at all?

Cheers,

Nicholas.

 

Forum: 
Jeremy Davis's picture

Hi Nicholas, welcome to TurnKey and thanks for your post.

So first up, we install OTRS (FWIW actually as of v17.x it's now Znuny - an OTRS fork - more on that below) from the official Debian repos. That has served us well over many years and has had backported security support provided by the Debian security team. But a couple of years ago, OTRS AG (i.e. the company, not the software) changed tack and moved to a proprietary license for future OTRS releases. They rebranded the open source release to "((OTRS)) Community Edition" and discontinued support and maintenance. The open source project was picked up by a third party (although I don't know the context of that arrangement). During that time OTRS AG cracked down on anyone using the "OTRS" name. That is why we had to change the "official" name of the appliance to "((OTRS)) Community Edition".

I had planned to simply rebrand the appliance as Znuny and continue on. FYI the Debian "otrs" package in TurnKey v17.x is actually Znuny. However, your post has prompted me to have a closer (more current) look at where things are at. And it appears now that the otrs package has been removed from Debian development releases! So thank you so much for your post. It would have become apparent soon anyway, but you've prompted me to discover this info sooner, which I am deeply appreciative of.

So moving forward that leaves us with a choice; either we install the "((OTRS)) Community Edition" from source (whilst we are actually using Znuny ATM, Znuny v6.0 is still very closely based on original OTRS v6.0). Or we follow Znuny and install that from source. There are a few other forks too, but none of them seem to have the traction that these 2 do. Either way, the file paths will radically change (software installed from source will be located differently within the filesystem than source install). Personally. I'm leaning toward Znuny as it was the first fork (AFAIK) and development appears to have been quite active, with fairly consistent, plus it seems to have a solid community behind it. "((OTRS)) Community Edition" does appear to be under continued development, but it's pool of contributors seems smaller and it doesn't seem to have as active a community around it.

Now I've given you the backstory, my advice on your options are as follows:

Install Turnkey/OTRS in our live environment and start using it in the hope that it will upgrade to 6.4 or 6.5?

I would not recommend this option. We will release an updated appliance (probably with Znuny), but I'm not sure when that will happen. And whilst I'll be more than happy to assist any users migrate, I anticipate that it will require manual steps on your end. I would hope that would be relatively straight forward, but I can't offer any guarantees at this point.

Install Turnkey/OTRS in our live environment and accept that it will go out of date?

This could be an option and really does depend on your use case. If you plan to use it in house (without public access - or read only public access at most) and the risk of a rouge, malicious user is low then perhaps this is acceptable to you? Personally it's not a path I would recommend, but I won't say "don't do it". Under a very specific set of circumstance, it could be a viable option.

Install Turnkey/Core and manually install OTRS/Znuny?

This would obviously be more involved, but is a path that I could actively recommend. Although I would suggest our LAMP appliance as a better base than Core. That's essentially what we'll do when we get to it. l would also be more than happy to assist you (or anyone else) if you hit any issues going that track.

Whilst as I mentioned above, there are options, I'm leaning towards Znuny. Their install docs look pretty straight forward. My guess is that installation on LAMP would be fairly easy. Although the devil is always in the detail...

If it won't install on Turnkey/Core, don't use Turnkey for it at all?

We're the first to admit that TurnKey doesn't always provide the best solution to every problem. There's many problems that we don't even provide any solution for at all. But under the hood, TurnKey Linux is a mildly tweaked Debian OS (v17.x is based on Debian 11/Bullseye). So anything that is install-able on Debian should be install-able on TurnKey. There are a few specific config tweaks we make and some custom "helper" software and tools, but they're generally very mild modifications to Debian usually quite sane defaults (and our software adds options and functionality, rather than replacing it). Mostly being config changes, rather than deep OS differences, customized config can be "untweaked"/re-tweaked if/when necessary.

It's perhaps also worth noting, that Ubuntu is also based on Debian. That means that often, anything install-able on Ubuntu will also install on TurnKey. You do need to be a little cautious though. Ubuntu and Debian are not binary compatible (TurnKey and Debian are). That means that adding apt source repositories and/or installing precompiled software intended for Ubuntu on TurnKey (or Debian) can be dangerous. Often the risk will not be immediately obvious and things may well work ok initially. But it is usually only a matter of time before it bites you. The exception to that rule is if a software provider explicitly states that the Ubuntu software is also suitable for Debian.

So bottom line is that anything you can do on Debian, and almost anything you can do on Ubuntu, should be possible (if not identical) on TurnKey.

If you have further questions, please do not hesitate to ask.

Jeremy Davis's picture

I've noticed in your other thread that you've already gone the "Znuny on Core" route. I'd be interested in how the install went and any feedback you have regarding the install and usage of newer Znuny.

I also wanted to report back, that I've opened an issue to track this.

Nicholas Barnes's picture

As I mentioned in the other post, I had an issue installing our preferred web hosting applicance, ISPConfig on Turnkey/LAMP (to be fair, it wouldn't install on Turnkey/Core either) and so decided to use Turnkey/Core to lab up an install of Znuny.

Installation was a breeze.

I wanted to see how easy it was to go from 6.0.xLTS all the way up to the latest version (currently 6.4), so I started with https://doc.znuny.org/manual/releases/installupdate/install.html and then followed the update instructions. The only problems I found were:

  1. Some of the version numbers needed tweaking in the instructions (e.g. script referred to '6.4.x' when the actual extracted path was '6.4.y')
  2. It took me a while to work out what the Debian packages were called for the Perl libraries required.

Once I'd done all that, the resulting 6.4 worked perfectly (as far as I can tell).

Then I tried a backup and a restore to a fresh Turnkey/Core and that's when I hit the backup problem with mysqladmin. Once I'd sorted that, a restore to a fresh install worked perfectly.

I'm now about to install 6.4 directly on Turnkey/LAMP and see what happens. I'll try to document the entire installation for your information (and so I can simply cut and paste to do the same installation in live if it all works!)...

Nicholas.

 

Nicholas Barnes's picture

I've just remembered... when I did the restore to a fresh Turnkey/Core, Apache refused to start because the module 'mpm_event' was enabled which it certainly wasn't on the machine that was backed up.

Jeremy Davis's picture

Hmm, that sounds strange! I wonder how/why that happened?

Thanks for highlighting it though. I wonder if there was some conflict between default Apache config and what we provide? We do tweak Apache conf in our LAMP (and LAMP based) appliance(s) but if you installed Apache on Core, then you would have got Debian defaults (generally pretty sane, but we do tighten a few things)/

Nicholas Barnes's picture

I've just done a successful installation of Znuny 6.4 on Turnkey/LAMP and I've written the steps up as a cut-and-pastable script.

 

Machine

  • proxmox CT
  • debian-11-turnkey-lamp_17.1-1
  • 2GB RAM / 8GB HDD / 1GB Swap / 2 cores

Pre-installation steps

  • Add password for adminer
  • Add API key
  • Skip hostname
  • Add e-mail
  • Install updates
  • Set keyboard -> ERROR - didn't give me the menu to select keyboard.
    • dpkg-reconfigure keyboard-configuration doesn't work!
    • Manually edited /etc/default/keyboard
  • Generate locale -> en_GB.UTF8 (and set as default)
  • Set timezone -> Europe/London
  • Disable confconsole auto
  • Install MySQL perf & info schemas
  • Enable alternate secupdate
  • apt update && apt upgrade
    • set postfix to no configuration
    • keep local version of /etc/ssh/sshd_config
  • reboot
  • tklbam-backup
  • Take proxmox snapshot

Installation starts here

# Clear out /opt - should be empty anyway (if it even exists)
rm -rf /opt

# Then create it and move to it
mkdir /opt
cd /opt

# Get the latest 6.4 release, unpack it and link it to /opt/otrs
wget https://download.znuny.org/releases/znuny-latest-6.4.tar.gz
tar xfz znuny-latest-6.4.tar.gz
ln -s /opt/znuny-6.4* /opt/otrs
rm znuny-latest-6.4.tar.gz

# Create Znuny user, copy configuration, set permissions and enable cron jobs
useradd -d /opt/otrs -c 'Znuny user' -g www-data -s /bin/bash -M -N otrs
cp /opt/otrs/Kernel/Config.pm.dist /opt/otrs/Kernel/Config.pm
/opt/otrs/bin/otrs.SetPermissions.pl
su - -c 'cd /opt/otrs/var/cron ; for foo in *.dist; do cp $foo `basename $foo .dist`; done' otrs

# Install everything we need (and some things we don't, but they're there just in case.
apt -y install cpanminus 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 libspreadsheet-xlsx-perl libical-parser-perl libhash-merge-perl libcrypt-openssl-x509-perl libcrypt-jwt-perl libdbd-odbc-perl libdbd-pg-perl make jq

# Jq isn't packaged in Debian, so we have to make it
cpanm Jq

# Check we've got all the Perl modules installed that we need.
# There should only be one "Not installed!" - the Oracle db connector
/opt/otrs/bin/otrs.CheckModules.pl --all

# Configure MySQL/MariaDB
cat > /etc/mysql/mariadb.conf.d/50-znuny_config.cnf << EOF
[client]
# Folling line commented out as mysqladmin objects to it being there.
# Which means tklbam-backup fails to backup the database.
# max_allowed_packet=256M

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

#Database collation needs to be UTF8
sed -i 's/utf8mb4/utf8/g' /etc/mysql/mariadb.conf.d/50-server.cnf
sed -i 's/utf8mb4/utf8/g' /etc/mysql/conf.d/force_utf8mb4.cnf

# And then start the database.
systemctl restart mysqld

# Now the Apache stuff.
ln -s /opt/otrs/scripts/apache2-httpd.include.conf /etc/apache2/conf-available/zzz_znuny.conf
a2enmod perl headers deflate filter cgi
a2dismod mpm_event
a2enmod mpm_prefork
a2enconf zzz_znuny

# Restart Apache
systemctl restart apache2

# Make sure Apache and MariaDB start on boot.
systemctl enable mysqld apache2

#In a browser, visit: http://IPADDRESS/otrs/installer.pl and follow the installation process, using 'adminer' as the database user.

# When the installer is complete, start the cron jobs and start the daemon.
su - -c 'bin/Cron.sh start' otrs
su - -c 'bin/otrs.Daemon.pl start' otrs

# You can then visit http://IPADDRESS/otrs/. And use Znuny.

# Done!
Jeremy Davis's picture

That's brilliant, thanks Nicholas! I'll look to update our OTRS/Znuny appliance to install a newer Znuny version as per the process that you've laid out here. No promises on time frame, but soon hopefully.

Roy Kaldung's picture

Hi Jeremy,   You can contact me/us if you have any questions regarding a Znuny appliance.    Greetings, Roy
Jeremy Davis's picture

Hi Roy.

How lovely of you to drop with with such a kind offer. :)

I'm not sure how much you know about us and what we're up to here at TurnKey, but we are planning to update our current OTRS appliance to be a Znuny appliance. Technically it is already running Znuny v6.0.x via the package from the official Debian 11/Bullseye apt package repositories.

However, I see that that package has now been removed from Debian Sid and Bookworm (i.e. unstable and testing), so I assume that's the end of that. My inclination is to just replace the Debian package with an install as you outline on your install docs and with reference to Nicholas' notes above.

As our current release has v6.0 I'm inclined to stick with that. Although I notice that is close to EOL (if not already). We tend to prefer LTS versions where available (we're based on Debian so that usually works best with standard Debian components). Considering that anyone using our current appliance will need to upgrade, what version would you recommend installing?

Add new comment