Upgrading the Evergreen Server
------------------------------
+:majorversion: 2.8
+:majorversionunder: 2_8
+:fullversion: 2.8.3
+:tagversion: rel_2_8_3
+
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.3 is recommended. The minimum supported version
is 9.1.
- * **Linux**: Evergreen 2.8 has been tested on Debian Jessie (8.0),
+ * **Linux**: Evergreen {majorversion} has been tested on Debian Jessie (8.0),
Debian Wheezy (7.0), Debian Squeeze(6.0), Ubuntu Trusty Tahr (14.04),
Ubuntu Precise Pangolin (12.04), and Fedora.
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 http://evergreen-ils.org/opensrf-downloads/[OpenSRF download page].
-. As the *opensrf* user, download and extract Evergreen 2.8:
+. As the *opensrf* user, download and extract Evergreen {majorversion}:
+
[source, bash]
+[subs="attributes"]
-----------------------------------------------
-wget http://evergreen-ils.org/downloads/Evergreen-ILS-2.8.3.tar.gz
-tar xzf Evergreen-ILS-2.8.3.tar.gz
+wget http://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.8.3
+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.8.3
+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.8.3
-make STAFF_CLIENT_STAMP_ID=rel_2_8_3 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_8_3/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.8.3
+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.8.3/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.8.3/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.8.3/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
=============
Evergreen provides incremental upgrade scripts that allow you to upgrade
from one minor version to the next until you have the current version of
-the schema. For example, if you want to upgrade from 2.5.1 to 2.8.3, you
+the schema. For example, if you want to upgrade from 2.5.1 to {fullversion}, you
would run the following upgrade scripts:
- 2.5.1-2.5.2-upgrade-db.sql
from 2.5.4+ to 2.6. Only upgrade as far as necessary to reach the major
version upgrade script (in this example, as far as 2.5.3).
-To upgrade across multiple major versions (e.g. from 2.3.0 to 2.8.3), use
+To upgrade across multiple major versions (e.g. from 2.3.0 to {fullversion}), use
the same logic to utilize the provided major version upgrade scripts. For
example:
- 2.6.3-2.7.0-upgrade-db.sql
- (run all incremental scripts from 2.7.0 to 2.7.4)
- 2.7.4-2.8.0-upgrade-db.sql
-- (run all incremental scripts from 2.8.0 to 2.8.3)
+- (run all incremental scripts from 2.8.0 to {fullversion})
=============
[CAUTION]
as a user with the ability to connect to the database server.
[source, bash]
+[subs="attributes"]
----------------------------------------------------------
-cd /home/opensrf/Evergreen-ILS-2.8.3/Open-ILS/src/sql/Pg
+cd /home/opensrf/Evergreen-ILS-{fullversion}/Open-ILS/src/sql/Pg
psql -U evergreen -h localhost -f version-upgrade/2.7.4-2.8.0-upgrade-db.sql evergreen
----------------------------------------------------------
Review Release Notes
~~~~~~~~~~~~~~~~~~~~
-Review the <<_evergreen_2_8_release_notes,2.8 release notes>> for other tasks
+Review the <<_evergreen_{majorversionunder}_release_notes,{majorversion} 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.