[Server] Apache Tomcat non parte all'avvio!

Installazione, configurazione e uso di Ubuntu come server: web, ftp, mail, news, proxy, dns e altro.
Skarafaz
Prode Principiante
Messaggi: 59
Iscrizione: mercoledì 11 giugno 2008, 19:01

[Server] Apache Tomcat non parte all'avvio!

Messaggio da Skarafaz »

Salve!

ho installato apache tomcat su ubuntu 9.04 seguendo la guida nella documentazione

http://wiki.ubuntu-it.org/Server/ApacheTomcat

tutto ok, a parte il fatto che il server tomcat non parte all'avvio (avviandolo manualmente con /etc/init.d/tomcat start tutto funziona a meraviglia)

non avendo ancora molta dimestichezza con gli script di init.d chiedo lumi ai più esperti! Questo è lo script (preso dalla guida e adattato per la versione 6 di java):

Codice: Seleziona tutto

#!/bin/bash
#
# Startup script for the Tomcat server
#
# chkconfig: - 83 53
# description: Starts and stops the Tomcat daemon.
# processname: tomcat
# pidfile: /var/run/tomcat.pid
# See how we were called.
case $1 in
        start)
                export JAVA_HOME=/usr/lib/jvm/java-6-sun/
                export CLASSPATH=/usr/local/tomcat/lib/servlet-api.jar
                export CLASSPATH=/usr/local/tomcat/lib/jsp-api.jar
                export JRE_HOME=/usr/lib/jvm/java-6-sun/
                echo "Tomcat is started"
                sh /usr/local/tomcat/bin/startup.sh
        ;;
        stop)
                export JRE_HOME=/usr/lib/jvm/java-6-sun/
                sh /usr/local/tomcat/bin/shutdown.sh
                echo "Tomcat is stopped"
        ;;
        restart)
                export JRE_HOME=/usr/lib/jvm/java-6-sun/
                sh /usr/local/tomcat/bin/shutdown.sh
                echo "Tomcat is stopped"
                sh /usr/local/tomcat/bin/startup.sh
                echo "Tomcat is started"
        ;;
        *)
                echo "Usage: /etc/init.d/tomcat start|stop|restart"
        ;;
esac
exit 0
dopo aver creato il file ho modificato i permessi e fatto l'update di rc.d come suggerito dalla guida:

Codice: Seleziona tutto

sudo chmod 755 /etc/init.d/tomcat
sudo update-rc.d tomcat defaults
dove sta l'errore?
Skarafaz
Prode Principiante
Messaggi: 59
Iscrizione: mercoledì 11 giugno 2008, 19:01

Re: [Server] Apache Tomcat non parte all'avvio!

Messaggio da Skarafaz »

Info aggiuntiva:

Codice: Seleziona tutto

antonio@PC2-Linux:~$ sudo update-rc.d tomcat defaults
update-rc.d: warning: /etc/init.d/tomcat missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
 Adding system startup for /etc/init.d/tomcat ...
   /etc/rc0.d/K20tomcat -> ../init.d/tomcat
   /etc/rc1.d/K20tomcat -> ../init.d/tomcat
   /etc/rc6.d/K20tomcat -> ../init.d/tomcat
   /etc/rc2.d/S20tomcat -> ../init.d/tomcat
   /etc/rc3.d/S20tomcat -> ../init.d/tomcat
   /etc/rc4.d/S20tomcat -> ../init.d/tomcat
   /etc/rc5.d/S20tomcat -> ../init.d/tomcat
questo è l'output del comando update-rc.d, è ok? Oppure il problema potrebbe essere legato al warning?
lucap78
Prode Principiante
Messaggi: 152
Iscrizione: martedì 1 agosto 2006, 9:13
Contatti:

Re: [Server] Apache Tomcat non parte all'avvio!

Messaggio da lucap78 »

Hai provato a far partire tomcat come ultimo servizio del server?

hai provato a controllare i log di boot?
Skarafaz
Prode Principiante
Messaggi: 59
Iscrizione: mercoledì 11 giugno 2008, 19:01

Re: [Server] Apache Tomcat non parte all'avvio!

Messaggio da Skarafaz »

il log di boot non mi funge! L'ho abilitato nel file /etc/default/bootlogd, ma dopo il riavvio nel file /var/log/boot mi dice (Nothing has been logged yet)...
lucap78
Prode Principiante
Messaggi: 152
Iscrizione: martedì 1 agosto 2006, 9:13
Contatti:

Re: [Server] Apache Tomcat non parte all'avvio!

Messaggio da lucap78 »

