-
Notifications
You must be signed in to change notification settings - Fork 18
Handle Server
A handle server is responsible for generating and resolving PIDs (persistent identificators) so you can cite our resources consistently for a "long" period. Imagine it as an abstraction of URLs which can change in time.
We have two communities where one uses local handle server and the other external using EPIC APIv2.
DSpace supports local handle servers out of the box which means that if we buy a prefix from handle.net (100$/first year), we can start to use our own local handler server which will do the communication with the handle.net GHR (global handle registry). Simply put, GHR will contain one record with PREFIX and the IP address of our local handle server. If you ask for resolution of our handle the request will be delegated to our local handle server which will be further delegated to DSpace API HandlePlugin (official way how to extend the handle server, see http://www.handle.net/tech_manual/Handle_Technical_Manual.pdf p. 31, http://www.handle.net/hs-source/api_javadoc/net/handle/hdllib/HandleStorage.html).
- see http://wiki.lib.sun.ac.za/index.php/SUNScholar/Handle_Server
- apply at http://handle.net/service_agreement.html
- create sitebndl.zip using (https://wiki.duraspace.org/display/DSDOC18/Installation#Installation-TheHandleServer)
[dspace]/bin/dspace make-handle-config [dspace]/handle-server
but do not set a passphrase or you would have hard time starting the handle server automatically
- updated config.dct and sitebndl.zip with your prefix e.g., 11234
- add the following into config.dct (between server_admins and replication_admins)
"storage_type" = "CUSTOM"
"storage_class" = "org.dspace.handle.HandlePlugin"
- consider changing
"case_sensitive" = "no"
to"case_sensitive" = "yes"
to preserve case in part identifiers - send sitebndl.zip to [email protected]
- access port 8000 where you installed the handle server, e.g., (http://lindat.mff.cuni.cz:8000, important information is stored in /opt/handle-server)
- handle logs are inside log.dir from dspace.cfg so in lindat it is in /installations/.../log/handle-{plugin,server}.log
- going to http://hdl.handle.net/11234/123?noredirect will ask our server for authority now
Note: If the DSpace instance is resolving handles for multiple prefixes, please adjust the file generated by bin/make-handle-prefix accordingly.
Copy the contents of $DSPACE_WORKSPACE/config/etc
to /etc
and modify /etc/default/handle-server
configuration file so that DSPACE_INSTALLATION_DIRECTORY
variable points to
the DSpace installation.
And as root
run
update-rc.d handle-server defaults
Handle Server can be then started/restarted/stopped in this way:
/etc/init.d/handle-server start
/etc/init.d/handle-server restart
/etc/init.d/handle-server stop
Note: Issue /etc/init.d/handle-server restart
repeatedly and verify that there is only one process running and that the process is actually killed and new one started (with different PID).
Use ps -ef | grep handle-server
to verify that.
Note: If the handle server is not running after startup, but the pid file is created in /var/run/handle-server.pid, verify that the dspace
command for extracting configuration values does not output any extra texts (for instance due to missing configuration variable values).