You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Scott Purcell <sp...@vertisinc.com> on 2002/03/21 17:44:52 UTC

Solaris Install Question

I am trying to install Tomcat 4.0.3 on Solaris and I am having some issues getting the product to start.

I downloaded the jakarta-tomcat.4.0.3.tar.gz from the site and extracted the files. I am a new employee here and I am installing it as myself in my own home-directory.

I edited the /config/server.xml file and changed the 8080 to 63 (per our administrator here, as other sites run on 8080 and 80).

I went into the /bin directory and tried to run: 'catalina.sh run' and it starts, but bombs with the following error:


$ catalina.sh run
Using CATALINA_BASE:   /export/home/spurcell/jakarta-tomcat-4.0.3
Using CATALINA_HOME:   /export/home/spurcell/jakarta-tomcat-4.0.3
Using CATALINA_TMPDIR: /export/home/spurcell/jakarta-tomcat-4.0.3/temp
Using JAVA_HOME:       /usr/java
Catalina.start: LifecycleException:  null.open:  java.net.BindException: Permission denied:36
LifecycleException:  null.open:  java.net.BindException: Permission denied:36
        at org.apache.catalina.connector.http.HttpConnector.initialize(HttpConnector.java:1130)
        at org.apache.catalina.core.StandardService.initialize(StandardService.java:454)
        at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:553)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:780)
        at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
        at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
        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:324)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)
----- Root Cause -----
java.net.BindException: Permission denied:36
        at org.apache.catalina.connector.http.HttpConnector.open(HttpConnector.java:950)
        at org.apache.catalina.connector.http.HttpConnector.initialize(HttpConnector.java:1128)
        at org.apache.catalina.core.StandardService.initialize(StandardService.java:454)
        at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:553)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:780)
        at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
        at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
        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:324)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)
StandardServer.await: create[8005]: java.net.BindException: Address already in use
java.net.BindException: Address already in use
        at java.net.PlainSocketImpl.socketBind(Native Method)
        at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:321)
        at java.net.ServerSocket.bind(ServerSocket.java:308)
        at java.net.ServerSocket.bind(ServerSocket.java:266)
        at java.net.ServerSocket.<init>(ServerSocket.java:182)
        at org.apache.catalina.core.StandardServer.await(StandardServer.java:277)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:794)
        at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
        at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
        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:324)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)
spurcell@devweb2:~/jakarta-tomcat-4.0.3/bin/.
$


Does anyone know what I could try to do to get this running?

Thanks,
Scott

--
To unsubscribe:   <ma...@jakarta.apache.org>
For additional commands: <ma...@jakarta.apache.org>
Troubles with the list: <ma...@jakarta.apache.org>


Re: Solaris Install Question

Posted by Jeff Larsen <la...@qec.com>.
Solaris will not allow an unprivileged user (i.e., not the root user) to open
a server on a port number below 1024. You must run as root or use a higher port
number.

Jeff

----- Original Message -----
From: "Scott Purcell" <sp...@vertisinc.com>
To: <to...@jakarta.apache.org>
Sent: Thursday, March 21, 2002 10:44 AM
Subject: Solaris Install Question


> I am trying to install Tomcat 4.0.3 on Solaris and I am having some issues getting the
product to start.
>
> I downloaded the jakarta-tomcat.4.0.3.tar.gz from the site and extracted the files. I am
a new employee here and I am installing it as myself in my own home-directory.
>
> I edited the /config/server.xml file and changed the 8080 to 63 (per our administrator
here, as other sites run on 8080 and 80).
>
> I went into the /bin directory and tried to run: 'catalina.sh run' and it starts, but
bombs with the following error:
>
>
> $ catalina.sh run
> Using CATALINA_BASE:   /export/home/spurcell/jakarta-tomcat-4.0.3
> Using CATALINA_HOME:   /export/home/spurcell/jakarta-tomcat-4.0.3
> Using CATALINA_TMPDIR: /export/home/spurcell/jakarta-tomcat-4.0.3/temp
> Using JAVA_HOME:       /usr/java
> Catalina.start: LifecycleException:  null.open:  java.net.BindException: Permission
denied:36
> LifecycleException:  null.open:  java.net.BindException: Permission denied:36
>         at
org.apache.catalina.connector.http.HttpConnector.initialize(HttpConnector.java:1130)
>         at org.apache.catalina.core.StandardService.initialize(StandardService.java:454)
>         at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:553)
>         at org.apache.catalina.startup.Catalina.start(Catalina.java:780)
>         at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
>         at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
>         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:324)
>         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)
> ----- Root Cause -----
> java.net.BindException: Permission denied:36
>         at org.apache.catalina.connector.http.HttpConnector.open(HttpConnector.java:950)
>         at
org.apache.catalina.connector.http.HttpConnector.initialize(HttpConnector.java:1128)
>         at org.apache.catalina.core.StandardService.initialize(StandardService.java:454)
>         at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:553)
>         at org.apache.catalina.startup.Catalina.start(Catalina.java:780)
>         at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
>         at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
>         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:324)
>         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)
> StandardServer.await: create[8005]: java.net.BindException: Address already in use
> java.net.BindException: Address already in use
>         at java.net.PlainSocketImpl.socketBind(Native Method)
>         at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:321)
>         at java.net.ServerSocket.bind(ServerSocket.java:308)
>         at java.net.ServerSocket.bind(ServerSocket.java:266)
>         at java.net.ServerSocket.<init>(ServerSocket.java:182)
>         at org.apache.catalina.core.StandardServer.await(StandardServer.java:277)
>         at org.apache.catalina.startup.Catalina.start(Catalina.java:794)
>         at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
>         at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
>         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:324)
>         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)
> spurcell@devweb2:~/jakarta-tomcat-4.0.3/bin/.
> $
>
>
> Does anyone know what I could try to do to get this running?
>
> Thanks,
> Scott
>
> --
> To unsubscribe:   <ma...@jakarta.apache.org>
> For additional commands: <ma...@jakarta.apache.org>
> Troubles with the list: <ma...@jakarta.apache.org>


