JSVC Berechtigungsproblem

M

minimike

Hi

Ich entwickle gerade ein Mailsystem. Beteiligte Komponennten zur Zeit sind Apache Tomcat 6.0.32, Apache Directory Server und Apache James 3 M2. Später soll das mit Apache Harmony und zusätzlich Jamm Hypergate sowie Apache Hula laufen. PostgreSQL 9 als Datenbank. Apache James und ApacheDS sind als WAR mittlerweile von mir erzeugt worden und im Tomcat deployed

Zieltargets wären FreeBSD 8.x. und RHEL6 auf meiner Workstation. Und da kommt ja dann das bekannte Problem mit den Ports. Die sind alle unterhalb der magischen 1024. Sofern ich den Tomcat versuchsweise mit Rootrechten starte (ich weis ein erschreckender Gedanke) kommen die Services hoch. Klar, das kann so nicht weitergehen. Also habe ich den JSVC installiert. Redhat liefert den mittlerweile sogar als RPM aus :) Und dazu ein passendes Script

Code:
#!/bin/sh
#
# tomcat Tomcat
#
# chkconfig: 345 99 99
# description: Tomcat daemon.
#
##############################################################################
#
#   Copyright 2004 The Apache Software Foundation.
#
#   Licensed under the Apache License, Version 2.0 (the "License");
#   you may not use this file except in compliance with the License.
#   You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
#   Unless required by applicable law or agreed to in writing, software
#   distributed under the License is distributed on an "AS IS" BASIS,
#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#   See the License for the specific language governing permissions and
#   limitations under the License.
##############################################################################
#
#
# Adapt the following lines to your configuration
CATALINA_HOME=/home/darko/JAVA/Project_Mail/apache-tomcat-6.0.32
JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64
TOMCAT_USER=tomcat
TOMCAT_GROUP=tomcat

# for multi instances adapt these lines:
CATALINA_BASE=$CATALINA_HOME
LOG_FILE=/var/log/tomcat/tomcat.log
PID_FILE=/var/run/tomcat.pid
TMP_DIR=/tmp

CATALINA_OPTS="$CATALINA_OPTS -Djava.library.path=$CATALINA_HOME/lib"
CLASSPATH=\
$JAVA_HOME/lib/tools.jar:\
$CATALINA_HOME/bin/commons-daemon.jar:\
$CATALINA_HOME/bin/bootstrap.jar
JAVA_OPTS="-Xms256m -Xmx1024m -XX:MaxPermSize=256m -Dfile.encoding=UTF8"



case "$1" in
  start)
    #
    # Start Tomcat
    #

    echo -n "Starting tomcat: "

    $CATALINA_HOME/bin/jsvc \
    -user $TOMCAT_USER \
    -home $JAVA_HOME \
    -Dcatalina.home=$CATALINA_HOME \
    -Dcatalina.base=$CATALINA_BASE \
    -Djava.io.tmpdir=$TMP_DIR \
    -wait 60 \
    -pidfile $PID_FILE \
    -outfile $LOG_FILE \
    $JAVA_OPTS \
    $CATALINA_OPTS \
    -cp $CLASSPATH \
    org.apache.catalina.startup.Bootstrap

    #
    # To get a verbose JVM
    #-verbose \
    # To get a debug of jsvc.
    #-debug \
    #
    #-Djava.awt.headless=true \

    rtn=$?
    if [ $rtn = 0 ]; then
      echo "OK"
      exit $rtn
    else
      echo "FAIL"
      exit $rtn
    fi
    ;;

  stop)
    #
    # Stop Tomcat
    #

    echo -n "Stopping tomcat: "

    $CATALINA_HOME/bin/jsvc \
    -stop \
    -pidfile $PID_FILE \
    org.apache.catalina.startup.Bootstrap

    rtn=$?
    if [ $rtn = 0 ]; then
      echo "OK"
      exit $rtn
    else
      echo "FAIL"
      exit $rtn
    fi

    ;;

  status)
    echo -n "Status: "
    if [ -e $PID_FILE ]; then
      echo "Running"
    else
      echo "Stopped"
    fi
    exit $?
    ;;

  *)
    echo "Usage: $0 {start|stop|status}"
    exit 1;;
esac

Ich nutze den JSVC bisher aus anderen Gründen, Aber ich hatte immer im Hinterkopf das der Daemon es auch ermöglicht priveligierte Ports zu verwenden in dem er mit Rootrechten startet und dann an den User übergibt. Und das ist mein Problem, denn das klappt zur Zeit nicht. Jemand noch eine Idee zum JSVC? Oder ist mein Gedankenansatz falsch und ich benötige eine andere Lösung?
 

Ähnliche Themen

Apache HTTP Server startet nicht

[Gelöst] Suchen und ersetzen mit Hilfe mehrerer Parameter

Problem mit HSPA+ Modem Huawei E353 - Installation unmöglich?

Queue für copy Script

Autostart von X mit google-chrome durch systemd

Zurück
Oben