Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Download and install Tomcat from jakarta.apache.org
  2. 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
  3. Setup your Service Management Facility process
    1. 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
      
    2. Create the profile: /var/svc/manifest/application/dspace.xml

      Code 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>
      

      3. Now import the profile

      Code Block
      /usr/sbin/svccfg import /var/svc/manifest/application/dspace.xml
      

...

 Method 5 - Tomcat on low ports natively with authbind 

See: