Update to 7.0#
Note
We highly recommend to update on a test instance first.
This documentation explains how to update to the Znuny 7.0 release.
Please note that your current system needs to be a
Znuny LTS 6.5.x
to perform the update. We do not support direct updates from any version before Znuny LTS 6.5.
IMPORTANT: The base settings have been changed to reflect the new product name. This means, that you may either switch to the new user znuny and new base dir /opt/znuny, or keep your old settings. If you decide to change, you’ll need to create the new user, and modify your Config.pm settings before continuing. This upgrading instruction now uses <HOME_DIR> and <APP_USER>.
Preparations#
Before the update can started we need to perform some tasks to prepare the update.
Check if every add-on your are using is available for version 7.0. You don’t have to care on packages which are already integrated, see the list of them in the release notes.
Create a backup of the database, the application and all data, especially the attachments.
# Stop the webserver
systemctl stop httpd # CentOS / RHEL
systemctl stop apache2 # Debian / Ubuntu
# Stop your local MTA, mostly Postfix, sometimes Exim or Sendmail
systemctl stop postfix
# Remove crontab, stop daemon
su -c 'bin/Cron.sh stop' - otrs
su -c 'bin/znuny.Daemon.pl stop' - otrs
Update via RPM#
The update via RPM.
You can find the correct URL for your RPM at https://www.znuny.org/releases.
# Update to Znuny 7.0 (RHEL 7 / CentOS 7)
yum update -y https://download.znuny.org/releases/RPMS/rhel/7/znuny-7.0.5-01.noarch.rpm
# Check for missing modules and add required modules
<HOME_DIR>/bin/znuny.CheckModules.pl --all
Update via source#
The installation from source takes some more steps. If there are more file to restore than mentioned in the restore block, add them by yourself.
# Download latest Znuny 7.0
cd /opt
wget https://download.znuny.org/releases/znuny-latest-7.0.tar.gz
# Extract
tar xfz znuny-latest-7.0.tar.gz
# Set permissions
# If you intend on keeping the previous user, then run this command.
# The new default user is znuny
/opt/znuny-7.0.5/bin/znuny.SetPermissions.pl --znuny-user <APP_USER>
# Restore Kernel/Config.pm, articles, etc.
cp -av <HOME_DIR>/Kernel/Config.pm /opt/znuny-7.0.5/Kernel/
mv <HOME_DIR>/var/article/* /opt/znuny-7.0.5/var/article/
# Restore dotfiles from the homedir to the new directory
for f in $(find -L /opt/znuny -maxdepth 1 -type f -name .\* -not -name \*.dist); do cp -av "$f" /opt/znuny-7.0.5/; done
# Restore modified and custom cron job
for f in $(find -L <HOME_DIR>/var/cron -maxdepth 1 -type f -name .\* -not -name \*.dist); do cp -av "$f" /opt/znuny-7.0.5/var/cron/; done
# Delete the old symlink
rm /opt/<HOME_DIR>
# Create a symlink
ln -s /opt/znuny-7.0.5 /opt/<HOME_DIR>
# Check for missing modules and add required modules
<HOME_DIR>/bin/znuny.CheckModules.pl --all
Execute the migration script#
su - <APP_USER>
scripts/MigrateToZnuny7_0.pl
Update installed packages#
Note
Packages for Znuny LTS (6.5.x) are not compatible with Znuny 7.0 and have to be updated.
su - <APP_USER>
bin/znuny.Console.pl Admin::Package::UpgradeAll
Restart everything#
# Fill the crontab and wait(!) at least 5 minutes that the Daemon is started via cron
su -c 'bin/Cron.sh start' - <APP_USER>
# Start the webserver
systemctl start httpd # CentOS / RHEL
systemctl start apache2 # Debian / Ubuntu
# Start your local MTA, mostly Postfix, sometimes Exim or Sendmail
systemctl start postfix