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_control --localhost --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.6:

    wget http://evergreen-ils.org/downloads/Evergreen-ILS-2.6.1.tar.gz
    tar xzf Evergreen-ILS-2.6.1.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.6.1

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

    • debian-wheezy for Debian Wheezy (7.0)
    • debian-squeeze for Debian Squeeze (6.0)
    • ubuntu-precise for Ubuntu Precise Pangolin (12.04)
    • ubuntu-lucid for Ubuntu Lucid Lynx (10.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.6.1
    PATH=/openils/bin:$PATH ./configure --prefix=/openils --sysconfdir=/openils/conf
    make

    These instructions assume that you have also installed OpenSRF under /openils/. If not, please adjust PATH as needed so that the Evergreen configure script can find osrf_config.

  6. As the root user, install Evergreen:

    cd /home/opensrf/Evergreen-ILS-2.6.1
    make STAFF_CLIENT_STAMP_ID=rel_2_6_1 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 server symlink in /openils/var/web/xul/:

    cd /openils/var/web/xul/
    rm server
    ln -sf rel_2_6_1/server server
  9. 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). The -b option creates a backup copy of the old file.

    cp -b /openils/conf/opensrf_core.xml.example /openils/conf/opensrf_core.xml
    cp -b /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.

  10. As the opensrf user, update the configuration files:

    cd /home/opensrf/Evergreen-ILS-2.6.1
    perl Open-ILS/src/support-scripts/eg_db_config --update-config --service all \
    --create-offline --database evergreen --host localhost --user evergreen --password evergreen
  11. As the root user, update the 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/eg_startup by copying the example from Open-ILS/examples/apache/eg_startup.

      cp /home/opensrf/Evergreen-ILS-2.6.1/Open-ILS/examples/apache/eg_startup /etc/apache2/eg_startup
    2. Update /etc/apache2/eg_vhost.conf by copying the example from Open-ILS/examples/apache/eg_vhost.conf.

      cp /home/opensrf/Evergreen-ILS-2.6.1/Open-ILS/examples/apache/eg_vhost.conf /etc/apache2/eg_vhost.conf
    3. Update /etc/apache2/sites-available/eg.conf by copying the example from Open-ILS/examples/apache/eg.conf.

      cp /home/opensrf/Evergreen-ILS-2.6.1/Open-ILS/examples/apache/eg.conf /etc/apache2/sites-available/eg.conf