Upgrading the Evergreen Server
------------------------------
+:fullversion: 2.12.0
+:prevversion: 2.11.3
+:versionunder: 2_12
+:tagversion: rel_2_12_rc
+
Before upgrading, it is important to carefully plan an upgrade strategy to minimize system downtime and service interruptions.
All of the steps in this chapter are to be completed from the command line.
* **PostgreSQL**: Version 9.4 is recommended.
The minimum supported version is 9.3.
- * **Linux**: Evergreen 2.12.0 has been tested on Debian Jessie (8.0),
+ * **Linux**: Evergreen {fullversion} has been tested on Debian Jessie (8.0),
Debian Wheezy (7.0), Ubuntu Xenial Xerus (16.04),
and Ubuntu Trusty Tahr (14.04).
If you are running an older version of these distributions, you may want
.. Back up the /openils directory.
. Upgrade OpenSRF. Download and install the latest version of OpenSRF from
the https://evergreen-ils.org/opensrf-downloads/[OpenSRF download page].
-. As the *opensrf* user, download and extract Evergreen 2.12.0:
+. As the *opensrf* user, download and extract Evergreen {fullversion}:
+
[source, bash]
+[subs="attributes"]
-----------------------------------------------
-wget https://evergreen-ils.org/downloads/Evergreen-ILS-2.12.0.tar.gz
-tar xzf Evergreen-ILS-2.12.0.tar.gz
+wget https://evergreen-ils.org/downloads/Evergreen-ILS-{fullversion}.tar.gz
+tar xzf Evergreen-ILS-{fullversion}.tar.gz
-----------------------------------------------
+
[NOTE]
. As the *root* user, install the prerequisites:
+
[source, bash]
+[subs="attributes"]
---------------------------------------------
-cd /home/opensrf/Evergreen-ILS-2.12.0
+cd /home/opensrf/Evergreen-ILS-{fullversion}
---------------------------------------------
+
On the next command, replace `[distribution]` with one of these values for your
. As the *opensrf* user, configure and compile Evergreen:
+
[source, bash]
+[subs="attributes"]
------------------------------------------------------------
-cd /home/opensrf/Evergreen-ILS-2.12.0
+cd /home/opensrf/Evergreen-ILS-{fullversion}
PATH=/openils/bin:$PATH ./configure --prefix=/openils --sysconfdir=/openils/conf
make
------------------------------------------------------------
. As the *root* user, install Evergreen:
+
[source, bash]
+[subs="attributes"]
------------------------------------------------------------
-cd /home/opensrf/Evergreen-ILS-2.12.0
-make STAFF_CLIENT_STAMP_ID=rel_2_12_rc install
+cd /home/opensrf/Evergreen-ILS-{fullversion}
+make STAFF_CLIENT_STAMP_ID={tagversion} install
------------------------------------------------------------
+
. As the *root* user, change all files to be owned by the opensrf user and group:
. As the *opensrf* user, update the server symlink in /openils/var/web/xul/:
+
[source, bash]
+[subs="attributes"]
-----------------------------------------------------------
cd /openils/var/web/xul/
rm server
-ln -sf rel_2_12_rc/server server
+ln -sf {tagversion}/server server
----------------------------------------------------------
+
. As the *opensrf* user, update opensrf_core.xml and opensrf.xml by copying the
. As the *opensrf* user, update the configuration files:
+
[source, bash]
+[subs="attributes"]
-------------------------------------------------------------------------
-cd /home/opensrf/Evergreen-ILS-2.12.0
+cd /home/opensrf/Evergreen-ILS-{fullversion}
perl Open-ILS/src/support-scripts/eg_db_config --update-config --service all \
--create-offline --database evergreen --host localhost --user evergreen --password evergreen
-------------------------------------------------------------------------
.. Update _/etc/apache2/eg_startup_ by copying the example from _Open-ILS/examples/apache/eg_startup_.
+
[source, bash]
+[subs="attributes"]
----------------------------------------------------------
-cp /home/opensrf/Evergreen-ILS-2.12.0/Open-ILS/examples/apache/eg_startup /etc/apache2/eg_startup
+cp /home/opensrf/Evergreen-ILS-{fullversion}/Open-ILS/examples/apache/eg_startup /etc/apache2/eg_startup
----------------------------------------------------------
+
.. Update /etc/apache2/eg_vhost.conf by copying the example from Open-ILS/examples/apache/eg_vhost.conf.
+
[source, bash]
+[subs="attributes"]
----------------------------------------------------------
-cp /home/opensrf/Evergreen-ILS-2.12.0/Open-ILS/examples/apache/eg_vhost.conf /etc/apache2/eg_vhost.conf
+cp /home/opensrf/Evergreen-ILS-{fullversion}/Open-ILS/examples/apache/eg_vhost.conf /etc/apache2/eg_vhost.conf
----------------------------------------------------------
+
.. Update /etc/apache2/sites-available/eg.conf by copying the example from Open-ILS/examples/apache/eg.conf.
+
[source, bash]
+[subs="attributes"]
----------------------------------------------------------
-cp /home/opensrf/Evergreen-ILS-2.12.0/Open-ILS/examples/apache/eg.conf /etc/apache2/sites-available/eg.conf
+cp /home/opensrf/Evergreen-ILS-{fullversion}/Open-ILS/examples/apache/eg.conf /etc/apache2/sites-available/eg.conf
----------------------------------------------------------
Upgrade the Evergreen database schema
as a user with the ability to connect to the database server.
[source, bash]
+[subs="attributes"]
----------------------------------------------------------
-cd /home/opensrf/Evergreen-ILS-2.12.0/Open-ILS/src/sql/Pg
-psql -U evergreen -h localhost -f version-upgrade/2.11.3-2.12.0-upgrade-db.sql evergreen
+cd /home/opensrf/Evergreen-ILS-{fullversion}/Open-ILS/src/sql/Pg
+psql -U evergreen -h localhost -f version-upgrade/{prevversion}-{fullversion}-upgrade-db.sql evergreen
----------------------------------------------------------
[TIP]
Review Release Notes
~~~~~~~~~~~~~~~~~~~~
-Review the <<_evergreen_2_12_0_release_notes,2.12 release notes>> for other tasks
+Review the <<_evergreen_{versionunder}_release_notes,{fullversion} release notes>> for other tasks
that need to be done after upgrading. If you have upgraded over several
major versions, you will need to review the release notes for each version also.