All Versions
- DSpace 7.x (Current Release)
- DSpace 8.x (Unreleased)
- DSpace 6.x (EOL)
- DSpace 5.x (EOL)
- More Versions...
Contribute to the DSpace Development Fund
The newly established DSpace Development Fund supports the development of new features prioritized by DSpace Governance. For a list of planned features see the fund wiki page.
As of version 7 (and above), the DSpace application is split into a "frontend" (User Interface) and a "backend" (Server API). Most institutions will want to install BOTH. However, you can decide whether to run them on the same machine or separate machines.
We recommend installing the Backend first, as the Frontend requires a valid Backend to run properly.
Work in progress (Feedback welcome)
These installation instructions are a work-in-progress and based heavily on the DSpace 6.x installation instructions. Feedback or improvements are welcome.
Make sure to install the JDK and not just the JRE
At this time, DSpace requires the full JDK (Java Development Kit) be installed, rather than just the JRE (Java Runtime Environment). So, please be sure that you are installing the full JDK and not just the JRE.
Only JDK11 is fully supported
Older versions of Java are unsupported. This includes JDK v7-10.
Newer versions of Java may work (e.g. JDK v12-16), but we do not recommend running them in Production. We highly recommend running only Java LTS (Long Term Support) releases in Production, as non-LTS releases may not receive ongoing security fixes. As of this DSpace release, JDK11 is the most recent Java LTS release, with the next one (JDK17) being due sometime around September 2021. As soon as the next Java LTS release is available, we will analyze it for compatibility with this release of DSpace. For more information on Java releases, see the Java roadmaps for Oracle and/or OpenJDK.
Maven is necessary in the first stage of the build process to assemble the installation package for your DSpace instance. It gives you the flexibility to customize DSpace using the existing Maven projects found in the [dspace-source]/dspace/modules directory or by adding in your own Maven project to build the installation package for DSpace, and apply any custom interface "overlay" changes.
Maven can be downloaded from http://maven.apache.org/download.html
You can configure a proxy to use for some or all of your HTTP requests in Maven. The username and password are only required if your proxy requires basic authentication (note that later releases may support storing your passwords in a secured keystore‚ in the meantime, please ensure your settings.xml file (usually ${user.home}/.m2/settings.xml) is secured with permissions appropriate for your operating system).
Example:
<settings> . . <proxies> <proxy> <active>true</active> <protocol>http</protocol> <host>proxy.somewhere.com</host> <port>8080</port> <username>proxyuser</username> <password>somepassword</password> <nonProxyHosts>www.google.com|*.somewhere.com</nonProxyHosts> </proxy> </proxies> . . </settings>
Apache Ant is required for the second stage of the build process (deploying/installing the application). First, Maven is used to construct the installer ([dspace-source]/dspace/target/dspace-installer
), after which Ant is used to install/deploy DSpace to the installation directory.
Ant can be downloaded from the following location: http://ant.apache.org
PostgreSQL v9.4 to v11 will likely work, but earlier versions are less well tested.
Active development/testing on DSpace 7 has occurred on PostgreSQL v11. However, it is likely that the backend would also function on PostgreSQL v9.4 - v10. At this time we have not performed sufficient testing on these earlier versions to add them to the prerequisites listing.
DSpace 7 will definitely not function on versions below 9.4 as DSpace requires installing and running the pgcrypto extension (see below) v1.1, which was not available until PostgreSQL v9.4.
postgresql.conf
: uncomment the line starting: listen_addresses = 'localhost'
. This is the default, in recent PostgreSQL releases, but you should at least check it.Then tighten up security a bit by editing pg_hba.conf
and adding this line:
host dspace dspace 127.0.0.1 255.255.255.255 md5
This should appear before any lines matching all
databases, because the first matching rule governs.
tnsnames.ora
and listener.ora
files to the database the Oracle server.Solr can be obtained at the Apache Software Foundation site for Lucene and Solr. You may wish to read portions of the quick-start tutorial to make yourself familiar with Solr's layout and operation. Unpack a Solr .tgz or .zip archive in a place where you keep software that is not handled by your operating system's package management tools, and arrange to have it running whenever DSpace is running. You should ensure that Solr's index directories will have plenty of room to grow. You should also ensure that port 8983 is not in use by something else, or configure Solr to use a different port.
If you are looking for a good place to put Solr, consider /opt
or /usr/local
. You can simply unpack Solr in one place and use it. Or you can configure Solr to keep its indexes elsewhere, if you need to – see the Solr documentation for how to do this.
It is not necessary to dedicate a Solr instance to DSpace, if you already have one and want to use it. Simply copy DSpace's cores to a place where they will be discovered by Solr. See below.
Currently, there is a known bug in DSpace where a third-party Maven Module expects git
to be available (in order to support the ./dspace version
commandline tool). We are working on a solution within this ticket:
For the time being, you can work around this problem by installing Git locally: https://git-scm.com/downloads
Make sure to install the JDK and not just the JRE
At this time, DSpace requires the full JDK (Java Development Kit) be installed, rather than just the JRE (Java Runtime Environment). So, please be sure that you are installing the full JDK and not just the JRE.
Only JDK11 is fully supported
Older versions of Java are unsupported. This includes JDK v7-10.
Newer versions of Java may work (e.g. JDK v12-16), but we do not recommend running them in Production. We highly recommend running only Java LTS (Long Term Support) releases in Production, as non-LTS releases may not receive ongoing security fixes. As of this DSpace release, JDK11 is the most recent Java LTS release, with the next one (JDK17) being due sometime around September 2021. As soon as the next Java LTS release is available, we will analyze it for compatibility with this release of DSpace. For more information on Java releases, see the Java roadmaps for Oracle and/or OpenJDK.
Maven is necessary in the first stage of the build process to assemble the installation package for your DSpace instance. It gives you the flexibility to customize DSpace using the existing Maven projects found in the [dspace-source]/dspace/modules directory or by adding in your own Maven project to build the installation package for DSpace, and apply any custom interface "overlay" changes.
Maven can be downloaded from http://maven.apache.org/download.html
You can configure a proxy to use for some or all of your HTTP requests in Maven. The username and password are only required if your proxy requires basic authentication (note that later releases may support storing your passwords in a secured keystore‚ in the meantime, please ensure your settings.xml file (usually ${user.home}/.m2/settings.xml) is secured with permissions appropriate for your operating system).
Example:
<settings> . . <proxies> <proxy> <active>true</active> <protocol>http</protocol> <host>proxy.somewhere.com</host> <port>8080</port> <username>proxyuser</username> <password>somepassword</password> <nonProxyHosts>www.google.com|*.somewhere.com</nonProxyHosts> </proxy> </proxies> . . </settings>
Apache Ant is required for the second stage of the build process (deploying/installing the application). First, Maven is used to construct the installer ([dspace-source]/dspace/target/dspace-installer
), after which Ant is used to install/deploy DSpace to the installation directory.
Ant can be downloaded from the following location: http://ant.apache.org
PostgreSQL v9.4 to v11 will likely work, but earlier versions are less well tested.
Active development/testing on DSpace 7 has occurred on PostgreSQL v11. However, it is likely that the backend would also function on PostgreSQL v9.4 - v10. At this time we have not performed sufficient testing on these earlier versions to add them to the prerequisites listing.
DSpace 7 will definitely not function on versions below 9.4 as DSpace requires installing and running the pgcrypto extension (see below) v1.1, which was not available until PostgreSQL v9.4.
postgresql.conf
: uncomment the line starting: listen_addresses = 'localhost'
. This is the default, in recent PostgreSQL releases, but you should at least check it.Then tighten up security a bit by editing pg_hba.conf
and adding this line:
host dspace dspace 127.0.0.1 255.255.255.255 md5
This should appear before any lines matching all
databases, because the first matching rule governs.
tnsnames.ora
and listener.ora
files to the database the Oracle server.Solr can be obtained at the Apache Software Foundation site for Lucene and Solr. You may wish to read portions of the quick-start tutorial to make yourself familiar with Solr's layout and operation. Unpack a Solr .tgz or .zip archive in a place where you keep software that is not handled by your operating system's package management tools, and arrange to have it running whenever DSpace is running. You should ensure that Solr's index directories will have plenty of room to grow. You should also ensure that port 8983 is not in use by something else, or configure Solr to use a different port.
If you are looking for a good place to put Solr, consider /opt
or /usr/local
. You can simply unpack Solr in one place and use it. Or you can configure Solr to keep its indexes elsewhere, if you need to – see the Solr documentation for how to do this.
It is not necessary to dedicate a Solr instance to DSpace, if you already have one and want to use it. Simply copy DSpace's cores to a place where they will be discovered by Solr. See below.
Currently, there is a known bug in DSpace where a third-party Maven Module expects git
to be available (in order to support the ./dspace version
commandline tool). We are working on a solution within this ticket:
For the time being, you can work around this problem by installing Git locally: https://git-scm.com/downloads
Work in progress (Feedback welcome)
Please install "git"
At this time, installation requires checking out the codebase via Git. In later Beta releases, we will provide prepackaged downloads.
Download our "dspace-angular" application (which is the DSpace 7 user interface) using Git. All you should need to do is the steps in the "Quick Start" at: https://github.com/DSpace/dspace-angular/#quick-start
# clone the repo git clone https://github.com/DSpace/dspace-angular.git # change directory to our repo cd dspace-angular # install the local dependencies yarn install
[dspace-angular]/config/environment.default.js
configuration file, pointing it at your installed DSpace Backend. For example:// This example is valid if your Backend is running at http://localhost:8080/server/ rest: { ssl: false, host: 'localhost', port: 8080, // NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript nameSpace: '/server/api' }
Start the application
# build and start the application yarn start