mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-15 22:13:08 +00:00

git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5432 9c30dcfa-912a-0410-8fc2-9e0234be79fd
107 lines
4.6 KiB
Bash
Executable File
107 lines
4.6 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
###########################################################################
|
|
#
|
|
# make-handle-config
|
|
#
|
|
# Version: $Revision$
|
|
#
|
|
# Date: $Date$
|
|
#
|
|
# Copyright (c) 2002-2009, The DSpace Foundation. All rights reserved.
|
|
#
|
|
# Redistribution and use in source and binary forms, with or without
|
|
# modification, are permitted provided that the following conditions are
|
|
# met:
|
|
#
|
|
# - Redistributions of source code must retain the above copyright
|
|
# notice, this list of conditions and the following disclaimer.
|
|
#
|
|
# - Redistributions in binary form must reproduce the above copyright
|
|
# notice, this list of conditions and the following disclaimer in the
|
|
# documentation and/or other materials provided with the distribution.
|
|
#
|
|
# - Neither the name of the DSpace Foundation nor the names of its
|
|
# contributors may be used to endorse or promote products derived from
|
|
# this software without specific prior written permission.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
# HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
|
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
|
# TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
|
# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
|
# DAMAGE.
|
|
#
|
|
###########################################################################
|
|
|
|
# Shell script for writing a simple barebones configuration file for the
|
|
# Handle server, with default options, unencrypted keys and connected
|
|
# to the DSpace Handle plugin code.
|
|
|
|
# Get the DSPACE/bin directory
|
|
BINDIR=`dirname $0`
|
|
|
|
echo "Writing simple Handle server configuration"
|
|
|
|
# Read parameters from DSpace config
|
|
dshostname=`$BINDIR/dspace dsprop -property dspace.hostname`
|
|
dsname=`$BINDIR/dspace dsprop -property dspace.name`
|
|
handle=`$BINDIR/dspace dsprop -property handle.prefix`
|
|
handledir=`$BINDIR/dspace dsprop -property handle.dir`
|
|
tempfile=/tmp/handleconfig$$
|
|
contactemail=`$BINDIR/dspace dsprop -property mail.admin`
|
|
|
|
# Write the options to a file we can pipe into the setup tool
|
|
echo "1" >$tempfile # 1 = non-caching server, 2 = caching server
|
|
echo "" >>$tempfile # Primary server? Default = y (n = mirror server)
|
|
echo $dshostname >>$tempfile # IP address
|
|
echo "" >>$tempfile # Port to listen to (default=2641)
|
|
echo "" >>$tempfile # Port for HTTP i/f to listen to (default=8000)
|
|
echo "" >>$tempfile # Log all accesses? ("y" or "n", default=n)
|
|
echo "" >>$tempfile # Rotate logs? (defulat=No)
|
|
echo "" >>$tempfile # Version/serial no. of site (default=1)
|
|
echo $dsname Handle Server >>$tempfile # Server description
|
|
echo $dsname >>$tempfile # Server desriptive name
|
|
echo "" >>$tempfile # Contact name (default=none)
|
|
echo "" >>$tempfile # Contact telephone (default=none)
|
|
echo $contactemail >>$tempfile # Contact email
|
|
echo "" >>$tempfile # Block UDP access? ("y" or "n", default=n)
|
|
echo "n" >>$tempfile # Do not encrypt server cert private key
|
|
# OR do not overwrite old server cert private key
|
|
echo "n" >>$tempfile # Do not encrypt admin private key
|
|
# OR do not overwrite old admin private key
|
|
|
|
# Now run Handle server config tool, and pipe our config in
|
|
$BINDIR/dspace dsrun net.handle.server.SimpleSetup $handledir < $tempfile >/dev/null
|
|
|
|
# Remove temp file
|
|
rm -f $tempfile
|
|
|
|
# Now update server configuration (config.dct) with our handle prefix and the
|
|
# DSpace Handle plugin
|
|
sed 's/YOUR_NAMING_AUTHORITY/'$handle'/' <$handledir/config.dct >$tempfile
|
|
|
|
# Remove original config file - will replace
|
|
rm -f $handledir/config.dct
|
|
|
|
# Insert our HandlePlugin - this awk script inserts these lines in the
|
|
# server_config section:
|
|
# "storage_type" = "CUSTOM"
|
|
# "storage_class" = "org.dspace.handle.HandlePlugin"
|
|
awk '/.*/ {print $0} /"server_config" = {/ {printf "\"storage_type\" = \"CUSTOM\"\n\"storage_class\" = \"org.dspace.handle.HandlePlugin\"\n\n",$0}' <$tempfile >$handledir/config.dct
|
|
|
|
|
|
#sed 's/"server_config" = {/"server_config" = {\n"storage_type" = "CUSTOM"\n"storage_class" = "org.dspace.handle.HandlePlugin"/' <$tempfile >$handledir/config.dct
|
|
|
|
|
|
#awk 'NR==1 {printf "%s\n\"storage_type\" = \"CUSTOM\"\n\"storage_class\" = \"org.dspace.handle.HandlePlugin\"\n\n",$0} NR!=1 {print $0}' <$tempfile >$handledir/config.dct
|
|
|
|
# Remove temp file
|
|
rm -f $tempfile
|