Io sulla mia Debian etch ho questo script di avvio di tomcat:

Codice: Seleziona tutto

#!/bin/sh
#
# /etc/init.d/tomcat5.5 -- startup script for the Tomcat 5 servlet engine
#
# Written by Miquel van Smoorenburg <miquels@cistron.nl>.
# Modified for Debian GNU/Linux by Ian Murdock <imurdock@gnu.ai.mit.edu>.
# Modified for Tomcat by Stefan Gybas <sgybas@debian.org>.
#
### BEGIN INIT INFO
# Provides:          tomcat
# Required-Start:    $local_fs $remote_fs $network
# Required-Stop:     $local_fs $remote_fs $network
# Should-Start:      $named
# Should-Stop:       $named
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start Tomcat.
# Description:       Start the Tomcat servlet engine.
### END INIT INFO

set -e

PATH=/bin:/usr/bin:/sbin:/usr/sbin
NAME=tomcat5.5
DESC="Tomcat servlet engine"
CATALINA_HOME=/usr/share/$NAME
DAEMON=$CATALINA_HOME/bin/catalina.sh
DEFAULT=/etc/default/$NAME

. /lib/lsb/init-functions
. /etc/default/rcS

# The following variables can be overwritten in $DEFAULT

# Run Tomcat 5 as this user ID
TOMCAT5_USER=tomcat55

# The first existing directory is used for JAVA_HOME (if JAVA_HOME is not
# defined in $DEFAULT)
JDK_DIRS="/usr/lib/jvm/java-1.5.0-sun /usr/lib/j2sdk1.4-sun /usr/lib/j2sdk1.4-blackdown /usr/lib/j2se/1.4 /usr/lib/j2sdk1.5-sun /usr/lib/j2sdk1.3-sun /usr/lib/j2sdk1.3-blackdown /usr/lib/j2sdk1.5-ibm /usr/lib/j2sdk1.4-ibm /usr/lib/jvm/java-gcj /usr/lib/kaffe"

# Directory for per-instance configuration files and webapps
CATALINA_BASE=/var/lib/tomcat5.5

# Use the Java security manager? (yes/no)
TOMCAT5_SECURITY=no

# Timeout in seconds for the shutdown of all webapps
TOMCAT5_SHUTDOWN=30

# End of variables that can be overwritten in $DEFAULT

# overwrite settings from default file
if [ -f "$DEFAULT" ]; then
        . "$DEFAULT"
fi

test -f $DAEMON || exit 0

[ -z "$TOMCAT5_USER" ] && TOMCAT5_USER=tomcat55

# Look for the right JVM to use
for jdir in $JDK_DIRS; do
        if [ -r "$jdir/bin/java" -a -z "${JAVA_HOME}" ]; then
                JAVA_HOME_TMP="$jdir"
                # checks for a real JDK like environment, needed to check if 
                # really the java-gcj-compat-dev package is installed
                if [ -r "$jdir/bin/jdb" ]; then
                        JAVA_HOME="$JAVA_HOME_TMP"
                fi
        fi
done
export JAVA_HOME

# Set java.awt.headless=true if CATALINA_OPTS is not set so the
# Xalan XSL transformer can work without X11 display on JDK 1.4+
# It also looks like the default heap size of 64M is not enough for most cases
# se the maximum heap size is set to 128M
if [ -z "$CATALINA_OPTS" ]; then
        CATALINA_OPTS="-Djava.awt.headless=true -Xmx128M"
fi

# Set the JSP compiler if set in the tomcat5.5.default file
if [ -n "$JSP_COMPILER" ]; then
        CATALINA_OPTS="$CATALINA_OPTS -Dbuild.compiler=$JSP_COMPILER"
fi

# Define other required variables
CATALINA_PID="$CATALINA_BASE/temp/$NAME.pid"
STARTUP_OPTS=""
if [ "$TOMCAT5_SECURITY" = "yes" ]; then
        STARTUP_OPTS="-security"
fi

# Look for Java Secure Sockets Extension (JSSE) JARs
if [ -z "${JSSE_HOME}" -a -r "${JAVA_HOME}/jre/lib/jsse.jar" ]; then
    JSSE_HOME="${JAVA_HOME}/jre/"
fi

export CATALINA_HOME CATALINA_BASE CATALINA_OPTS CATALINA_PID JSSE_HOME

