Eu utilizava um ambiente de programação Java no Windows 7, que funcionava bem, porém como minha máquina é bem ultrapassada ficava tudo muito lento, desde a IDE até a inicialização do tomcat.
Resolvi migrar este ambiente para o Ubuntu 12.04, versão permitida na empresa onde trabalho.
Meu ambiente é composto pela IDE JBoss Developer Studio 6 e servidor de aplicação Apache Tomcat 7.0.22.
Nossos aplicativos precisam que o Tomcat utilize as portas HTTP 80 e SSL 443.
Nós utilizamos o Tomcat sem instalá-lo, apenas indicando o Runtime Environment na IDE e dexando que o JBoss controle o Tomcat.
Como disse, no windows funcionava tudo bem, porém no Ubuntu o tomcat não inicia e apresenta a mensagem de erro abaixo:
Several ports (80, 443) required by apache-tomcat-7.0.22 at localhost are already in use. The server may already be running in another process, or a system process may be using the port. To start this server you will need to stop the other process or change the port number(s).
A mensagem é bem clara, outros serviços estão utilizando as portas 80 e 443. Certo, até aí tudo bem.
Eu não tenho nenhum outro programa ou servidor instalado no Ubuntu, só o MySQL, já vi diversas páginas em fóruns sobre comandos para descobrir que serviços estão utilizando estas portas, porém nenhum funcionou, nem vou postá-los aqui pois não lembro mais quais usei, foram muitos. Prefiro pegar sugestões aqui, testar e postar o resultado.
Como já deve ter ficado claro, sou iniciante no linux, tenho muito interesse em me aprofundar, porém quando um problema destes ocorre a única solução que me resta é voltar para o Windows, devido ao curto prazo para entregar as demandas, mas desta vez quero tentar mais, por isso estou recorrendo ao fórum.
O que me sugerem, como descubro que serviços estão utilizando as portas que eu preciso e como faço para pará-los?
No windows só descompactamos o Tomcat e alteramos o Server.xml, na pasta conf, com a configuração das portas, no linux é preciso fazer mais alguma configuração, como, por exemplo, habilitar estas portas no firewall?
Caso ajude, o meu Server.xml é o seguinte:
<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN">
<Listener SSLEngine="on" className="org.apache.catalina.core.AprLifecycleListener"/>
<!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
<Listener className="org.apache.catalina.core.JasperListener"/>
<!-- Prevent memory leaks due to use of particular java/javax APIs-->
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>
<GlobalNamingResources>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users
-->
<Resource auth="Container" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase" pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase"/>
</GlobalNamingResources>