Startando tomcat no linux  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
javabegin
Entusiasta Java

Membro desde: 01/04/2006 12:50:55
Mensagens: 22
Offline

Eu só consigo startar o tomcat como root. É assim mesmo, ou tá faltando alguma coisa? O que?

Luciano Marques
Linux - Debian-3.1, Ubuntu-6.0 e Kurumin-6.1
eduveks
GUJ Ranger
[Avatar]

Membro desde: 19/04/2005 07:45:40
Mensagens: 831
Localização: Lisboa - Portugal
Offline

Tá tudo certo, vc só consegue mesmo startar com o Root...

Pois o Tomcat precisa iniciar um SocketServer, e só o Root tem permissão para iniciar um SocketServer!!! Isto é excencial para medidas de segurança, se qualquer usuário pudesse iniciar um SocketServer isto seria uma maravilha pra Trojans e é por isto que não existe Trojans para Linux/BSDs

Portanto ou vc inicia sempre fazendo um su ou com um sudo, mas o ideal é colocar isto no initrc, que é executado como Root no boot do Linux dai não precisas sempre ficar iniciando o Tomcats

Uma vez Linux/Bsd nunca mais Rwindow$

http://www.cajuscript.org
http://eduveks.blogspot.com
[Email] [WWW]
javabegin
Entusiasta Java

Membro desde: 01/04/2006 12:50:55
Mensagens: 22
Offline

Valeu!
Será que vc poderia me orientar como faço esse lance:
...mas o ideal é colocar isto no initrc
?

Luciano Marques
Linux - Debian-3.1, Ubuntu-6.0 e Kurumin-6.1
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

eduveks wrote:Tá tudo certo, vc só consegue mesmo startar com o Root...

Mais ou menos - se a porta for inferior a 5000, realmente esse é o caso. Se for superior a 5000, um usuário normal pode iniciar o Tomcat.

Pois o Tomcat precisa iniciar um SocketServer, e só o Root tem permissão para iniciar um SocketServer!!! Isto é excencial para medidas de segurança, se qualquer usuário pudesse iniciar um SocketServer isto seria uma maravilha pra Trojans e é por isto que não existe Trojans para Linux/BSDs

A explicação está quase certa. Conforme disse acima, se você usar a porta 8080 você pode iniciar o tomcat como um usuário normal.

E essa história dos trojans... É mais mito que realidade.

Uma forma de você ter uma aplicação web atendendo na porta 80 com segurança é usar o Apache atendendo na 80, e redirecionando as chamadas a JSPs e servlets para o seu Tomcat.

Se você olhar os outros application servers que rodam no Linux (como o WebSphere ou o Oracle IAS) vai ver que eles fazem exatamente isso: um web server em C (que é o Apache, modificado pela IBM e vendido como "IBM HTTP Server", ou modificado pela Oracle e chamada de "Oracle Web Server"), que atende na porta 80 ou 443, e que se comunica com o web container (o análogo do Tomcat).


[WWW]
javabegin
Entusiasta Java

Membro desde: 01/04/2006 12:50:55
Mensagens: 22
Offline

Então tem tá faltando alguma coisa, porque tô usando a porta 8080 e só consigo startar como root.

Luciano Marques
Linux - Debian-3.1, Ubuntu-6.0 e Kurumin-6.1
javaman00
Java Ninja

Membro desde: 28/03/2006 09:11:00
Mensagens: 292
Offline

Olá, o tomcat vc deve colocar para iniciar junto com o servidor... ou seja... procure um arquivo inicializador de sua dist... no Slackware seria:

/etc/rc.d/rc.local

--
Struts2 Enjoy!
javaman00
Java Ninja

Membro desde: 28/03/2006 09:11:00
Mensagens: 292
Offline

Olá, o tomcat vc deve colocar para iniciar junto com o servidor... ou seja... procure um arquivo inicializador de sua dist... no Slackware seria:

/etc/rc.d/rc.local

e colaca o cara la...

--
Struts2 Enjoy!
eduveks
GUJ Ranger
[Avatar]

Membro desde: 19/04/2005 07:45:40
Mensagens: 831
Localização: Lisboa - Portugal
Offline

thingol wrote:
Mais ou menos - se a porta for inferior a 5000, realmente esse é o caso. Se for superior a 5000, um usuário normal pode iniciar o Tomcat.


Caro Thingol, onde vc vio isto??? Isto deve ser na distribuição que vc esta utilizando, que no geral isto não existe, SocketServer só com Root, em praticamente todos Linux e BSDs, só se vc esta usando alguma distribuição que permite isto... mas acho muito estranho que isto é uma medida de segurança básica...