case "$1" in
  start)
        if [ -z "$JAVA_HOME" ]; then
                log_failure_msg "Not starting Tomcat: no Java Development Kit found."
                exit 1
        fi

        if [ ! -d "$CATALINA_BASE/conf" ]; then
                log_failure_msg "Not starting Tomcat: invalid CATALINA_BASE specified."
                exit 1
        fi

        log_daemon_msg "Starting $DESC" "$NAME"
        if start-stop-daemon --test --start --pidfile "$CATALINA_PID" \
                --user $TOMCAT5_USER --startas "$JAVA_HOME/bin/java" \
                >/dev/null; then

                # Create catalina.policy (for the security manager)
                rm -f "$CATALINA_BASE/conf/catalina.policy"
                umask 022
                echo "// AUTO-GENERATED FILE -- DO NOT EDIT!" \
                        > "$CATALINA_BASE/conf/catalina.policy"
                echo "// Edit the files in /etc/tomcat5.5/policy.d/ instead" \
                        >> "$CATALINA_BASE/conf/catalina.policy"
                echo ""  >> "$CATALINA_BASE/conf/catalina.policy"
                cat /etc/tomcat5.5/policy.d/*.policy \
                        >> "$CATALINA_BASE/conf/catalina.policy"

                # Clean up and set permissions on required files
                rm -rf "$CATALINA_BASE"/temp/* \
                        "$CATALINA_BASE/logs/catalina.out"
                mkfifo -m700 "$CATALINA_BASE/logs/catalina.out"
                chown --dereference "$TOMCAT5_USER" "$CATALINA_BASE/conf" \
                        "$CATALINA_BASE/conf/tomcat-users.xml" \
                        "$CATALINA_BASE/logs" "$CATALINA_BASE/temp" \
                        "$CATALINA_BASE/webapps" "$CATALINA_BASE/work" \
                        "$CATALINA_BASE/logs/catalina.out" || true

                # Look for rotatelogs/rotatelogs2
                if [ -x /usr/sbin/rotatelogs ]; then
                        ROTATELOGS=/usr/sbin/rotatelogs
                else
                        ROTATELOGS=/usr/sbin/rotatelogs2
                fi

                # -p preserves the environment (for $JAVA_HOME etc.)
                # -s is required because tomcat5.5's login shell is /bin/false
                su -p -s /bin/sh $TOMCAT5_USER \
                                -c "$ROTATELOGS \"$CATALINA_BASE/logs/catalina_%F.log\" 86400" \
                                < "$CATALINA_BASE/logs/catalina.out" &
                su -p -s /bin/sh $TOMCAT5_USER \
                        -c "\"$DAEMON\" start $STARTUP_OPTS" \
                        >> "$CATALINA_BASE/logs/catalina.out" 2>&1
        else
                log_progress_msg "(already running)"
        fi
        log_end_msg 0
        ;;
  stop)
        log_daemon_msg "Stopping $DESC" "$NAME"
        if start-stop-daemon --test --start --pidfile "$CATALINA_PID" \
                --user "$TOMCAT5_USER" --startas "$JAVA_HOME/bin/java" \
                >/dev/null; then
                log_progress_msg "(not running)"
        else
                su -p -s /bin/sh $TOMCAT5_USER -c "\"$DAEMON\" stop" \
                        >/dev/null 2>&1 || true
                # Fallback to kill the JVM process in case stopping didn't work
                sleep 1
                while ! start-stop-daemon --test --start \
                        --pidfile "$CATALINA_PID" --user "$TOMCAT5_USER" \
                        --startas "$JAVA_HOME/bin/java" >/dev/null; do
                        sleep 1
                        log_progress_msg "."
                        TOMCAT5_SHUTDOWN=`expr $TOMCAT5_SHUTDOWN - 1` || true
                        if [ $TOMCAT5_SHUTDOWN -le 0 ]; then
                                log_progress_msg "(killing)"
                                start-stop-daemon --stop --signal 9 --oknodo \
                                        --quiet --pidfile "$CATALINA_PID" \
                                        --user "$TOMCAT5_USER"
                        fi
                done
                rm -f "$CATALINA_PID" "$CATALINA_BASE/logs/catalina.out"
        fi
        log_end_msg 0
        ;;
   status)
        if start-stop-daemon --test --start --pidfile "$CATALINA_PID" \
                --user $TOMCAT5_USER --startas "$JAVA_HOME/bin/java" \
                >/dev/null; then

                if [ -f "$CATALINA_PID" ]; then
                    log_success_msg "$DESC is not running, but pid file exists."
                    exit 1
                else
                    log_success_msg "$DESC is not running."
                    exit 3
                fi
        else
                log_success_msg "$DESC is running with Java pid $CATALINA_PID"
                exit 0
        fi
        ;;
  reload)
        log_failure_msg "Reload is not implemented!"
        exit 3
        ;;
  restart|force-reload)
        $0 stop
        sleep 1
        $0 start
        ;;
  *)
        log_success_msg "Usage: $0 {start|stop|restart|force-reload|status}"
        exit 1
        ;;
esac

exit 0
e come priorità di partenza ha 90.

Prova a rimuovere dai rc.d gli start del tuo script

Codice: Seleziona tutto

update-rc.d -f tomcat remove
Poi copia il mio script in /etc/init.d
Controlla che i path siano corretti
riesegui update-rc.d per inserirlo in avvio automatico


info su update-rc.d : http://loziopigna.blogspot.com/2007/08/update-rcd-debian.html
Avatar utente
superBob
Prode Principiante
Messaggi: 58
Iscrizione: martedì 2 settembre 2008, 14:06
Distribuzione: Ubuntu 12.04 x86_64

Re: [Server] Apache Tomcat non parte all'avvio!

Messaggio da superBob »

Ciao ho letto il link che ti ha segnalato il warning e vedendo anche lo script di lucap78 prova a mettere questo codice

Codice: Seleziona tutto

### BEGIN INIT INFO
# Provides:          tomcat
# Required-Start:    $local_fs $remote_fs $network
# Required-Stop:     $local_fs $remote_fs $network
# Should-Start:      $named
# Should-Stop:       $named
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start Tomcat.
# Description:       Start the Tomcat servlet engine.
### END INIT INFO
all'inizio del tuo script (vedi come è fatto quello di lucap78).
Comunque credo che il tuo problema sia dovuto alla mancanza di valori di default che "dovrebbero"(uso il condizionale perche il link non l'ho letto tutto  :-[ ) essere quelli elencati tra i tag ### BEGIN INIT INFO e ### END INIT INFO.
Skarafaz
Prode Principiante
Messaggi: 59
Iscrizione: mercoledì 11 giugno 2008, 19:01

Re: [Server] Apache Tomcat non parte all'avvio!

Messaggio da Skarafaz »

Allora...per quanto riguarda lo script di lucap78, ho qualche difficoltà a applicare tutti gli adattamenti alle mie versioni di tomcat e di java, comunque ci sto lavorando  (rotfl) nel frattempo ho inserito la modifica suggerita da superBob, ma purtroppo tomcat continua a non partire all'avvio (mentre avviandolo manualmente tutto ok!) Potrebbe aiutare il comando chkconfig? l'ho trovato su google, ma prima di far casini vorrei sapere la vostra opinione  :P
carlino1994
Prode Principiante
Messaggi: 68
Iscrizione: sabato 9 maggio 2009, 15:08
Distribuzione: Ubuntu 12.04 LTS 32bit
Località: Puglia
Contatti:

Re: [Server] Apache Tomcat non parte all'avvio!

Messaggio da carlino1994 »

Per l'avvio automatico hai provato a leggere questa guida?

http://appuntidiinformatica.wordpress.c ... di-ubuntu/
Skarafaz
Prode Principiante
Messaggi: 59
Iscrizione: mercoledì 11 giugno 2008, 19:01

Re: [Server] Apache Tomcat non parte all'avvio!

Messaggio da Skarafaz »

si, ho visto...ho seguito tutte le procedure descritte, penso che il problema sia legato allo script
carlino1994
Prode Principiante
Messaggi: 68
Iscrizione: sabato 9 maggio 2009, 15:08
Distribuzione: Ubuntu 12.04 LTS 32bit
Località: Puglia
Contatti:

Re: [Server] Apache Tomcat non parte all'avvio!

Messaggio da carlino1994 »

Nel file .sh che hai creato quali sono i comandi che hai inserito?
Skarafaz
Prode Principiante
Messaggi: 59
Iscrizione: mercoledì 11 giugno 2008, 19:01

Re: [Server] Apache Tomcat non parte all'avvio!

Messaggio da Skarafaz »

Skarafaz ha scritto:

Codice: Seleziona tutto

#!/bin/bash
#
# Startup script for the Tomcat server
#
# chkconfig: - 83 53
# description: Starts and stops the Tomcat daemon.
# processname: tomcat
# pidfile: /var/run/tomcat.pid
# See how we were called.
case $1 in
        start)
                export JAVA_HOME=/usr/lib/jvm/java-6-sun/
                export CLASSPATH=/usr/local/tomcat/lib/servlet-api.jar
                export CLASSPATH=/usr/local/tomcat/lib/jsp-api.jar
                export JRE_HOME=/usr/lib/jvm/java-6-sun/
                echo "Tomcat is started"
                sh /usr/local/tomcat/bin/startup.sh
        ;;
        stop)
                export JRE_HOME=/usr/lib/jvm/java-6-sun/
                sh /usr/local/tomcat/bin/shutdown.sh
                echo "Tomcat is stopped"
        ;;
        restart)
                export JRE_HOME=/usr/lib/jvm/java-6-sun/
                sh /usr/local/tomcat/bin/shutdown.sh
                echo "Tomcat is stopped"
                sh /usr/local/tomcat/bin/startup.sh
                echo "Tomcat is started"
        ;;
        *)
                echo "Usage: /etc/init.d/tomcat start|stop|restart"
        ;;
esac
exit 0
carlino1994
Prode Principiante
Messaggi: 68
Iscrizione: sabato 9 maggio 2009, 15:08
Distribuzione: Ubuntu 12.04 LTS 32bit
Località: Puglia
Contatti:

Re: [Server] Apache Tomcat non parte all'avvio!

Messaggio da carlino1994 »

Se esegui direttamente tu i comandi funziona?
Skarafaz
Prode Principiante
Messaggi: 59
Iscrizione: mercoledì 11 giugno 2008, 19:01

Re: [Server] Apache Tomcat non parte all'avvio!

Messaggio da Skarafaz »

sisi, funziona
Avatar utente
superBob
Prode Principiante
Messaggi: 58
Iscrizione: martedì 2 settembre 2008, 14:06
Distribuzione: Ubuntu 12.04 x86_64

Re: [Server] Apache Tomcat non parte all'avvio!

Messaggio da superBob »

Ciao, prova a controllare se dentro la cartella /etc/default c'è un file chiamato tomcat.
Se lo apri con un editor di testo(con i privilegi di amministratore) vedi se c'è una riga con JAVA_HOME.
Controlla che il valore sia corretto.

P.S. Controlla anche i log di tomcat in $CATALINA_HOME/logs ..
Skarafaz
Prode Principiante
Messaggi: 59
Iscrizione: mercoledì 11 giugno 2008, 19:01

Re: [Server] Apache Tomcat non parte all'avvio!

Messaggio da Skarafaz »

in /etc/default non ci sono file relativi a tomcat...
Avatar utente
superBob
Prode Principiante
Messaggi: 58
Iscrizione: martedì 2 settembre 2008, 14:06
Distribuzione: Ubuntu 12.04 x86_64

Re: [Server] Apache Tomcat non parte all'avvio!

Messaggio da superBob »

Allora invece di update-rc.d tomcat defaults prova con

Codice: Seleziona tutto

update-rc.d tomcat start 20 2 3 4 5 . stop 20 0 1 6 .
Che dovrebbe essere la stessa cosa(l'ho preso dal manuale di update-rc.d)
Skarafaz
Prode Principiante
Messaggi: 59
Iscrizione: mercoledì 11 giugno 2008, 19:01

Re: [Server] Apache Tomcat non parte all'avvio!

Messaggio da Skarafaz »

niente da fare  :'(
Avatar utente
superBob
Prode Principiante
Messaggi: 58
Iscrizione: martedì 2 settembre 2008, 14:06
Distribuzione: Ubuntu 12.04 x86_64

Re: [Server] Apache Tomcat non parte all'avvio!

Messaggio da superBob »

Allora ti faccio 3 domande:
1) Versione tomcat?
2) Hai solo la jre oppure anche la jdk?
3) Accedi normalmente a ubuntu, oppure in recovery mode(o simile)???
Skarafaz
Prode Principiante
Messaggi: 59
Iscrizione: mercoledì 11 giugno 2008, 19:01

Re: [Server] Apache Tomcat non parte all'avvio!

Messaggio da Skarafaz »

1) 6
2) jre e jdk
3) normalmente
Avatar utente
superBob
Prode Principiante
Messaggi: 58
Iscrizione: martedì 2 settembre 2008, 14:06
Distribuzione: Ubuntu 12.04 x86_64

Re: [Server] Apache Tomcat non parte all'avvio!

Messaggio da superBob »

Ultima prova

Codice: Seleziona tutto

update-rc.d tomcat start 20 2 3 4 5 . stop 80 0 1 6 .
Comunque anche io devo installare tomcat sul pc di casa(ma non ho internet) e spero di riuscire a capire meglio quale sia il problema, nel qual caso ti saro' piu di aiuto domani.
Scrivi risposta

Ritorna a “Ubuntu su server”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti