All Versions
- DSpace 7.x (Current Release)
- DSpace 8.x (Unreleased)
- DSpace 6.x (EOL)
- DSpace 5.x (EOL)
- More Versions...
...
Note |
---|
In the notes below |
Anchor | ||||
---|---|---|---|---|
|
Before you start your upgrade, it is strongly recommended that you create a backup of your DSpace instance. Backups are easy to recover from; a botched install/upgrade is very difficult if not impossible to recover from. The DSpace specific things to backup are: configs, source code modifications, database, and assetstore. On your server that runs DSpace, you might additionally consider checking on your cron/scheduled tasks, servlet container, and database.
...
Database: Make a snapshot/dump of the database. For the PostgreSQL database use Postgres' pg_dump command. For example:
Code Block |
---|
pg_dump -U [database-user] -f [backup-file-location] [database-name] |
[dspace]/assetstore
by default, and any other assetstores configured in the [dspace]/config/dspace.cfg
"assetstore.dir" and "assetstore.dir.#" settings)[dspace]/config
.[dspace-source]/dspace/modules/jspui/src/main/webapp/
[dspace-source]/dspace/modules/xmlui/src/main/webapp/
[dspace]/config
[dspace-source]/build.properties
). Any settings changed in this build.properties
file are automatically copied over to the final dspace.cfg
file during the "Build DSpace" process (in the next step). For more information on the build.properties file, see "The build.properties Configuration Properties File" section of the Configuration Reference documentation.Build DSpace. Run the following commands to compile DSpace:
Code Block |
---|
cd [dspace-source]/dspace/ mvn -U clean package |
You will find the result in [dspace-source]/dspace/target/dspace-[version]-build.dir
. Inside this directory is the compiled binary distribution of DSpace. Before rebuilding DSpace ('package'), the above command will clean out any previously compiled code ('clean') and ensure that your local DSpace JAR files are updated from the remote maven repository.
$CATALINA_HOME/shutdown.sh
script. (Many Unix-based installations will have a startup/shutdown script in the /etc/init.d
or /etc/rc.d
directories.)Update the DSpace installed directory with the new code and libraries. Issue the following commands:
Code Block |
---|
cd [dspace-source]/dspace/target/dspace-[version]-build.dir ant update |
[dspace-source]/dspace/etc/postgres/database_schema_3-4.sql
[dspace-source]/dspace/etc/oracle/database_schema_3-4.sql
Refresh Browse and Search Indexes. It is a good policy to rebuild your search and browse indexes when upgrading to a new release. To do this, run the following command from your DSpace install directory (as the dspace user):
Code Block |
---|
[dspace]/bin/dspace index-init |
Refresh Discovery: If you are using Discovery (Solr) for search/browse, you will also need to refresh Discovery indexes by running the following command:
Code Block |
---|
[dspace]/bin/dspace index-discovery -f |
Deploy Web Applications. If necessary, copy the web applications files from your [dspace]/webapps
directory to the subdirectory of your servlet container (e.g. Tomcat):
Code Block |
---|
cp -R [dspace]/webapps/* [tomcat]/webapps/ |
See the installation guide for full details.
Upgrade Solr Indexes. After upgrading DSpace, you should optimize your Solr indexes to ensure that they are in the current format. Solr can upgrade recent formats to its current one. Doing this whenever you upgrade DSpace should keep the index formats current. You can optimize your indexes with a command line tool such as <code>wget</code>:
Code Block | ||||
---|---|---|---|---|
| ||||
wget http://www.example.com/solr/<core>/update?optimize=true |
If you have been through several DSpace upgrades and have not done this, there is a chance that your indexes are in a format too old for the most recent Solr to convert:
Info | ||
---|---|---|
| ||
Caused by: org.apache.lucene.index.IndexFormatTooOldException: Format version is not supported (resource: segment _386q in resource ChecksumIndexInput(MMapIndexInput(path="/space/dspace/solr/statistics/data/index/segments_37m6"))): 2.x. This version of Lucene only supports indexes created with release 3.0 and later. |
You may be able to use your older DSpace installation before upgrading it, to upgrade your indexes enough that a second optimization after upgrading DSpace will succeed. You can also use an external tool with its own version of the required libraries, such as Luke. You will need a version of Lucene (the indexing library used by Solr) which can convert the earlier version into the later one. So, for example, you could use the Solr webapp. in DSpace 1.8.x or 3.x, or Luke 3.5, to upgrade version 2 indexes to version 3. Once you have version 3 index files, you should be able to upgrade to DSpace 4.x, and the next optimization you do will upgrade the indexes again to version 4.