Só para ter a certeza testei no Fedora, Debian, Ubundo e OpenBSD que são os que eu tenho aqui disponivel, e todos não me permitiram iniciar com outro usuário ou mesmo com um usuário do grupo root, só root mesmo!!!

Me diz ai em qual distro vc vio isto, q é para eu não usar

Quanto ao initrc é isto mesmo que foi dito ai, basta colocar o comando para inciar o tomcat no fim do arquivo rc.local.

Não tenho certeza como o Tomcat inicializa, se fica com o cursor trancado na consola, não colocando automaticamente em background... caso isto aconteça tera que usar o & para enviar para background. Algo mais ou menos assim no final do rc.local:

/usr/local/tomcat/start &


http://www.cajuscript.org
http://eduveks.blogspot.com
[Email] [WWW]
javabegin
Entusiasta Java

Membro desde: 01/04/2006 12:50:55
Mensagens: 22
Offline

javaman00 wrote:Olá, o tomcat vc deve colocar para iniciar junto com o servidor... ou seja... procure um arquivo inicializador de sua dist... no Slackware seria:

/etc/rc.d/rc.local


No Kurumin6.0 qual seria esse arquivo?

Luciano Marques
Linux - Debian-3.1, Ubuntu-6.0 e Kurumin-6.1
javabegin
Entusiasta Java

Membro desde: 01/04/2006 12:50:55
Mensagens: 22
Offline

javaman00 wrote:Olá, o tomcat vc deve colocar para iniciar junto com o servidor... ou seja... procure um arquivo inicializador de sua dist... no Slackware seria:

/etc/rc.d/rc.local


No Kurumin6.0 qual seria esse arquivo? E como editá-lo?

Luciano Marques
Linux - Debian-3.1, Ubuntu-6.0 e Kurumin-6.1
eduveks
GUJ Ranger
[Avatar]

Membro desde: 19/04/2005 07:45:40
Mensagens: 831
Localização: Lisboa - Portugal
Offline

javabegin wrote:
javaman00 wrote:Olá, o tomcat vc deve colocar para iniciar junto com o servidor... ou seja... procure um arquivo inicializador de sua dist... no Slackware seria:

/etc/rc.d/rc.local


No Kurumin6.0 qual seria esse arquivo? E como editá-lo?

/etc/init.d/bootmisc.sh

http://www.cajuscript.org
http://eduveks.blogspot.com
[Email] [WWW]
cabral_
HelloWorld

Membro desde: 13/09/2006 15:57:57
Mensagens: 13
Offline

Olá pessoal,

Estou com um problema parecido com o do colega aí...

Não consigo por nada fazer o tomcat iniciar automaticamente no boot do Kurumin.. já tentei o rc.local, usar o update-rc, o bootmisc.sh, enfim, tudo o que está escrito aqui, mas não funciona por nada...

Alguém sabe dizer o que deve ser feito para que isso funcione????

Fiz algo parecido com o mysql e funcionou perfeitamente: bastou colocar o script "mysql.server" no diretorio /etc/init.d e usar o update-rc do Kurumin que ele criou os atalhos corretos nas pastas rcx.d e funcionou... mas com o tomcat tento usar o start.sh e o catalina.sh (o catalina.sh usa o parametro start como os demais servicos) e não funciona por nada!!!!

Abraços,
Daniel Cabral
Luca
Moderador
[Avatar]

Membro desde: 06/09/2002 14:30:10
Mensagens: 5810
Localização: São Paulo/SP ou Paraty/RJ
Offline

Olá

Porque não inicia o tomcat com usuário nobody?

O script que você vai por lá no diretório de inicialização tem algo assim:

#!/bin/sh
CLASSPATH=/classpath do tomcat/aqui
export CLASSPATH
su - nobody -c "/tomcat/bin/tomcat.sh $@"

Veja também:

http://www.jguru.com/faq/view.jsp?EID=455567

http://www.ks.uiuc.edu/Research/biocore/localServer/install/sample/tomcat.biocore

[]s
Luca

Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."


CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/
[Email] [WWW]
cabral_
HelloWorld

Membro desde: 13/09/2006 15:57:57
Mensagens: 13
Offline

Consegui resolver!!!

Lendo sobre este assunto em outros forums percebi o detalhe:

para funcionar a inicialização do Tomcat no boot do Kurumin, além de configurar os atalhos corretamente no init.d e nas pastas rc?.d, é preciso alterar o script do tomcat!!! Esse é o lance... durante o boot as variáveis de ambiente CATALINA_HOME e JAVA_HOME ainda não foram definidas e por isso que não funcionava... foi preciso então definí-las no início do arquivo catalina.sh

Valeu!!!

Abraços,
Daniel Cabral
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team