--
To unsubscribe:   <ma...@jakarta.apache.org>
For additional commands: <ma...@jakarta.apache.org>
Troubles with the list: <ma...@jakarta.apache.org>


Re: Solaris Install Question

Posted by Jean-Luc BEAUDET <be...@toolchest.cyber.kodak.com>.
Scott Purcell a щcrit :

> I am trying to install Tomcat 4.0.3 on Solaris and I am having some issues getting the product to start.
>
> I downloaded the jakarta-tomcat.4.0.3.tar.gz from the site and extracted the files. I am a new employee here and I am installing it as myself in my own home-directory.
>
> I edited the /config/server.xml file and changed the 8080 to 63 (per our administrator here, as other sites run on 8080 and 80).
>
> I went into the /bin directory and tried to run: 'catalina.sh run' and it starts, but bombs with the following error:
>
> $ catalina.sh run
> Using CATALINA_BASE:   /export/home/spurcell/jakarta-tomcat-4.0.3
> Using CATALINA_HOME:   /export/home/spurcell/jakarta-tomcat-4.0.3
> Using CATALINA_TMPDIR: /export/home/spurcell/jakarta-tomcat-4.0.3/temp
> Using JAVA_HOME:       /usr/java
> Catalina.start: LifecycleException:  null.open:  java.net.BindException: Permission denied:36
> LifecycleException:  null.open:  java.net.BindException: Permission denied:36
>         at org.apache.catalina.connector.http.HttpConnector.initialize(HttpConnector.java:1130)
>         at org.apache.catalina.core.StandardService.initialize(StandardService.java:454)
>         at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:553)
>         at org.apache.catalina.startup.Catalina.start(Catalina.java:780)
>         at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
>         at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
>         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:324)
>         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)
> ----- Root Cause -----
> java.net.BindException: Permission denied:36
>         at org.apache.catalina.connector.http.HttpConnector.open(HttpConnector.java:950)
>         at org.apache.catalina.connector.http.HttpConnector.initialize(HttpConnector.java:1128)
>         at org.apache.catalina.core.StandardService.initialize(StandardService.java:454)
>         at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:553)
>         at org.apache.catalina.startup.Catalina.start(Catalina.java:780)
>         at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
>         at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
>         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:324)
>         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)
> StandardServer.await: create[8005]: java.net.BindException: Address already in use
> java.net.BindException: Address already in use
>         at java.net.PlainSocketImpl.socketBind(Native Method)
>         at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:321)
>         at java.net.ServerSocket.bind(ServerSocket.java:308)
>         at java.net.ServerSocket.bind(ServerSocket.java:266)
>         at java.net.ServerSocket.<init>(ServerSocket.java:182)
>         at org.apache.catalina.core.StandardServer.await(StandardServer.java:277)
>         at org.apache.catalina.startup.Catalina.start(Catalina.java:794)
>         at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
>         at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
>         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:324)
>         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)
> spurcell@devweb2:~/jakarta-tomcat-4.0.3/bin/.
> $
>
> Does anyone know what I could try to do to get this running?
>
> Thanks,
> Scott
>
> --
> To unsubscribe:   <ma...@jakarta.apache.org>
> For additional commands: <ma...@jakarta.apache.org>
> Troubles with the list: <ma...@jakarta.apache.org>

Well,

Just explain why yu want to run Tomcat on a port <1024...

Is it really necessary ?

Just keep in mind that all stuff trying to open a port <1024 must have to be root..

It means that yur Tomcat gonna run as root ! What do yu think of the servlets and jsp runnin on such a Server ?
Something tell me they will be able to do a lot of 'GREAT' things !

I think the best way is to create a user like webuser, for instance and keep yur Tomcat running on port 8085, for example.

If yu intend to make it run with Apache via Warp Connector, just keep the Tomcat-Apache <Service> and make smth like:

<Server port="8025" shutdown="SHUTDOWN" debug="0">

