# --
# UPGRADING - upgrading OTRS
# Copyright (C) 2001-2011 OTRS AG, http://otrs.org/
# --
# $Id: UPGRADING,v 1.37.2.1 2011/10/24 08:51:29 mg Exp $
# --
# This software comes with ABSOLUTELY NO WARRANTY. For details, see
# the enclosed file COPYING for license information (AGPL). If you
# did not receive this file, see http://www.gnu.org/licenses/agpl.txt.
# --

These instructions are for people upgrading OTRS from "2.3" to "2.4".

If you are running a lower version of OTRS you need to follow the upgrade path
to 2.4 first (1.1->1.2->1.3->2.0->2.1->2.2->2.3->2.4 ...).


1) Stop all your services
   ----------------------

    e. g. (depends on used services):
    shell> /etc/init.d/cron stop
    shell> /etc/init.d/postfix stop
    shell> /etc/init.d/apache stop
    shell> /etc/init.d/mysql stop


2) Backup everything below $OTRS_HOME (default: OTRS_HOME=/opt/otrs)
   -----------------------------------------------------------------

    o Kernel/Config.pm
    o Kernel/Config/GenericAgent.pm
    o Kernel/Config/Files/ZZZAuto.pm
    o var/*
    o as well as the database


3) Make sure that you have backed up everything ;-)
   ------------------------------------------------

4) Setup new system
   ----------------

   If possible try this install on a separate machine, although
   I had always only production machines to upgrade


5) Install the new release (tar or RPM)
   ------------------------------------

   With the tarball:

    shell> cd /opt
    shell> tar -xzf otrs-x.x.x.tar.gz
    shell> ln -s otrs-x.x.x otrs

    Restore old config files.
    o Kernel/Config.pm
    o Kernel/Config/GenericAgent.pm
    o Kernel/Config/Files/ZZZAuto.pm


   With the RPM:

    shell> rpm -Uvh otrs-x.x.x.-01.rpm

    Restore old config files not needed, done by RPM.

6) Own themes:
   -----------

   The OTRS themes from 2.3 and 2.4 are _not_ compatible (don't use the old themes)!

   Themes are located under $OTRS_HOME/Kernel/Output/HTML/*/*.dtl (default: OTRS_HOME=/opt/otrs)


7) If the tarball is used, execute:
   --------------------------------

     shell> bin/SetPermissions.pl!


8) Update the database changes with (part 1/2):
   --------------------------------------------

     shell> cd /opt/otrs/

    MySQL:
     shell> cat scripts/DBUpdate-to-2.4.mysql.sql | mysql -p -f -u root otrs
    PostgreSQL:
     shell> cat scripts/DBUpdate-to-2.4.postgresql.sql | psql otrs


9) Run the migration script (as OTRS user, _not_ as root):
   -------------------------------------------------------

   You must execute the migration script to migrate some data from the old database
   structure to the new one. Please run

     shell> scripts/DBUpdate-to-2.4.pl


10) Update the database changes with (part 2/2):
    --------------------------------------------

    MySQL:
     shell> cat scripts/DBUpdate-to-2.4-post.mysql.sql | mysql -p -f -u root otrs
    PostgreSQL:
     shell> cat scripts/DBUpdate-to-2.4-post.postgresql.sql | psql otrs


11) Restart your services
    ---------------------

    e. g. (depends on used services):
    shell> /etc/init.d/mysql start
    shell> /etc/init.d/apache start
    shell> /etc/init.d/postfix start
    shell> /etc/init.d/cron start


12) Check installed packages
    ------------------------
    In the package manager, check if all packages are still marked as
    correctly installed or if any require reinstallation or even a package upgrade.


13) Well done!
    ----------
    Log in as 'root@localhost' and select Admin -> SysConfig to make
    sure that OTRS updates the configuration files.
