hi!
leider bin ich absoluter linux n00b und bekomme es einfach nicht hin, tomcat zu installieren
hab auch schon die anleitungen auf der tomcat seite ausprobiert aber leider geht es nicht.
könnte mir jemand mit einer ausführlichen, deutschen anleitung helfen?
das wäre echt super
mhm - bin mir nicht ganz sicher, aber du meines Wissens kannst du dir die Binaries runterladen, entpacken und dann einfach die Umgebungsvariable CATALINA_HOME auf das Verzeichnis setzen, - sollte reichen ?!
ähm, ich hab tomcat gestern installiert und da braucht man nix installieren
einfach java (JDK ja kein JRE installieren)
JAVA_HOME auf dein java verzeichnis setzn, bsp
export JAVA_HOME=/usr/java/j2sdk/
ja, nicht ins bin Verzeichnis
dann lädst du dir die binaries von tomcat runter und extrahierst die ins home Verzeichnis oder sonst wohin mit
tar -xzvf jakarta-tomcat......
dann gehst du in Verzeichnis (dort wo du es hininstalliert hast) mit
Bsp.:
cd /home/user/jakarat-tomcat/bin/
und sagst ./startup.sh
fallst du nicht willst das tomcat auf den Port 8080 läuft (sprich http://localhost:8080) musst du in der server.xml ( TOMCATVERZ/conf/) den 8080 Eintrag mit 80 ersetzen und das script startup.sh aber als SuperUser (root - wirst du mittels "su" eingabe und dann root PW) starten.
Hoffe dir geholfen zu haben
Edit: Du musst CATALINE_HOME nie setzen, das macht dein startup.sh automatisch, brauchst nur JAVA_HOME
man kann aber nicht garantieren, dass man mit diesen Befehlen wirklich einen sauberen Restart hinlegt!
Gründe (nur als Beispiel)
- laut Spec kann nicht vorhergesehen werden, wie lange Tomcat auf ein Servlet warten soll
- es gibt kein var/lock/tomcat.PID o.ä.
- tomcat verwendet NIE System.exit(0)
bei mir bleiben regelmässig ein paar threads hängen, die ich dann manuell beseitigen muss (manchmal funzt dann auch das hochfahren nicht, weil der port noch belegt ist) etc.
Klar gibts das. In /etc/rc.d werden die Runlevel konfiguriert. Dort kannst du auch den Tomcat automatisch starten lassen.
Hier ist ein kleines Shell-Script:
Code:
#!/bin/bash
#
# Startup script for Tomcat
#
# chkconfig: 345 84 16
# description: Tomcat jakarta JSP server
export TOMCAT_HOME=/opt/tomcat
TOMCAT_START=$TOMCAT_HOME/bin/startup.sh
TOMCAT_STOP=$TOMCAT_HOME/bin/shutdown.sh
#Necessary environment variables
export JAVA_HOME="/usr/java/j2sdk1.4.2"
export CATALINA_HOME="/opt/tomcat"
export LD_KERNEL_ASSUME="2.2.5"
# Source function library.
#. /etc/rc.d/init.d/functions
# Source networking configuration.
#. /etc/sysconfig/network
# Check that networking is up.
#[ ${NETWORKING} = "no" ] && exit 0
#Check for tomcat script
if [ ! -f $TOMCAT_HOME/bin/catalina.sh ]
then
echo "Tomcat not available..."
exit
fi
start() {
echo -n "Starting Tomcat: "
$TOMCAT_START
echo
#touch /var/lock/subsys/tomcatd
# We may need to sleep here so it will be up for apache
# sleep 5
#Instead should check to see if apache is up by looking for http.pid
}
stop() {
echo -n $"Shutting down Tomcat: "
$TOMCAT_STOP
#rm -f /var/lock/subsys/tomcatd.pid
echo
}
status() {
ps ax --width=1000 | grep "[o]rg.apache.catalina.startup.Bootstrap start" | awk '{printf $1 " "}' | wc | awk '{print $2}' > /tmp/tomcat_process_count.txt
read line < /tmp/tomcat_process_count.txt
if [ $line -gt 0 ]; then
echo -n "tomcatd ( pid "
ps ax --width=1000 | grep "[o]rg.apache.catalina.startup.Bootstrap start" | awk '{printf $1 " "}'
echo -n ") is running..."
else
echo -n "Tomcat is stopped"
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 3
start
;;
status)
status
;;
*)
echo "Usage: tomcatd {start|stop|restart|status}"
exit 1
esac
Das Script mußt du in dem Ordner /etc/rc.d abspeichern und dann symbolische Links aus den Ordner rc3.d und rc5.d setzen. Weiter Informationen findest du hier
wo wir gleich schon bei der nächsten frage wären...
wie bekomm ich nen usb stick zum laufen?
ich hab ihn reingesteckt aber es wird nix angezeigt bei der festplattenübersicht
nunja, auswendig würd ich sagen das müsste so irgendwie gehen (bezogen auf meine Pfade von tomcat, die etc/init.d... sollte bei dir auch so sein)
Mache das jetzt ausn Kopf, also musst du wahrscheinlich vorher su wieder eingeben
Es gibt ein Kernelmodul mit dem Namen usb-storage, damit kannst auf Usb-Datenträger zugreifen. Mit lsmod kannst du als root überprüfen welche Kernelmodule im Moment geladen wurden. Falls es nicht geladen wurde kannst du es mit insmod usb-storage laden. Wenn das Modul bei dir nicht existiert, mußt du es selber kompilieren und dann laden.
Wenn ich in den Ordner "/etc/init.d/rc5.d/ " wechsel und per Hand "sh S30TOMCAT start" eingebe funzt es auch nur beim booten nicht.
Was mache ich falsch? Der Thread ist ziemlich alt, hat sich da vielleicht irgendwas geändert?
ich gehe mal davon aus, dass die Verzeichnisse deiner Skripte nicht im Suchpfad (PATH) sind. Dann muss man den gesamten Pfad immer mit angeben. Wenn du schon im Verzeichnis bist musst du das auch machen; der Pfad ist dann "./". Der Aufruf sind dann so aus: ./startup.sh.
schreibe mal ein eigenes Start- und Stopskript, das speicherst du dann unter /etc/init.d. Das könnte so aussehen (ungetestet da kein SuSE ; ggf. Pfade anpassen):
Code:
#!/bin/sh
### BEGIN INIT INFO
# Provides: tomcat
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Default-Start: 5
# Default-Stop: 6
# Short-Description: start, stop and restart tomcat
# Description: apache tomcat
### END INIT INFO
mode=$1 # start or stop or restart
case "$mode" in
'start')
# Start daemon
echo "Starting Tomcat-Server!"
/home/xxxx/downloads/apache-tomcat-5.5.16/bin/startup.sh
;;
'stop')
# Stop daemon
echo "Stopping Tomcat-Server!"
home/xxxx/downloads/apache-tomcat-5.5.16/bin/shutdown.sh
;;
'restart')
# Stop the service and regardless of whether it was
# running or not, start it again.
$0 stop
$0 start
;;
*)
# usage
echo "Usage: $0 start|stop|restart"
exit 1
;;
esac
Das Skript machst du dann ausführbar und verlinkst es nach /etc/init.d/rc5.d wie gehabt.