Upgrade the Evergreen code

The following steps guide you through a simplistic upgrade of a production server. You must adjust these steps to accommodate your customizations such as catalogue skins.

  1. Stop Evergreen and back up your data:

    1. As root, stop the Apache web server.
    2. As the opensrf user, stop all Evergreen and OpenSRF services:

      osrf_ctl.sh -l -a stop_all
    3. Back up the /openils directory.
  2. Upgrade OpenSRF. Download and install the latest version of OpenSRF from the OpenSRF download page.
  3. As the opensrf user, download and extract Evergreen 2.2:

    wget http://evergreen-ils.org/downloads/Evergreen-ILS-2.2.5.tar.gz
    tar xzf Evergreen-ILS-2.2.5.tar.gz

    Note

    For the latest edition of Evergreen, check the Evergreen download page and adjust upgrading instructions accordingly.

  4. As the root user, install the prerequisites:

    cd /home/opensrf/Evergreen-ILS-2.2.5

    On the next command, replace [distribution] with one of these values for your distribution of Debian or Ubuntu:

    • debian-squeeze for Debian Squeeze (6.0)
    • ubuntu-lucid for Ubuntu Lucid Lynx (10.04)
    • ubuntu-precise for Ubuntu Precise Pangolin (12.04)

      make -f Open-ILS/src/extras/Makefile.install [distribution]
  5. As the opensrf user, configure and compile Evergreen:

    cd /home/opensrf/Evergreen-ILS-2.2.5
    ./configure --prefix=/openils --sysconfdir=/openils/conf
    make
  6. As the root user, install Evergreen:

    cd /home/opensrf/Evergreen-ILS-2.2.5
    make STAFF_CLIENT_STAMP_ID=rel_2_2_5 install
  7. As the root user, change all files to be owned by the opensrf user and group:

    chown -R opensrf:opensrf /openils
  8. As the opensrf user, update the configuration files:

    cd /home/opensrf/Evergreen-ILS-2.2.5
    
    perl Open-ILS/src/support-scripts/eg_db_config.pl \
    --create-offline --user evergreen --password evergreen \
    --hostname localhost --port 5432 --database evergreen
  9. As the opensrf user, update the server symlink in /openils/var/web/xul/:

    cd /openils/var/web/xul/
    rm server
    ln -s rel_2_2_5/server
  10. As the opensrf user, update opensrf_core.xml and opensrf.xml by copying the new example files (/openils/conf/opensrf_core.xml.example and /openils/conf/opensrf.xml).

    cp /openils/conf/opensrf_core.xml.example /openils/conf/opensrf_core.xml
    cp /openils/conf/opensrf.xml.example /openils/conf/opensrf.xml

    Caution

    Copying these configuration files will remove any customizations you have made to them. Remember to redo your customizations after copying them.

  11. Update Apache files:

    Caution

    Copying these Apache configuration files will remove any customizations you have made to them. Remember to redo your customizations after copying them. For example, if you purchased an SSL certificate, you will need to edit eg.conf to point to the appropriate SSL certificate files.

    1. Update /etc/apache2/startup.pl by copying the example from Open-ILS/examples/apache/startup.pl.
    2. Update /etc/apache2/eg_vhost.conf by copying the example from Open-ILS/examples/apache/eg_vhost.conf.
    3. Update /etc/apache2/sites-available/eg.conf by copying the example from Open-ILS/ examples/apache/eg.conf.
  12. Update opensrf.xml with the database connection info:

    As the opensrf user, if you are happy with the default settings in opensrf.xml.example, then:

    cp -b /openils/conf/opensrf.xml.example /openils/conf/opensrf.xml
    cd /home/opensrf/Evergreen-ILS-2.2.5
    perl Open-ILS/src/support-scripts/eg_db_config.pl --update-config --service all \
    --database evergreen --host localhost --user evergreen --password evergreen

    Otherwise, compare /openils/conf/opensrf.xml with /openils/conf/opensrf.xml.example and manually copy the new pieces into place in your existing opensrf.xml file