Running DSpace on Standard Ports (80 for http:// and 443 for https
...
://)
Since it is not trivial to get a Java servlet container, such asApache Tomcat, to listen on the "standard" TCP ports for a Web server, this page explains alternative ways to accomplish it.
...
Code Block |
---|
/usr/bin/openssl pkcs12 -export -out keystore.pkcs12 -in ./server.crt -inkey ./server.key
|
* Then change the ownership on
...
By convention, web-servers listen on port 80 to deliver content such as static html files. So that web browsers can
Code Block |
---|
## use the more familiar url http://www.dspace-instance.org ## instead of.... http://www.dspace-instance.org:8080/jspui http://www.dspace-instance.org:8080/xmlui |
- Set Tomcat to serve up DSpace by default
...
Code Block |
---|
<body>
<jsp:forward page="HelloWorld.jsp"/>
|
3. Edit: ../ROOT/WEB-INF/web.xml, disable the following text as follows:
Code Block |
---|
<!-- JSPC servlet mappings start
<servlet>
<servlet-name>org.apache.jsp.index_jsp</servlet-name>
<servlet-class>org.apache.jsp.index_jsp</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>org.apache.jsp.index_jsp</servlet-name>
<url-pattern>/index.jsp</url-pattern>
</servlet-mapping>
-->
|
4. Re-start tomcat
Method 4 - Use Tomcat's jsvc daemon
...
- Download and install Tomcat from jakarta.apache.org
- Compile jsvc
- export JAVA_HOME=/usr/java
- cd $CATALINA_HOME/bin
- gunzip jsvc.tar.gz && tar -xvf jsvc.tar
- ./configure
- gmake
- cp jsvc ..
- cd ..
- chown tomcat:tomcat jsvc
- rm -rf jsvc-src
- Setup your Service Management Facility process
- create the following file: /lib/svc/method/dspace
Code Block #!/bin/sh . /lib/svc/share/smf_include.sh JAVA_HOME=/usr/java JAVA_OPTS="-Xmx512M -Xms64M -Dfile.encoding=UTF-8" CATALINA_HOME=<where tomcat is installed> DAEMON_HOME=<where tomcat is installed> TOMCAT_USER=tomcat TMP_DIR=/var/tmp PID_FILE=/var/run/txspace.pid CATALINA_BASE=<where tomcat is installed> CLASSPATH=$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/bin/commons-daemon.jar:$CATALINA_HOME/bin/bootstrap.jar start() { $DAEMON_HOME/bin/jsvc -user $TOMCAT_USER -home $JAVA_HOME -Dcatalina.home=$CATALINA_HOME \ -Dcatalina.base=$CATALINA_BASE -Djava.io.tmpdir=$TMP_DIR -wait 10 -pidfile $PID_FILE \ -outfile $CATALINA_BASE/logs/catalina.out -errfile '&1' -Xms256m -Xms1024m \ -cp $CLASSPATH org.apache.catalina.startup.Bootstrap } stop() { $DAEMON_HOME/bin/jsvc -stop -pidfile $PID_FILE org.apache.catalina.startup.Bootstrap } case "$1" in 'start') echo "Starting Tomcat" start ;; 'stop') echo "Stopping Tomcat" stop ;; 'refresh') echo "Restarting Tomcat" stop start ;; *) echo "Usage tomcat.sh start/stop/refresh" exit 1;; esac exit $SMF_EXIT_OK
- Create the profile: /var/svc/manifest/application/dspace.xml
3. Now import the profileCode Block <?xml version="1.0"?> <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1"> <service_bundle type='manifest' name='dspace'> <service name='application/dspace' type='service' version='1'> <create_default_instance enabled='true'/> <single_instance/> <dependency name='loopback' grouping='require_all' restart_on='error' type='service'> <service_fmri value='svc:/network/loopback:default'/> </dependency> <dependency name='physical' grouping='require_all' restart_on='error' type='service'> <service_fmri value='svc:/network/physical:default'/> </dependency> <exec_method type='method' name='start' exec='/lib/svc/method/txspace start' timeout_seconds='60' /> <exec_method type='method' name='stop' exec='/lib/svc/method/txspace stop' timeout_seconds='5' /> <exec_method type='method' name='refresh' exec='/lib/svc/method/txspace refresh' timeout_seconds='5' /> <stability value='Unstable' /> <template> <common_name> <loctext xml:lang='C'>DSpace</loctext> </common_name> <documentation> <manpage title='dspace' manpath='/opt/apps/man' section='8' /> <doc_link name='tomcat.apache.org' uri='http://tomcat.apache.org' /> </documentation> </template> </service> </service_bundle> </code>
Code Block /usr/sbin/svccfg import /var/svc/manifest/application/dspace.xml
- create the following file: /lib/svc/method/dspace
...