<Service name="Tomcat-Apache">

    <Connector className="org.apache.catalina.connector.warp.WarpConnector"
               port="8028" minProcessors="5" maxProcessors="75"
               enableLookups="true" appBase="webapps"
               acceptCount="10" debug="0"/>
../..

It means that Tomcat will wait on the Port 8025 for a SHUTDOWN signal ( means yu stop it )

And Apache will communicate via mod_webapp on the Port 8028, in the above example.

enter smth like
Prompt# netstat -a | grep 80
To euquire if a port yu need to use is already in use.
Yu can be more specific with the grep by replacing 80 with the port number yu need to know about.

The best way is to install the lsof tool !
lsof -i tcp | grep Port_Number

I use Apache1.3.22 / Tomcat 4.0.2 Final with the Warp 1.0.2 Connector associated on SOLARIS 2.8 with no pb.

I run multiple instances of Tomcat on different port.

Hope this help.

Jean-Luc B :O)



--
To unsubscribe:   <ma...@jakarta.apache.org>
For additional commands: <ma...@jakarta.apache.org>
Troubles with the list: <ma...@jakarta.apache.org>


RE: Solaris Install Question

Posted by Andy Eastham <an...@gliant.com>.
Scott,

I think processes have to run as root to open sockets below 1024?

Try it on a higher port number such as 8180

Andy

> -----Original Message-----
> From: Scott Purcell [mailto:spurcell@vertisinc.com]
> Sent: 21 March 2002 16:45
> To: tomcat-user@jakarta.apache.org
> Subject: Solaris Install Question
>
>
> I am trying to install Tomcat 4.0.3 on Solaris and I am having
> some issues getting the product to start.
>
> I downloaded the jakarta-tomcat.4.0.3.tar.gz from the site and
> extracted the files. I am a new employee here and I am installing
> it as myself in my own home-directory.
>
> I edited the /config/server.xml file and changed the 8080 to 63
> (per our administrator here, as other sites run on 8080 and 80).
>
> I went into the /bin directory and tried to run: 'catalina.sh
> run' and it starts, but bombs with the following error:
>
>
> $ catalina.sh run
> Using CATALINA_BASE:   /export/home/spurcell/jakarta-tomcat-4.0.3
> Using CATALINA_HOME:   /export/home/spurcell/jakarta-tomcat-4.0.3
> Using CATALINA_TMPDIR: /export/home/spurcell/jakarta-tomcat-4.0.3/temp
> Using JAVA_HOME:       /usr/java
> Catalina.start: LifecycleException:  null.open:
> java.net.BindException: Permission denied:36
> LifecycleException:  null.open:  java.net.BindException:
> Permission denied:36
>         at
> org.apache.catalina.connector.http.HttpConnector.initialize(HttpCo
> nnector.java:1130)
>         at
> org.apache.catalina.core.StandardService.initialize(StandardServic
> e.java:454)
>         at
> org.apache.catalina.core.StandardServer.initialize(StandardServer.
> java:553)
>         at org.apache.catalina.startup.Catalina.start(Catalina.java:780)
>         at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
>         at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorIm
> pl.java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAc
> cessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:324)
>         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)
> ----- Root Cause -----
> java.net.BindException: Permission denied:36
>         at
> org.apache.catalina.connector.http.HttpConnector.open(HttpConnecto
> r.java:950)
>         at
> org.apache.catalina.connector.http.HttpConnector.initialize(HttpCo
> nnector.java:1128)
>         at
> org.apache.catalina.core.StandardService.initialize(StandardServic
> e.java:454)
>         at
> org.apache.catalina.core.StandardServer.initialize(StandardServer.
> java:553)
>         at org.apache.catalina.startup.Catalina.start(Catalina.java:780)
>         at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
>         at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorIm
> pl.java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAc
> cessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:324)
>         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)
> StandardServer.await: create[8005]: java.net.BindException:
> Address already in use
> java.net.BindException: Address already in use
>         at java.net.PlainSocketImpl.socketBind(Native Method)
>         at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:321)
>         at java.net.ServerSocket.bind(ServerSocket.java:308)
>         at java.net.ServerSocket.bind(ServerSocket.java:266)
>         at java.net.ServerSocket.<init>(ServerSocket.java:182)
>         at
> org.apache.catalina.core.StandardServer.await(StandardServer.java:277)
>         at org.apache.catalina.startup.Catalina.start(Catalina.java:794)
>         at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
>         at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorIm
> pl.java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAc
> cessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:324)
>         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)
> spurcell@devweb2:~/jakarta-tomcat-4.0.3/bin/.
> $
>
>
> Does anyone know what I could try to do to get this running?
>
> Thanks,
> Scott
>
> --
> To unsubscribe:   <ma...@jakarta.apache.org>
> For additional commands: <ma...@jakarta.apache.org>
> Troubles with the list: <ma...@jakarta.apache.org>
>
>



--
To unsubscribe:   <ma...@jakarta.apache.org>
For additional commands: <ma...@jakarta.apache.org>
Troubles with the list: <ma...@jakarta.apache.org>