Difference between revisions of "Upgrading"

From EPrints Documentation
Jump to: navigation, search
(Updated upgrade instructions)
Line 1: Line 1:
 
== Upgrade from 3.3.x to 3.3.y ==
 
== Upgrade from 3.3.x to 3.3.y ==
  
 +
=== From a Linux Package Manager ===
 
If you have installed from the Deb or RPM package, then you can just upgrade this.  However, it is recommended that you have done a backup before doing this.  Also if this is on a production server, that you do this during an extended period of scheduled downtime and have previously tested the upgrade on a pre-production server.
 
If you have installed from the Deb or RPM package, then you can just upgrade this.  However, it is recommended that you have done a backup before doing this.  Also if this is on a production server, that you do this during an extended period of scheduled downtime and have previously tested the upgrade on a pre-production server.
  
Download the appropriate upgrade patch file from the list below and substitue for x and y as appropiate:  
+
=== From GitHub ===
 +
If you have installed with GitHub you can update to the latest version using the following commands, substituting y form the version you want:
  
Become eprints user and go to eprints installation directory:
+
  git fetch origin
  sudo su eprints
+
  git merge tags/v3.3.y
  cd /opt/eprints3
 
  
Check if you are on version 3.3.x:
+
This should warn you if you have made any locally uncommitted changes. You may need to use ''git stash'' to move these temporarily and reintegrate after updating from GitHUb.
cat VERSION
 
  
Apply the patch only if you are on 3.3.x
+
=== From Tarball ===
  patch -p1 < ./upgrade-3.3.x-3.3.y.patch
+
Although not impossible it is strongly discouraged to upgrade from a tarball.  One major reason not to do this is that if you have made any local changes other than to your original archive's configuration, it will be difficult to ensure all these modifications are retainedHowever, if you wish to do this, you can follow the instructions below, (as the eprints user unless otherwise stated):
  
You can safely ignore any missing Debian related files during patch by press "Enter". This is due to the patch generated by git.
+
1. Download the tarball from files.eprints.org, (e.g. http://files.eprints.org/1073/2/eprints-3.3.15.tar.gz)
  
Restart Apache to take effect.
+
2. As the root user, unpack the tarball under the same parent path as your existing EPrints and change the ownership of this whole directory structure:
  
=== Upgrade Patches ===
+
tar -xzvf eprints-3.3.15.tar.gz /opt/eprints3_new
* [http://files.eprints.org/1027/10/upgrade-3.3.13-3.3.14.patch 3.3.13 to 3.3.14]
+
chown -R eprints:eprints /opt/eprints3_new
  
 +
3. Move the archive(s) from your old EPrints to your new one, e.g.:
 +
 +
mv /opt/eprints3/archives/* /opt/eprints3_new/archives/
 +
 +
4. Copy SystemSettings.pm to you new EPrints
 +
 +
cp /opt/eprints3/perl_lib/EPrints/SystemSettings.pm /opt/eprints3_new/perl_lib/EPrints/
 +
 +
5. If you are aware of any local modifications to files under your EPrints path (e.g. /opt/eprints3) but outside in the archives directory then compare these files using diff to work out how your local changes can be integrated.  E.g.
 +
 +
diff /opt/eprints3/perl_lib/EPrints/MetaField/Date.pm /opt/eprints3_new/perl_lib/EPrints/MetaField/Date.pm
 +
 +
6. As the root user, switch round the old and new versions of EPrints, e.g.
 +
 +
mv /opt/eprints3 /opt/eprints3_old
 +
mv /opt/eprints3_new /opt/eprints3
 +
 +
7. Run epadmin test to check there are no configuration issues, e.g.:
 +
 +
/opt/eprints3/bin/epadmin test
 +
 +
8. As the root user, restart Apache.
 +
 +
apachectl restart
  
  

Revision as of 13:35, 5 September 2017

Upgrade from 3.3.x to 3.3.y

From a Linux Package Manager

If you have installed from the Deb or RPM package, then you can just upgrade this. However, it is recommended that you have done a backup before doing this. Also if this is on a production server, that you do this during an extended period of scheduled downtime and have previously tested the upgrade on a pre-production server.

From GitHub

If you have installed with GitHub you can update to the latest version using the following commands, substituting y form the version you want:

git fetch origin
git merge tags/v3.3.y

This should warn you if you have made any locally uncommitted changes. You may need to use git stash to move these temporarily and reintegrate after updating from GitHUb.

From Tarball

Although not impossible it is strongly discouraged to upgrade from a tarball. One major reason not to do this is that if you have made any local changes other than to your original archive's configuration, it will be difficult to ensure all these modifications are retained. However, if you wish to do this, you can follow the instructions below, (as the eprints user unless otherwise stated):

1. Download the tarball from files.eprints.org, (e.g. http://files.eprints.org/1073/2/eprints-3.3.15.tar.gz)

2. As the root user, unpack the tarball under the same parent path as your existing EPrints and change the ownership of this whole directory structure:

tar -xzvf eprints-3.3.15.tar.gz /opt/eprints3_new
chown -R eprints:eprints /opt/eprints3_new

3. Move the archive(s) from your old EPrints to your new one, e.g.:

mv /opt/eprints3/archives/* /opt/eprints3_new/archives/

4. Copy SystemSettings.pm to you new EPrints

cp /opt/eprints3/perl_lib/EPrints/SystemSettings.pm /opt/eprints3_new/perl_lib/EPrints/

5. If you are aware of any local modifications to files under your EPrints path (e.g. /opt/eprints3) but outside in the archives directory then compare these files using diff to work out how your local changes can be integrated. E.g.

diff /opt/eprints3/perl_lib/EPrints/MetaField/Date.pm /opt/eprints3_new/perl_lib/EPrints/MetaField/Date.pm 

6. As the root user, switch round the old and new versions of EPrints, e.g.

mv /opt/eprints3 /opt/eprints3_old
mv /opt/eprints3_new /opt/eprints3

7. Run epadmin test to check there are no configuration issues, e.g.:

/opt/eprints3/bin/epadmin test

8. As the root user, restart Apache.

apachectl restart


Upgrading from 3.1 or 3.2 to 3.3

Upgrading from older 3.1 and 3.2 versions of EPrints to 3.3 is somewhat more involved. Please see the following guides: