De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Marcelo Guimarães
Data de Publicação: 26 de novembro de 2010
Recentemente a empresa na qual eu trabalho precisou urgente que eu fizesse um servidor Tomcat em Linux. Nunca fiz isso em minha vida, pesquisei em vários locais e muitos falavam de usar o iptables para redirecionar a porta que o Tomcat utiliza, no caso a 8080 para a porta padrão web que é a 80. Graças a um amigo argentino, o José Scheone (@joseschenone), consegui ter uma luz no fim do túnel. Então vamos lá.
O ambiente utilizado foi um Debian Lenny, após ser instalado o SO e estar devidamente atualizado, iremos instalar o Java. Para isso iremos editar o arquivo sources.lists
;
$vim /etc/apt/sources.lists
Eu uso essas sources:
deb http://debian.pop-sc.rnp.br/debian/ lenny main deb-src http://debian.pop-sc.rnp.br/debian/ lenny main deb http://security.debian.org/ lenny/updates main deb-src http://security.debian.org/ lenny/updates main deb http://volatile.debian.org/debian-volatile lenny/volatile main deb-src http://volatile.debian.org/debian-volatile lenny/volatile main
No final de cada endereço iremos colocar a palavra "non-free";
deb http://debian.pop-sc.rnp.br/debian/ lenny main non-free deb-src http://debian.pop-sc.rnp.br/debian/ lenny main non-free deb http://security.debian.org/ lenny/updates main non-free deb-src http://security.debian.org/ lenny/updates main non-free deb http://volatile.debian.org/debian-volatile lenny/volatile main non-free deb-src http://volatile.debian.org/debian-volatile lenny/volatile main non-free
Atualizamos novamente o cache e instalamos o Java mais recente;
$aptitude update && aptitude install sun-java6-jdk
Após a instalação do Java, iremos editar o arquivo /etc/profile
e incluir o caminho do Java para poder ser conhecido pelo ambiente adiconando os seguintes parâmetros;
export PATH JAVA_HOME="/usr/lib/jvm/java-6-sun/" export JAVA_HOME
Faça o download do Tomcat no site do apache fundation, estou utilizando a versão 6.0.29;
$wget -c http://ftp.unicamp.br/pub/apache//tomcat/tomcat-6/v6.0.29/bin/apache-tomcat-6.0.29.tar.gz
$tar -zxvf apache-tomcat-6.0.29.tar.gz && mv apache-tomcat-6.0.29 /opt/tomcat
Criando o scrip init do Tomcat;
$vim /etc/init.d/tomcat #!/bin/sh # Tomcat Init-Script case $1 in start) sh /opt/tomcat/bin/startup.sh ;; stop) sh /opt/tomcat/bin/shutdown.sh ;; restart) sh /opt/tomcat/bin/shutdown.sh sh /opt/tomcat/bin/startup.sh ;; esac exit 0
Dê permissão 755 ao arquivo e colocaremos ele para executar na inicialização do SO;
$update-rc.d tomcat defaults
Temos que adicionar um usuário para podermos usar o Manager do Tomcat, editaremos o arquivo tomcat-users.xml;
$vim /opt/tomcat/conf/tomcat-users.xml
Antes da chave </tomcat-users>, iremos informar o usuário e senha de acesso;
<tomcat-users> <role rolename= manager /> <role rolename= admin /> <user username= USERNAME password= PASSWORD roles= admin,manager /> </tomcat-users>
$/etc/init.d/tomcat start
Acesse o tomcat no seu browser e será solicitado o login e senha, informe os mesmo que foi editado no arquivo tomcat-users.xml;
http://SERVERNAME:8080/manager/html
O Tomcat pode ser usado como um Web Server, mas o Apache é muito mais podereso utilizando os seu módulos. Iremos instalar o apache2 e o módulo que irá realizar a conexão dele com o Tomcat.
$aptitude install apache2 libapache2-mod-jk
Crie e edite o arquivo workers.properties conforme abaixo:
$vim /etc/apache2/workers.properties workers.tomcat_home=/opt/tomcat workers.java_home=/usr/lib/jvm/java-6-sun ps=/ worker.list=default worker.default.port=8009 worker.default.host=localhost worker.default.type=ajp13 worker.default.lbfactor=1
Crie e edite o arquivo jk.conf conforme abaixo:
$vim /etc/apache2/conf.d/jk.conf <ifmodule mod_jk.c> JkWorkersFile /etc/apache2/workers.properties JkLogFile /var/log/apache2/mod_jk.log JkLogLevel error </ifmodule> /etc/init.d/apache2 stop /etc/init.d/tomcat restart /etc/init.d/apache2 start
Feitas as configurações no Apache, podemos então já realizar o deploy da aplicação Java no Tomcat. Vamos tomar como exemplo uma aplicação de nome "exemplo" onde terá o endereço de virtual host do tipo "exemplo.com.br", ao realizar o deploy através da interface web do Tomcat, ela ficará no diretório /opt/tomcat/webapps, podemos então no diretório do Apache e criar o nosso virtual host.
$vim /etc/apache2/sites-avaliable/exemplo <virtualhost *:80> JkMount /*.jsp default ServerName http://www.exemplo.com.br/ ServerAdmin servermaster@exemplo.com.br DocumentRoot /opt/tomcat/webapps/exemplo ErrorLog /var//logs/apache2/error.log CustomLog /var/logs/apache2/access.log common <directory /opt/tomcat/webapps/exemplo> Options -Indexes </directory> </virtualhost>
Criando o vhost exemplo:
$a2ensite <enter> $/etc/init.d/apache2 restart
$vim /opt/tomcat/conf/server.xml <! http://www.exemplo.com.br/ > <host name= www.exemplo.com.br appBase= /opt/tomcat/webapps″ unpackWARs= true autoDeploy= true > <context path= " docBase= exemplo debug= 0″ reloadable= true /> <valve className= org.apache.catalina.valves.AccessLogValve directory= /var/logs/apache2 prefix= tomcat_access_ suffix= .log pattern= common resolveHosts= false /> </host>
Feito isso reinicie o Tomcat com o comando /etc/init.d/tomcat restart
e pode testar sua aplicação Java através do browser.
Marcelo Guimarães é Tecnólogo em Redes de Computadores, trabalho com Software Livre a mais ou menos 4 anos, ultimamente estou mais na função de Analista de Segurança e mantenho o blog http://marcelowplace.blogspot.com .
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários