Apache Tomcat 6 auf Mac OS 10.6 installieren.
Da ich nichts Vergleichbares auf Deutsch gefunden habe, dachte ich mir, ich schreibe mal einen kleinen Absatz dazu. Es ist denkbar einfach, Tomcat zu installieren, von daher wird die Anleitung auch recht kurz.
Grundsätzlich richtete ich mich nach dem Tutorial von malisphoto, welches jedoch erstens in Englisch ist und zweitens nicht alles so perfekt wie beschrieben funktionierte. Nun aber zum Kontext:
Als erstes müssen die richtigen Umgebungsvariablen gesetzt werden. Dabei kommt es auf die JAVA_HOME und die CATALINA_HOME Variablen an. Wer sich dabei nicht sicher ist, kann im Terminal einmal env eingeben und nachschauen, ob die genannten Variablen schon gebunden sind.
Ist dies nicht der Fall, muss die .bash_profile Datei angefasst oder kreiert werden.
Im Terminal:
nano ~/.bash_profile
und folgende Zeilen hinzufügen:
export JAVA_HOME=/Library/Java/Home export CATALINA_HOME=/Library/Tomcat/Home
Terminal neustarten und mittels env prüfen, ob die entsprechenden Variablen gesetzt sind.
Nun Tomcat downloaden, und zwar die Tomcat 6 Binary Distribution Core tar.gz.
Ich habe den Weg der oben genannten Website gewählt und einen Tomcat-Ordner direkt in /Library gemacht, im Prinzip ist es aber egal, wo er angelegt wird, wichtig dabei ist nur, dass das CATALINA_HOME dann entsprechend abgeändert wird.
cd /Library mkdir Tomcat cd Tomcat tar -xvzf ~/Downloads/apache-tomcat-6.0.x.tar.gz ln -sfhv apache-tomcat-6.0.x Home
Letzteres kreiert einen Link mit dem Namen “Home”, welcher immer wieder mit der aktuellen Tomcat-Version geupdated werden kann.
Als nächstes geht man in die User-Konfiguration und fügt sich selbst hinzu:
cd /Library/Tomcat/Home/conf nano tomcat-users.xml
In dieser XML-Datei fügt man vor dem folgende drei Zeilen ein:
<role rolename="admin"/> <role rolename="manager"/> <user username="USER" password="PASSWORD" roles="admin,manager"/>
Wobei USER und PASSWORD entsprechend angepasst werden sollten.
Nun kann man Tomcat starten und nachschauen, ob alles richtig funktioniert.
cd /Library/Tomcat/Home/bin rm *.bat ./startup.sh
Zeile 2 entfernt nur alle nicht notwendigen .bat-Dateien. Als nächstes sollte in den Log geschaut werden, ob etwaige Fehlermeldungen entstanden sind:
cd /Library/Tomcat/Home/logs less catalina.out
Ansonsten kann man jetzt über http://localhost:8080/ den eben eingeschalteten Tomcat aufrufen.
Um Tomcat wieder auszuschalten, gibt man Folgendes im Terminal ein:
cd /Library/Tomcat/Home/bin ./shutdown.sh
Das war es dann auch schon.
2 Responses to Apache Tomcat 6 auf Mac OS 10.6 installieren.
Hinterlasse eine Antwort Antworten abbrechen
Kategorien
Archiv




Hallo,
ich habe Tomcat nach der oben beschriebenen Anleitung installiert. Wenn ich für die Fehlerprüfung die Datei “catalina.out” aufrufe, erscheint folgender Text.
28.01.2012 17:59:13 org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: .:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java
28.01.2012 17:59:13 org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
28.01.2012 17:59:13 org.apache.coyote.AbstractProtocol init
SCHWERWIEGEND: Failed to initialize end point associated with ProtocolHandler ["http-bio-8080"]
java.net.BindException: Address already in use :8080
at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:391)
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:554)
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:409)
at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119)
at org.apache.catalina.connector.Connector.initInternal(Connector.java:956)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:781)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.startup.Catalina.load(Catalina.java:595)
at org.apache.catalina.startup.Catalina.load(Catalina.java:620)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:449)
Caused by: java.net.BindException: Address already in use
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383)
at java.net.ServerSocket.bind(ServerSocket.java:328)
at java.net.ServerSocket.(ServerSocket.java:194)
at java.net.ServerSocket.(ServerSocket.java:150)
at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:49)
at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:378)
… 17 more
28.01.2012 17:59:13 org.apache.catalina.core.StandardService initInternal
SCHWERWIEGEND: Failed to initialize connector [Connector[HTTP/1.1-8080]]
org.apache.catalina.LifecycleException: Failed to initialize component [Connector[HTTP/1.1-8080]]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106)
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:781)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.startup.Catalina.load(Catalina.java:595)
at org.apache.catalina.startup.Catalina.load(Catalina.java:620)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:449)
Caused by: org.apache.catalina.LifecycleException: Protocol handler initialization failed
at org.apache.catalina.connector.Connector.initInternal(Connector.java:958)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
… 12 more
Caused by: java.net.BindException: Address already in use :8080
at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:391)
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:554)
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:409)
at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119)
at org.apache.catalina.connector.Connector.initInternal(Connector.java:956)
… 13 more
Caused by: java.net.BindException: Address already in use
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383)
at java.net.ServerSocket.bind(ServerSocket.java:328)
at java.net.ServerSocket.(ServerSocket.java:194)
at java.net.ServerSocket.(ServerSocket.java:150)
at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:49)
at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:378)
… 17 more
28.01.2012 17:59:13 org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
28.01.2012 17:59:13 org.apache.coyote.AbstractProtocol init
SCHWERWIEGEND: Failed to initialize end point associated with ProtocolHandler ["ajp-bio-8009"]
java.net.BindException: Address already in use :8009
at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:391)
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:554)
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:409)
at org.apache.catalina.connector.Connector.initInternal(Connector.java:956)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:781)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.startup.Catalina.load(Catalina.java:595)
at org.apache.catalina.startup.Catalina.load(Catalina.java:620)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:449)
Caused by: java.net.BindException: Address already in use
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383)
at java.net.ServerSocket.bind(ServerSocket.java:328)
at java.net.ServerSocket.(ServerSocket.java:194)
at java.net.ServerSocket.(ServerSocket.java:150)
at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:49)
at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:378)
… 16 more
28.01.2012 17:59:13 org.apache.catalina.core.StandardService initInternal
SCHWERWIEGEND: Failed to initialize connector [Connector[AJP/1.3-8009]]
org.apache.catalina.LifecycleException: Failed to initialize component [Connector[AJP/1.3-8009]]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106)
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:781)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.startup.Catalina.load(Catalina.java:595)
at org.apache.catalina.startup.Catalina.load(Catalina.java:620)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:449)
Caused by: org.apache.catalina.LifecycleException: Protocol handler initialization failed
at org.apache.catalina.connector.Connector.initInternal(Connector.java:958)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
… 12 more
Caused by: java.net.BindException: Address already in use :8009
at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:391)
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:554)
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:409)
at org.apache.catalina.connector.Connector.initInternal(Connector.java:956)
… 13 more
Caused by: java.net.BindException: Address already in use
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383)
at java.net.ServerSocket.bind(ServerSocket.java:328)
at java.net.ServerSocket.(ServerSocket.java:194)
at java.net.ServerSocket.(ServerSocket.java:150)
at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:49)
at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:378)
… 16 more
28.01.2012 17:59:13 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 864 ms
28.01.2012 17:59:13 org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
28.01.2012 17:59:13 org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.25
28.01.2012 17:59:13 org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /Library/Tomcat/apache-tomcat-7.0.25/webapps/docs
28.01.2012 17:59:14 org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /Library/Tomcat/apache-tomcat-7.0.25/webapps/examples
28.01.2012 17:59:14 org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /Library/Tomcat/apache-tomcat-7.0.25/webapps/host-manager
28.01.2012 17:59:14 org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /Library/Tomcat/apache-tomcat-7.0.25/webapps/manager
28.01.2012 17:59:14 org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /Library/Tomcat/apache-tomcat-7.0.25/webapps/ROOT
28.01.2012 17:59:14 org.apache.catalina.startup.Catalina start
INFO: Server startup in 972 ms
28.01.2012 17:59:14 org.apache.catalina.core.StandardServer await
SCHWERWIEGEND: StandardServer.await: create[localhost:8005]:
java.net.BindException: Address already in use
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383)
at java.net.ServerSocket.bind(ServerSocket.java:328)
at java.net.ServerSocket.(ServerSocket.java:194)
at org.apache.catalina.core.StandardServer.await(StandardServer.java:422)
at org.apache.catalina.startup.Catalina.await(Catalina.java:728)
at org.apache.catalina.startup.Catalina.start(Catalina.java:674)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:450)
28.01.2012 17:59:14 org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8080"]
28.01.2012 17:59:14 org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
28.01.2012 17:59:14 org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
28.01.2012 17:59:14 org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
28.01.2012 17:59:14 org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
28.01.2012 17:59:14 org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
28.01.2012 17:59:14 org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
Das Port 8080 kann wohl nicht richtig angesprochen werden. Woran kann das liegen? Kann mir jemand helfen?
Vielen Dank für die Mühe.
Marcel
Hallo Marcel,
wichtig bei dieser Meldung ist “Caused by: java.net.BindException: Address already in use”.
Irgendein anderes Programm bzw. ein anderer Prozess benutzt schon den Port 8080. Beende diesen und es funktioniert.