O
Tomcat pode ser usado como um Web Server, mas o
Apache é muito mais poderoso 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>
Reinicie os serviços:
# /etc/init.d/apache2 stop
# /etc/init.d/tomcat restart
# /etc/init.d/apache2 start
Criando um novo Virtual Host
Feito 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 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
Configurando o vhost no Tomcat
# 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 digitando o endereço cadastrado no virtual host (http://www.exemplo.com.br).