Edited 2.0/admin/Upgrading-Evergreen-2.0.xml via GitHub
authorRobert Soulliere <robert.soulliere@mohawkcollege.ca>
Thu, 24 Feb 2011 14:22:43 +0000 (06:22 -0800)
committerRobert Soulliere <robert.soulliere@mohawkcollege.ca>
Thu, 24 Feb 2011 14:22:43 +0000 (06:22 -0800)
2.0/admin/Upgrading-Evergreen-2.0.xml

index 324957d..662ca03 100644 (file)
-<?xml version='1.0' encoding='UTF-8'?>\r
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude"\r
-       xmlns:xl="http://www.w3.org/1999/xlink" version="5.0" xml:id="upgradingevergreen-2.0">\r
-       <info>\r
-               <title>Upgrading Evergreen to 2.0</title>\r
-               <abstract>\r
-                       <para>This Chapter will explain the step-by-step process of upgrading <application>Evergreen\r
-                       </application> to 2.0, including steps to upgrade <application>OpenSRF</application>. Before \r
-                       upgrading, it is important to carefully plan an upgrade strategy to minimize system downtime and \r
-                       service interruptions. All of the steps in this chapter are to be completed from the command line.</para>\r
-                       \r
-               </abstract>\r
-       </info>    \r
-               <para>Evergreen 2.0 has several software requirements:</para>\r
-               <itemizedlist>\r
-                       <listitem>PostgreSQL: Version 8.4 is the minimum supported version of PostgreSQL. </listitem>\r
-                       <listitem>Linux: Evergreen 2.0 has been tested on Debian Squeeze (6.0) and Ubuntu Lucid Lynx (10.04). If you are runnung an older version of these distributions, \r
-                       you may want to upgrade befor installing Evergreen 2.0. For instructions on upgrading these distributions, visit the \r
-                       <ulink url="http://www.debian.org/releases/squeeze/">Debian</ulink> or <ulink url="https://help.ubuntu.com/community/LucidUpgrades">Ubuntu</ulink> websites.</listitem>\r
-               </itemizedlist>\r
-               <para>In the following instructions, you are asked to perform certain steps as either the <systemitem class="username">root</systemitem>  or \r
-               <systemitem class="username">opensrf</systemitem> user.</para>\r
-               <itemizedlist>\r
-                       <listitem>Debian: To become the <systemitem class="username">root</systemitem> user, issue the <command>su</command> command and enter the password of the \r
-                       <systemitem class="username">root</systemitem> user.</listitem>\r
-                       <listitem>Ubuntu: To become the <systemitem class="username">root</systemitem> user, issue the <command>sudo su</command> command and enter the password of your current user.</listitem>\r
-               </itemizedlist>\r
-               <para>To switch from the <systemitem class="username">root</systemitem> user to a different user, issue the <command>su - [user]</command> command; for example, \r
-               <command>su - opensrf</command>. Once you have become a non-root user, to become the <systemitem class="username">root</systemitem> user again simply issue the exit command.</para> \r
-               <para>In the following instructions, <filename class='directory'>/path/to/OpenSRF/</filename> represents the path to the OpenSRF source directory.</para>\r
-       <section xml:id="upgradingevergreen-stop_evergreen">\r
-               <title>Backing Up Data</title>\r
-               <procedure>\r
-                       <step>\r
-                               <para>As <systemitem class="username">root</systemitem>, stop the <application>Apache</application> \r
-                               web server<indexterm><primary>web server</primary><secondary>Apache</secondary></indexterm>.</para>\r
-                       </step>\r
-                       <step>\r
-                               <para>As the <systemitem class="username">opensrf</systemitem> user, stop all \r
-                               <application>Evergreen</application>\r
-                               and <application>OpenSRF</application> services:</para>\r
-                               <screen><userinput>osrf_ctl.sh -l -a stop_all</userinput></screen>\r
-                       </step>\r
-                       <step>\r
-                               <para>Back up of the <filename class='directory'>/openils</filename> \r
-                               directory.</para>\r
-                       </step>\r
-                       <step>\r
-                               <para><link linkend="backingup">Back up the <application>evergreen\r
-                               </application> database</link>.</para>\r
-                       </step>\r
-               </procedure>\r
-       </section>\r
-       <section xml:id="upgradingevergreen-upgradingOpenSRF">\r
-               <title>Upgrading OpenSRF to 1.6.2</title><indexterm><primary>OpenSRF</primary></indexterm>\r
-               <procedure>\r
-                       <step>\r
-                               <para>As the <systemitem class="username">opensrf</systemitem> user, download and extract the source files for <application>OpenSRF</application> \r
-                               1.6.2:</para>\r
-<screen><userinput>\r
-wget http://open-ils.org/downloads/OpenSRF-1.6.2.tar.gz\r
-tar xzf OpenSRF-1.6.2.tar.gz\r
-</userinput></screen>\r
-                               <para>A new directory OpenSRF-1.6.2 is created.</para>\r
-                               <note><para>For the latest edition of OpenSRF, check the Evergreen download page at \r
-                               <ulink url="http://www.open-ils.org/downloads.php" />.\r
-                               </para></note>\r
-                       </step>\r
-                       <step>  \r
-                               <para>As the <systemitem class="username">root</systemitem> user, install the software prerequisites using the automatic \r
-                               prerequisite installer.</para> \r
-<screen><userinput>\r
-aptitude install make\r
-cd /home/opensrf/OpenSRF-1.6.2\r
-</userinput></screen>          \r
-                               <para>Replace <option>[distribution]</option> below with the following value \r
-                               for your distribution:</para>\r
-                               <itemizedlist>\r
-                                       <listitem>\r
-                                               <para><option>debian-squeeze</option> for <systemitem class="osname">Debian Squeeze (6.0)</systemitem>\r
-                                               <indexterm><primary>Linux</primary><secondary>Debian</secondary></indexterm></para>\r
-                                       </listitem>\r
-                                       <listitem>\r
-                                               <para><option>ubuntu-lucid</option> for <systemitem class="osname">Ubuntu Lucid Lynx\r
-                                               (10.04)</systemitem><indexterm><primary>Linux</primary><secondary>Ubuntu</secondary></indexterm></para>\r
-                                       </listitem>\r
-                                       <listitem>\r
-                                               <para><option>centos</option> for <systemitem class="osname">CentOS 5</systemitem>\r
-                                               <indexterm><primary>Linux</primary><secondary>CentOS</secondary></indexterm></para>\r
-                                       </listitem>\r
-                                       <listitem>\r
-                                               <para><option>rhel</option> for <systemitem class="osname">Red Hat Enterprise Linux 5</systemitem>\r
-                                               <indexterm><primary>Linux</primary><secondary>Red Hat</secondary></indexterm></para>\r
-                                       </listitem>\r
-                               </itemizedlist>\r
-<screen><userinput>\r
-cd /path/to/OpenSRF\r
-make -f src/extras/Makefile.install [distribution]\r
-</userinput></screen>\r
-                               <para>This will install a number of packages required by OpenSRF on your system, \r
-                               including some Perl modules from <systemitem class="resource">CPAN</systemitem><indexterm><primary>Perl</primary><secondary>CPAN</secondary>\r
-                               </indexterm>. You can type <userinput>no</userinput> to the initial <systemitem class="resource">CPAN</systemitem> \r
-                               configuration prompt to allow it to automatically configure itself to download \r
-                               and install Perl modules from <systemitem class="resource">CPAN</systemitem>. The <systemitem class="resource">CPAN</systemitem> installer will ask you a number of \r
-                               times whether it should install prerequisite modules - type <userinput>yes</userinput>.</para>\r
-                       </step>\r
-                       <step>  \r
-                               <para>As the <systemitem class="username">opensrf</systemitem> user, configure and compile OpenSRF:</para> \r
-                               <note>You can include the <option>–enable-python</option> and <option>–enable-java</option> configure options if \r
-                               you want to include support for Python<indexterm><primary>Python</primary></indexterm> and Java\r
-                               <indexterm><primary>Java</primary></indexterm>, respectively.</note>\r
-<screen><userinput>\r
-cd /home/opensrf/OpenSRF-1.6.2\r
-./configure --prefix=/openils --sysconfdir=/openils/conf\r
-make\r
-</userinput></screen>          \r
-                       </step>\r
-                       <step>  \r
-                               <para>As the <systemitem class="username">root</systemitem> user, return to your OpenSRF build directory and install \r
-                               OpenSRF:</para>\r
-<screen><userinput>\r
-cd /home/opensrf/OpenSRF-1.6.2\r
-make install\r
-</userinput></screen>\r
-                       </step>\r
-                       <step>\r
-                               <para>As the <systemitem class="username">root</systemitem> user, change the ownership of the installed files to the \r
-                               <systemitem class="username">opensrf</systemitem> user:</para>\r
-                               <screen><userinput>chown -R opensrf:opensrf /openils</userinput></screen>\r
-                       </step>\r
-                       <step>\r
-                               <para>Restart and Test OpenSRF</para>\r
-<screen><userinput>\r
-osrf_ctl.sh -l -a start_all\r
-/openils/bin/srfsh\r
-srfsh#  request opensrf.math add 2 2\r
-</userinput></screen>\r
-                               <para>You should see output such as:</para>\r
-<screen>\r
-Received Data: 4\r
-\r
-------------------------------------\r
-Request Completed Successfully\r
-Request Time in seconds: 0.007519\r
-------------------------------------\r
-\r
-srfsh#\r
-</screen>      \r
-                               <para>If test completed successfully move onto the next section. \r
-                               Otherwise, refer to the <link linkend="troubleshooting">troubleshooting</link> chapter \r
-                               of this documentation.</para> \r
-                       </step> \r
-               </procedure>    \r
-       </section>\r
-       <section xml:id="upgradingevergreen-upgrading_from_1.6_to_2.0">\r
-               <title>Upgrade <application>Evergreen</application> from 1.6.1 to 2.0</title>\r
-               <note>\r
-                       <para>PostgreSQL 8.4 is the minimum supported version of PostgreSQL.</para> \r
-                       <para>Evergreen 2.0 has been tested on Debian Squeeze (6.0) and Ubuntu Lucid (10.04). If you are runnung an older version of \r
-                       these distributions, you may want to upgrade befor installing Evergreen 2.0. For instructions on upgrading these distribuitions, visit the \r
-                       <ulink url="http://www.debian.org/releases/squeeze/">Debian</ulink> or <ulink url="https://help.ubuntu.com/community/LucidUpgrades">Ubuntu</ulink> websites.</para>\r
-               </note>\r
-               <procedure>\r
-                       <step>\r
-                               <para>As the <systemitem class="username">opensrf</systemitem> user, download and extract <application>Evergreen 2.0</application>\r
-                               </para>\r
-<screen><userinput>\r
-wget http://www.open-ils.org/downloads/Evergreen-ILS-2.0.1.tar.gz\r
-tar xzf Evergreen-ILS-2.0.1.tar.gz\r
-</userinput></screen>\r
-                               <note><para>For the latest edition of Evergreen 2.0, check the Evergreen download page at\r
-                               <ulink url="http://www.open-ils.org/downloads.php" /> and adjust upgrading instructions accordingly.</para></note>\r
-                       </step>\r
-                       <step>\r
-                               <para>As the <systemitem class="username">root</systemitem> user, install the prerequisites:</para> \r
-                               <screen><userinput>cd /home/opensrf/Evergreen-ILS-2.0.1</userinput></screen>    \r
-                               <para>On the next command, replace <option>[distribution]</option> with one of \r
-                               these values for your distribution of Debian or Ubuntu:</para>\r
-                               <itemizedlist>\r
-                                       \r
-                                       <listitem>\r
-                                               <para><option>debian-squeeze</option> for <systemitem class="osname">Debian Squeeze (6.0)</systemitem></para>\r
-                                       </listitem>\r
-                                       \r
-                                       <listitem>\r
-                                               <para><option>ubuntu-lucid</option> for  <systemitem class="osname">Ubuntu Lucid Lynx \r
-                                               (10.04)</systemitem></para>\r
-                                       </listitem>\r
-                               </itemizedlist>\r
-                               <screen><userinput>make -f Open-ILS/src/extras/Makefile.install <option>[distribution]</option></userinput></screen>\r
-                       </step>\r
-                       <step>\r
-                               <para>As the <systemitem class="username">opensrf</systemitem> user, configure and compile \r
-                               <application>Evergreen</application>:</para>\r
-                               <screen><userinput>cd /home/opensrf/Evergreen-ILS-2.0.1</userinput></screen>\r
-                               <screen><userinput>./configure --prefix=/openils --sysconfdir=/openils/conf</userinput></screen>\r
-                               <screen><userinput>make</userinput></screen>\r
-                       </step>\r
-                       <step>\r
-                               <para>As the <systemitem class="username">root</systemitem> user, install \r
-                               <application>Evergreen</application>:</para>\r
-                               <screen><userinput>make STAFF_CLIENT_BUILD_ID=rel_2_0_1 install</userinput></screen>\r
-                       </step>\r
-                       <step>\r
-                               <para>Change to the <application>Evergreen</application> installation \r
-                               directory:</para>\r
-                               <screen><userinput>cd /home/opensrf/Evergreen-ILS-2.0.1</userinput></screen>\r
-                       </step>\r
-                       <step>\r
-                               <para>As the <emphasis>root</emphasis> user, change all files to be owned by the \r
-                               <emphasis>opensrf</emphasis> user and group:</para>\r
-                               <screen><userinput>chown -R opensrf:opensrf /openils</userinput></screen>\r
-                       </step>                 \r
-                       <step>\r
-                               <para>As the <systemitem class="username">opensrf</systemitem> user, update server symlink in <filename class="directory">/openils/var/web/xul/</filename>:</para>\r
-<screen><userinput>\r
-cd /openils/var/web/xul/\r
-rm server\r
-ln -s rel_2_0_1/server\r
-</userinput></screen>\r
-                       </step>\r
-                       <step>\r
-                               <para>Update the <database>evergreen</database> database:</para>\r
-                               <note><para>It is recommended that you <link linkend="backingup">back up your Evergreen database</link> in order to restore your data if anything goes wrong.</para></note>\r
-<screen>\r
-<userinput>\r
-psql -U evergreen -h localhost -f Open-ILS/src/sql/Pg/1.6.1-2.0-upgrade-db.sql evergreen\r
-psql -U evergreen -h localhost -f Open-ILS/src/sql/Pg/2.0.0-2.0.1-upgrade-db.sql evergreen\r
-</userinput>\r
-</screen>      \r
-                       </step>\r
-<step>\r
-                               <para>Run the <filename>reingest-1.6-2.0.pl</filename> script to generate an sql script. Then use the sql file to reingest bib records into your \r
-                               <database>evergreen</database> database. This is required to make the new facet sidebar in OPAC search results work and to upgrade the keyword indexes to use \r
-                               the revised NACO normalization routine.</para>\r
-                               <note><para>If you are running a large Evergreen installation, it is recommend that you examine the script first. Reingesting a large number of bibliographic records \r
-                               may take several hours.</para></note>\r
-<screen><userinput>perl Open-ILS/src/sql/Pg/reingest-1.6-2.0.pl</userinput></screen>\r
-<screen><userinput>psql -U evergreen -h localhost -f Open-ILS/src/sql/Pg/reingest-1.6-2.0.sql evergreen</userinput></screen>\r
-                       </step>\r
-                       <step>\r
-                               <para>As the <systemitem class="username">opensrf</systemitem> user, \r
-                               copy <filename>/openils/conf/oils_web.xml.example</filename> to <filename>/openils/conf/oils_web.xml</filename>\r
-                               . (If upgrading from 1.6.1.x, <filename>oils_web.xml</filename> should already exist.)</para>\r
-                               <indexterm><primary>configuration files</primary><secondary>oils_web.xml</secondary></indexterm>\r
-                               <screen><userinput>cp /openils/conf/oils_web.xml.example /openils/conf/oils_web.xml</userinput></screen>\r
-                       </step>\r
-                       <step>\r
-                               <para>Update <filename>opensrf_core.xml</filename> and <filename>opensrf.xml</filename> by copying the new example files \r
-                               (<filename>/openils/conf/opensrf_core.xml.example</filename> and <filename>/openils/conf/opensrf.xml</filename>).</para>\r
-                               <indexterm><primary>configuration files</primary><secondary>opensrf.xml</secondary></indexterm>\r
-                               <screen><userinput>cp /openils/conf/opensrf_core.xml.example /openils/conf/opensrf_core.xml</userinput></screen>\r
-                               <indexterm><primary>configuration files</primary><secondary>opensrf_core.xml</secondary></indexterm>\r
-                               <screen><userinput>cp /openils/conf/opensrf.xml.example /openils/conf/opensrf.xml</userinput></screen>\r
-                               <caution><para>Copying these configuration files will remove any customizations you have made to them. Remember to redo your customizations after copying \r
-                               them.</para></caution>\r
-                       </step>\r
-                       <step>\r
-                               <para>Update <filename>opensrf.xml</filename> with the database connection info:</para>\r
-<screen><userinput>\r
-perl Open-ILS/src/support-scripts/eg_db_config.pl --update-config --service all --create-offline --user evergreen \\r
---password evergreen --hostname localhost --port 5432 --database evergreen\r
-</userinput></screen>\r
-                       </step>\r
-                       <step>\r
-                               <para>Update /etc/apache2/startup.pl by copying the example from \r
-                               Open-ILS/examples/apache/startup.pl.</para><indexterm><primary>configuration files</primary><secondary>startup.pl</secondary></indexterm>\r
-                       </step>\r
-                       <step>\r
-                               <para>Update /etc/apache2/eg_vhost.conf by copying the example from \r
-                               Open-ILS/examples/apache/eg_vhost.conf.</para><indexterm><primary>configuration files</primary><secondary>eg_vhost.conf</secondary></indexterm>\r
-                       </step>\r
-                       <step>\r
-                       <para>Update /etc/apache2/sites-available/eg.conf by copying the example from Open-ILS/\r
-                       examples/apache/eg.conf.</para><indexterm><primary>configuration files</primary><secondary>eg.conf</secondary></indexterm>\r
-                       </step>\r
-                       <caution>\r
-                               <para>Copying these Apache configuration files will remove any customizations you have made to them. Remember to redo your customizations after copying \r
-                               them. For example, if you purchased an SSL certificate, you \r
-                               will need to edit <filename>eg.conf</filename> to point to the appropriate SSL certificate files.</para>\r
-                               <indexterm><primary>SSL</primary><secondary>certificates</secondary></indexterm>\r
-                       </caution> \r
-               </procedure>    \r
-       </section>\r
-       <section xml:id="testing_after_upgrade">\r
-               <title>Restart Evergreen and Test</title>\r
-               <procedure>\r
-                       <step>\r
-                               <para>As the <systemitem class="username">opensrf</systemitem> user, start all \r
-                               <application>Evergreen</application> and <application>OpenSRF</application> \r
-                               services:</para>\r
-                               <screen><userinput>osrf_ctl.sh -l -a start_all</userinput></screen>\r
-                       </step>\r
-                       <step>\r
-                               <para>As the <systemitem class="username">opensrf</systemitem> user, run <command>autogen</command> to refresh the static \r
-                               organizational data files:</para><indexterm><primary>autogen</primary></indexterm>\r
-<screen><userinput>\r
-cd /openils/bin\r
-./autogen.sh -c /openils/conf/opensrf_core.xml -u\r
-</userinput></screen>\r
-                                       \r
-                       </step>\r
-                       <step>\r
-                               <para>Start <command>srfsh</command> and try logging in  using your <application>Evergreen</application>\r
-                               username and password:</para>\r
-<screen>\r
-<userinput>/openils/bin/srfsh</userinput>\r
-<prompt>srfsh%</prompt> <userinput>login <option>username</option> <option>password</option></userinput>\r
-</screen> \r
-                       </step> \r
-                       <step>\r
-                               <para>Start the <application>Apache</application> web server.</para>\r
-                       </step>\r
-               </procedure>\r
-               <note>\r
-                       <para>If you encounter errors, refer to the <link linkend="troubleshooting">troubleshooting \r
-                       section</link> of this documentation for tips \r
-                       on finding solutions and seeking further assistance from the Evergreen community.</para>  \r
-               </note>\r
-       </section>\r
-       <section xml:id="upgrading_Postgresqlto8.4">\r
-               <title>Upgrading PostgreSQL from 8.2 to 8.4 (if required)</title>\r
-               <para>Evergreen 1.6.1 supports PostgreSQL version 8.4 and it is recommended that you upgrade PostgreSQL when you upgrade Evergreen to 1.6.</para>\r
-               <note><para>The order of the following steps is very important.</para></note><indexterm><primary>databases</primary><secondary>PostgreSQL</secondary></indexterm>\r
-               <procedure>\r
-                       <step>\r
-                               <para>As <systemitem class="username">opensrf</systemitem>, stop the evergreen and opensrf services:</para>\r
-                               <screen><userinput>osrf_ctl.sh -l -a stop_all</userinput></screen>\r
-                       </step>                 \r
-                       <step>\r
-                               <para><link linkend="backingup">Backup the Evergreen database data</link></para>\r
-                       </step>\r
-                       <step>\r
-                               <para>Upgrade to Postgresql 8.4 by removing old version and installing Postgresql 8.4</para>\r
-                       </step>\r
-                       <step>                  \r
-                               <para>Create an empty Evergreen database in postgresql 8.4 by issuing the following commands as the postgres user:</para>\r
-<screen>\r
-<userinput>\r
-createdb -E UNICODE evergreen\r
-createlang plperl   evergreen\r
-createlang plperlu  evergreen\r
-createlang plpgsql  evergreen\r
-psql -f /usr/share/postgresql/8.4/contrib/tablefunc.sql evergreen\r
-psql -f /usr/share/postgresql/8.4/contrib/tsearch2.sql evergreen\r
-psql -f /usr/share/postgresql/8.4/contrib/pgxml.sql evergreen\r
-</userinput>\r
-</screen>              \r
-                       </step>\r
-                       <step>\r
-                               <para>As the <systemitem class="username">postgres</systemitem> user on the PostgreSQL server, create a PostgreSQL user named <systemitem class="username">evergreen</systemitem> for the database cluster:</para>\r
-                               <screen><userinput>createuser -P -s evergreen</userinput></screen>\r
-                               <para>Enter the password for the new PostgreSQL superuser (<systemitem class="username">evergreen</systemitem>)</para>  \r
-                       </step>                 \r
-                       <step>\r
-                               <para>Restore data from backup created in step 1.</para>\r
-                       </step>\r
-                       <step>\r
-                               <para>To point tsearch2 to proper function names in 8.4, run the SQL script \r
-                               <filename>/home/opensrf/Evergreen-ILS*/Open-ILS/src/sql/Pg/000.english.pg84.fts-config.sql</filename> using the <command>psql</command> command.</para>\r
-                               <screen><userinput>cd /home/opensrf/Evergreen-ILS*</userinput></screen>\r
-                               <screen><userinput>psql -f /Open-ILS/src/sql/Pg/000.english.pg84.fts-config.sql evergreen</userinput></screen>\r
-                       </step>\r
-                       <step>\r
-                               <para><link linkend="upgraderestart">Restart Evergreen and OpenSRF services</link></para>\r
-                       </step>\r
-                       <step>\r
-                               <para>For additional information regarding upgrading PostgreSQL, see the following documentation in PostgreSQL:</para>\r
-                               <para><ulink url="http://www.postgresql.org/docs/8.4/static/install-upgrading.html" /></para>\r
-                               <para><ulink url="http://www.postgresql.org/docs/8.4/interactive/textsearch-migration.html" /> \r
-                               </para>\r
-                               <para><ulink url="http://www.postgresql.org/docs/current/static/tsearch2.html#AEN102824" /></para>\r
-                       </step>\r
-               </procedure>\r
-       </section>\r
-</chapter>\r
+<?xml version='1.0' encoding='UTF-8'?>
+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude"
+       xmlns:xl="http://www.w3.org/1999/xlink" version="5.0" xml:id="upgradingevergreen-2.0">
+       <info>
+               <title>Upgrading Evergreen to 2.0</title>
+               <abstract>
+                       <para>This Chapter will explain the step-by-step process of upgrading <application>Evergreen
+                       </application> to 2.0, including steps to upgrade <application>OpenSRF</application>. 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.</para>
+                       
+               </abstract>
+       </info>    
+               <para>Evergreen 2.0 has several software requirements:</para>
+               <itemizedlist>
+                       <listitem>PostgreSQL: Version 8.4 is the minimum supported version of PostgreSQL. </listitem>
+                       <listitem>Linux: Evergreen 2.0 has been tested on Debian Squeeze (6.0) and Ubuntu Lucid Lynx (10.04). If you are runnung an older version of these distributions, 
+                       you may want to upgrade befor installing Evergreen 2.0. For instructions on upgrading these distributions, visit the 
+                       <ulink url="http://www.debian.org/releases/squeeze/">Debian</ulink> or <ulink url="https://help.ubuntu.com/community/LucidUpgrades">Ubuntu</ulink> websites.</listitem>
+               </itemizedlist>
+               <para>In the following instructions, you are asked to perform certain steps as either the <systemitem class="username">root</systemitem>  or 
+               <systemitem class="username">opensrf</systemitem> user.</para>
+               <itemizedlist>
+                       <listitem>Debian: To become the <systemitem class="username">root</systemitem> user, issue the <command>su</command> command and enter the password of the 
+                       <systemitem class="username">root</systemitem> user.</listitem>
+                       <listitem>Ubuntu: To become the <systemitem class="username">root</systemitem> user, issue the <command>sudo su</command> command and enter the password of your current user.</listitem>
+               </itemizedlist>
+               <para>To switch from the <systemitem class="username">root</systemitem> user to a different user, issue the <command>su - [user]</command> command; for example, 
+               <command>su - opensrf</command>. Once you have become a non-root user, to become the <systemitem class="username">root</systemitem> user again simply issue the exit command.</para> 
+               <para>In the following instructions, <filename class='directory'>/path/to/OpenSRF/</filename> represents the path to the OpenSRF source directory.</para>
+       <section xml:id="upgradingevergreen-stop_evergreen">
+               <title>Backing Up Data</title>
+               <procedure>
+                       <step>
+                               <para>As <systemitem class="username">root</systemitem>, stop the <application>Apache</application> 
+                               web server<indexterm><primary>web server</primary><secondary>Apache</secondary></indexterm>.</para>
+                       </step>
+                       <step>
+                               <para>As the <systemitem class="username">opensrf</systemitem> user, stop all 
+                               <application>Evergreen</application>
+                               and <application>OpenSRF</application> services:</para>
+                               <screen><userinput>osrf_ctl.sh -l -a stop_all</userinput></screen>
+                       </step>
+                       <step>
+                               <para>Back up of the <filename class='directory'>/openils</filename> 
+                               directory.</para>
+                       </step>
+                       <step>
+                               <para><link linkend="backingup">Back up the <application>evergreen
+                               </application> database</link>.</para>
+                       </step>
+               </procedure>
+       </section>
+       <section xml:id="upgradingevergreen-upgradingOpenSRF">
+               <title>Upgrading OpenSRF to 1.6.2</title><indexterm><primary>OpenSRF</primary></indexterm>
+               <procedure>
+                       <step>
+                               <para>As the <systemitem class="username">opensrf</systemitem> user, download and extract the source files for <application>OpenSRF</application> 
+                               1.6.2:</para>
+<screen><userinput>
+wget http://open-ils.org/downloads/OpenSRF-1.6.2.tar.gz
+tar xzf OpenSRF-1.6.2.tar.gz
+</userinput></screen>
+                               <para>A new directory OpenSRF-1.6.2 is created.</para>
+                               <note><para>For the latest edition of OpenSRF, check the Evergreen download page at 
+                               <ulink url="http://www.open-ils.org/downloads.php" />.
+                               </para></note>
+                       </step>
+                       <step>  
+                               <para>As the <systemitem class="username">root</systemitem> user, install the software prerequisites using the automatic 
+                               prerequisite installer.</para> 
+<screen><userinput>
+aptitude install make
+cd /home/opensrf/OpenSRF-1.6.2
+</userinput></screen>          
+                               <para>Replace <option>[distribution]</option> below with the following value 
+                               for your distribution:</para>
+                               <itemizedlist>
+                                       <listitem>
+                                               <para><option>debian-squeeze</option> for <systemitem class="osname">Debian Squeeze (6.0)</systemitem>
+                                               <indexterm><primary>Linux</primary><secondary>Debian</secondary></indexterm></para>
+                                       </listitem>
+                                       <listitem>
+                                               <para><option>ubuntu-lucid</option> for <systemitem class="osname">Ubuntu Lucid Lynx
+                                               (10.04)</systemitem><indexterm><primary>Linux</primary><secondary>Ubuntu</secondary></indexterm></para>
+                                       </listitem>
+                                       <listitem>
+                                               <para><option>centos</option> for <systemitem class="osname">CentOS 5</systemitem>
+                                               <indexterm><primary>Linux</primary><secondary>CentOS</secondary></indexterm></para>
+                                       </listitem>
+                                       <listitem>
+                                               <para><option>rhel</option> for <systemitem class="osname">Red Hat Enterprise Linux 5</systemitem>
+                                               <indexterm><primary>Linux</primary><secondary>Red Hat</secondary></indexterm></para>
+                                       </listitem>
+                               </itemizedlist>
+<screen><userinput>
+cd /path/to/OpenSRF
+make -f src/extras/Makefile.install [distribution]
+</userinput></screen>
+                               <para>This will install a number of packages required by OpenSRF on your system, 
+                               including some Perl modules from <systemitem class="resource">CPAN</systemitem><indexterm><primary>Perl</primary><secondary>CPAN</secondary>
+                               </indexterm>. You can type <userinput>no</userinput> to the initial <systemitem class="resource">CPAN</systemitem> 
+                               configuration prompt to allow it to automatically configure itself to download 
+                               and install Perl modules from <systemitem class="resource">CPAN</systemitem>. The <systemitem class="resource">CPAN</systemitem> installer will ask you a number of 
+                               times whether it should install prerequisite modules - type <userinput>yes</userinput>.</para>
+                       </step>
+                       <step>  
+                               <para>As the <systemitem class="username">opensrf</systemitem> user, configure and compile OpenSRF:</para> 
+                               <note>You can include the <option>–enable-python</option> and <option>–enable-java</option> configure options if 
+                               you want to include support for Python<indexterm><primary>Python</primary></indexterm> and Java
+                               <indexterm><primary>Java</primary></indexterm>, respectively.</note>
+<screen><userinput>
+cd /home/opensrf/OpenSRF-1.6.2
+./configure --prefix=/openils --sysconfdir=/openils/conf
+make
+</userinput></screen>          
+                       </step>
+                       <step>  
+                               <para>As the <systemitem class="username">root</systemitem> user, return to your OpenSRF build directory and install 
+                               OpenSRF:</para>
+<screen><userinput>
+cd /home/opensrf/OpenSRF-1.6.2
+make install
+</userinput></screen>
+                       </step>
+                       <step>
+                               <para>As the <systemitem class="username">root</systemitem> user, change the ownership of the installed files to the 
+                               <systemitem class="username">opensrf</systemitem> user:</para>
+                               <screen><userinput>chown -R opensrf:opensrf /openils</userinput></screen>
+                       </step>
+                       <step>
+                               <para>Restart and Test OpenSRF</para>
+<screen><userinput>
+osrf_ctl.sh -l -a start_all
+/openils/bin/srfsh
+srfsh#  request opensrf.math add 2 2
+</userinput></screen>
+                               <para>You should see output such as:</para>
+<screen>
+Received Data: 4
+
+------------------------------------
+Request Completed Successfully
+Request Time in seconds: 0.007519
+------------------------------------
+
+srfsh#
+</screen>      
+                               <para>If test completed successfully move onto the next section. 
+                               Otherwise, refer to the <link linkend="troubleshooting">troubleshooting</link> chapter 
+                               of this documentation.</para> 
+                       </step> 
+               </procedure>    
+       </section>
+       <section xml:id="upgradingevergreen-upgrading_from_1.6_to_2.0">
+               <title>Upgrade <application>Evergreen</application> from 1.6.1 to 2.0</title>
+               <note>
+                       <para>PostgreSQL 8.4 is the minimum supported version of PostgreSQL.</para> 
+                       <para>Evergreen 2.0 has been tested on Debian Squeeze (6.0) and Ubuntu Lucid (10.04). If you are runnung an older version of 
+                       these distributions, you may want to upgrade befor installing Evergreen 2.0. For instructions on upgrading these distribuitions, visit the 
+                       <ulink url="http://www.debian.org/releases/squeeze/">Debian</ulink> or <ulink url="https://help.ubuntu.com/community/LucidUpgrades">Ubuntu</ulink> websites.</para>
+               </note>
+               <procedure>
+                       <step>
+                               <para>As the <systemitem class="username">opensrf</systemitem> user, download and extract <application>Evergreen 2.0</application>
+                               </para>
+<screen><userinput>
+wget http://www.open-ils.org/downloads/Evergreen-ILS-2.0.1.tar.gz
+tar xzf Evergreen-ILS-2.0.1.tar.gz
+</userinput></screen>
+                               <note><para>For the latest edition of Evergreen 2.0, check the Evergreen download page at
+                               <ulink url="http://www.open-ils.org/downloads.php" /> and adjust upgrading instructions accordingly.</para></note>
+                       </step>
+                       <step>
+                               <para>As the <systemitem class="username">root</systemitem> user, install the prerequisites:</para> 
+                               <screen><userinput>cd /home/opensrf/Evergreen-ILS-2.0.1</userinput></screen>    
+                               <para>On the next command, replace <option>[distribution]</option> with one of 
+                               these values for your distribution of Debian or Ubuntu:</para>
+                               <itemizedlist>
+                                       
+                                       <listitem>
+                                               <para><option>debian-squeeze</option> for <systemitem class="osname">Debian Squeeze (6.0)</systemitem></para>
+                                       </listitem>
+                                       
+                                       <listitem>
+                                               <para><option>ubuntu-lucid</option> for  <systemitem class="osname">Ubuntu Lucid Lynx 
+                                               (10.04)</systemitem></para>
+                                       </listitem>
+                               </itemizedlist>
+                               <screen><userinput>make -f Open-ILS/src/extras/Makefile.install <option>[distribution]</option></userinput></screen>
+                       </step>
+                       <step>
+                               <para>As the <systemitem class="username">opensrf</systemitem> user, configure and compile 
+                               <application>Evergreen</application>:</para>
+                               <screen><userinput>cd /home/opensrf/Evergreen-ILS-2.0.1</userinput></screen>
+                               <screen><userinput>./configure --prefix=/openils --sysconfdir=/openils/conf</userinput></screen>
+                               <screen><userinput>make</userinput></screen>
+                       </step>
+                       <step>
+                               <para>As the <systemitem class="username">root</systemitem> user, install 
+                               <application>Evergreen</application>:</para>
+                               <screen><userinput>make STAFF_CLIENT_BUILD_ID=rel_2_0_1 install</userinput></screen>
+                       </step>
+                       <step>
+                               <para>Change to the <application>Evergreen</application> installation 
+                               directory:</para>
+                               <screen><userinput>cd /home/opensrf/Evergreen-ILS-2.0.1</userinput></screen>
+                       </step>
+                       <step>
+                               <para>As the <emphasis>root</emphasis> user, change all files to be owned by the 
+                               <emphasis>opensrf</emphasis> user and group:</para>
+                               <screen><userinput>chown -R opensrf:opensrf /openils</userinput></screen>
+                       </step>                 
+                       <step>
+                               <para>As the <systemitem class="username">opensrf</systemitem> user, update server symlink in <filename class="directory">/openils/var/web/xul/</filename>:</para>
+<screen><userinput>
+cd /openils/var/web/xul/
+rm server
+ln -s rel_2_0_1/server
+</userinput></screen>
+                       </step>
+                       <step>
+                               <para>Update the <database>evergreen</database> database:</para>
+                               <note><para>It is recommended that you <link linkend="backingup">back up your Evergreen database</link> in order to restore your data if anything goes wrong.</para></note>
+<screen>
+<userinput>
+psql -U evergreen -h localhost -f Open-ILS/src/sql/Pg/1.6.1-2.0-upgrade-db.sql evergreen
+psql -U evergreen -h localhost -f Open-ILS/src/sql/Pg/2.0.0-2.0.1-upgrade-db.sql evergreen
+</userinput>
+</screen>      
+<note><para>The <filename>1.6.1-2.0-upgrade-db.sql</filename> upgrade script may take a long time (hours) to process on larger 
+systems.<para></note>
+                       </step>
+<step>
+                               <para>Run the <filename>reingest-1.6-2.0.pl</filename> script to generate an sql script. Then use the sql file to reingest bib records into your 
+                               <database>evergreen</database> database. This is required to make the new facet sidebar in OPAC search results work and to upgrade the keyword indexes to use 
+                               the revised NACO normalization routine.</para>
+                               <note><para>If you are running a large Evergreen installation, it is recommend that you examine the script first. Reingesting a large number of bibliographic records 
+                               may take several hours.</para></note>
+<screen><userinput>perl Open-ILS/src/sql/Pg/reingest-1.6-2.0.pl</userinput></screen>
+<screen><userinput>psql -U evergreen -h localhost -f Open-ILS/src/sql/Pg/reingest-1.6-2.0.sql evergreen</userinput></screen>
+                       </step>
+                       <step>
+                               <para>As the <systemitem class="username">opensrf</systemitem> user, 
+                               copy <filename>/openils/conf/oils_web.xml.example</filename> to <filename>/openils/conf/oils_web.xml</filename>
+                               . (If upgrading from 1.6.1.x, <filename>oils_web.xml</filename> should already exist.)</para>
+                               <indexterm><primary>configuration files</primary><secondary>oils_web.xml</secondary></indexterm>
+                               <screen><userinput>cp /openils/conf/oils_web.xml.example /openils/conf/oils_web.xml</userinput></screen>
+                       </step>
+                       <step>
+                               <para>Update <filename>opensrf_core.xml</filename> and <filename>opensrf.xml</filename> by copying the new example files 
+                               (<filename>/openils/conf/opensrf_core.xml.example</filename> and <filename>/openils/conf/opensrf.xml</filename>).</para>
+                               <indexterm><primary>configuration files</primary><secondary>opensrf.xml</secondary></indexterm>
+                               <screen><userinput>cp /openils/conf/opensrf_core.xml.example /openils/conf/opensrf_core.xml</userinput></screen>
+                               <indexterm><primary>configuration files</primary><secondary>opensrf_core.xml</secondary></indexterm>
+                               <screen><userinput>cp /openils/conf/opensrf.xml.example /openils/conf/opensrf.xml</userinput></screen>
+                               <caution><para>Copying these configuration files will remove any customizations you have made to them. Remember to redo your customizations after copying 
+                               them.</para></caution>
+                       </step>
+                       <step>
+                               <para>Update <filename>opensrf.xml</filename> with the database connection info:</para>
+<screen><userinput>
+perl Open-ILS/src/support-scripts/eg_db_config.pl --update-config --service all --create-offline --user evergreen \
+--password evergreen --hostname localhost --port 5432 --database evergreen
+</userinput></screen>
+                       </step>
+                       <step>
+                               <para>Update /etc/apache2/startup.pl by copying the example from 
+                               Open-ILS/examples/apache/startup.pl.</para><indexterm><primary>configuration files</primary><secondary>startup.pl</secondary></indexterm>
+                       </step>
+                       <step>
+                               <para>Update /etc/apache2/eg_vhost.conf by copying the example from 
+                               Open-ILS/examples/apache/eg_vhost.conf.</para><indexterm><primary>configuration files</primary><secondary>eg_vhost.conf</secondary></indexterm>
+                       </step>
+                       <step>
+                       <para>Update /etc/apache2/sites-available/eg.conf by copying the example from Open-ILS/
+                       examples/apache/eg.conf.</para><indexterm><primary>configuration files</primary><secondary>eg.conf</secondary></indexterm>
+                       </step>
+                       <caution>
+                               <para>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 <filename>eg.conf</filename> to point to the appropriate SSL certificate files.</para>
+                               <indexterm><primary>SSL</primary><secondary>certificates</secondary></indexterm>
+                       </caution> 
+               </procedure>    
+       </section>
+       <section xml:id="testing_after_upgrade">
+               <title>Restart Evergreen and Test</title>
+               <procedure>
+                       <step>
+                               <para>As the <systemitem class="username">opensrf</systemitem> user, start all 
+                               <application>Evergreen</application> and <application>OpenSRF</application> 
+                               services:</para>
+                               <screen><userinput>osrf_ctl.sh -l -a start_all</userinput></screen>
+                       </step>
+                       <step>
+                               <para>As the <systemitem class="username">opensrf</systemitem> user, run <command>autogen</command> to refresh the static 
+                               organizational data files:</para><indexterm><primary>autogen</primary></indexterm>
+<screen><userinput>
+cd /openils/bin
+./autogen.sh -c /openils/conf/opensrf_core.xml -u
+</userinput></screen>
+                                       
+                       </step>
+                       <step>
+                               <para>Start <command>srfsh</command> and try logging in  using your <application>Evergreen</application>
+                               username and password:</para>
+<screen>
+<userinput>/openils/bin/srfsh</userinput>
+<prompt>srfsh%</prompt> <userinput>login <option>username</option> <option>password</option></userinput>
+</screen> 
+                       </step> 
+                       <step>
+                               <para>Start the <application>Apache</application> web server.</para>
+                       </step>
+               </procedure>
+               <note>
+                       <para>If you encounter errors, refer to the <link linkend="troubleshooting">troubleshooting 
+                       section</link> of this documentation for tips 
+                       on finding solutions and seeking further assistance from the Evergreen community.</para>  
+               </note>
+       </section>
+       <section xml:id="upgrading_Postgresqlto8.4">
+               <title>Upgrading PostgreSQL from 8.2 to 8.4 (if required)</title>
+               <para>Evergreen 1.6.1 supports PostgreSQL version 8.4 and it is recommended that you upgrade PostgreSQL when you upgrade Evergreen to 1.6.</para>
+               <note><para>The order of the following steps is very important.</para></note><indexterm><primary>databases</primary><secondary>PostgreSQL</secondary></indexterm>
+               <procedure>
+                       <step>
+                               <para>As <systemitem class="username">opensrf</systemitem>, stop the evergreen and opensrf services:</para>
+                               <screen><userinput>osrf_ctl.sh -l -a stop_all</userinput></screen>
+                       </step>                 
+                       <step>
+                               <para><link linkend="backingup">Backup the Evergreen database data</link></para>
+                       </step>
+                       <step>
+                               <para>Upgrade to Postgresql 8.4 by removing old version and installing Postgresql 8.4</para>
+                       </step>
+                       <step>                  
+                               <para>Create an empty Evergreen database in postgresql 8.4 by issuing the following commands as the postgres user:</para>
+<screen>
+<userinput>
+createdb -E UNICODE evergreen
+createlang plperl   evergreen
+createlang plperlu  evergreen
+createlang plpgsql  evergreen
+psql -f /usr/share/postgresql/8.4/contrib/tablefunc.sql evergreen
+psql -f /usr/share/postgresql/8.4/contrib/tsearch2.sql evergreen
+psql -f /usr/share/postgresql/8.4/contrib/pgxml.sql evergreen
+</userinput>
+</screen>              
+                       </step>
+                       <step>
+                               <para>As the <systemitem class="username">postgres</systemitem> user on the PostgreSQL server, create a PostgreSQL user named <systemitem class="username">evergreen</systemitem> for the database cluster:</para>
+                               <screen><userinput>createuser -P -s evergreen</userinput></screen>
+                               <para>Enter the password for the new PostgreSQL superuser (<systemitem class="username">evergreen</systemitem>)</para>  
+                       </step>                 
+                       <step>
+                               <para>Restore data from backup created in step 1.</para>
+                       </step>
+                       <step>
+                               <para>To point tsearch2 to proper function names in 8.4, run the SQL script 
+                               <filename>/home/opensrf/Evergreen-ILS*/Open-ILS/src/sql/Pg/000.english.pg84.fts-config.sql</filename> using the <command>psql</command> command.</para>
+                               <screen><userinput>cd /home/opensrf/Evergreen-ILS*</userinput></screen>
+                               <screen><userinput>psql -f /Open-ILS/src/sql/Pg/000.english.pg84.fts-config.sql evergreen</userinput></screen>
+                       </step>
+                       <step>
+                               <para><link linkend="upgraderestart">Restart Evergreen and OpenSRF services</link></para>
+                       </step>
+                       <step>
+                               <para>For additional information regarding upgrading PostgreSQL, see the following documentation in PostgreSQL:</para>
+                               <para><ulink url="http://www.postgresql.org/docs/8.4/static/install-upgrading.html" /></para>
+                               <para><ulink url="http://www.postgresql.org/docs/8.4/interactive/textsearch-migration.html" /> 
+                               </para>
+                               <para><ulink url="http://www.postgresql.org/docs/current/static/tsearch2.html#AEN102824" /></para>
+                       </step>
+               </procedure>
+       </section>
+</chapter>