Instalando e configurando
o Apache, PHP5, mod_jk, Tomcat 6 no Debian Lenny
Por:
Flavio Torres - ftorres[@]ymail.com
Publicado em: 11/05/2009
O Tomcat é um servidor web Java, mais especificamente,
um container de servlets. O Tomcat possui algumas características
próprias de um servidor de aplicação, porém
não pode ser considerado um servidor de aplicação
por não preencher todos os requisitos necessários. Por exemplo,
o Tomcat não tem suporte a EJB. Desenvolvido pela Apache Software
Foundation, é distribuído como software livre dentro do
conceituado projeto Apache Jakarta, sendo oficialmente endossado pela
Sun como a implementação de referência para as tecnologias
Java Servlet e JavaServer Pages (JSP). Ele cobre parte da especificação
J2EE com tecnologias como servlet e JSP, e tecnologias de apoio relacionadas
como Realms e segurança, JNDI Resources e JDBC DataSources.
Ele tem a capacidade de atuar também como servidor web, ou pode
funcionar integrado a um servidor web dedicado como o Apache ou o IIS.
Como servidor web, ele provê um servidor web HTTP puramente em Java.
O servidor inclui ferramentas para configuração e gerenciamento,
o que também pode ser feito editando-se manualmente arquivos de
configuração formatados em XML.
Fonte: http://pt.wikipedia.org/wiki/Tomcat
O ambiente proposto é simples, descrevo apenas os passos rápidos
para instalação e configuração.
Será necessário o JRE (Java Runtime 5) e o Apache Tomcat
6:
- Download
do JRE 1.5.0.17
- Download
do Apache Tomcat 6.0.18
Instalando o java:
chmod +x jre-1_5_0_17-linux-i586.bin
./jre-1_5_0_17-linux-i586.bin
Após a descompressão, basta mover o diretório jre1.5.0_17
para /usr/local
mv jre1.5.0_17 /usr/local
Fazendo o download do apache:
wget http://ftp.unicamp.br/pub/apache/tomcat/tomcat-6/v6.0.18/bin/apache-tomcat-6.0.18.tar.gz
tar -xvzf apache-tomcat-6.0.18.tar.gz
mv apache-tomcat-6.0.18 /usr/local
Agora, basta exportar as variáveis de ambiente utilizadas, isso
pode ser feito diretamente no bash (copiando e colando) e/ou adicionando
no /etc/profiles . Caso queira saber um pouco mais sobre a CLASSPATH,
leia este documento.
JAVA_HOME=/usr/local/jre1.5.0_17; export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin
export PATH
CATALINA_HOME=/usr/local/apache-tomcat-6.0.18
TOMCAT_HOME=/usr/local/apache-tomcat-6.0.18
CLASSPATH=.
export CATALINA_HOME TOMCAT_HOME CLASSPATH
Após adicionar no /etc/profiles e exportá-las no bash,
já poderá iniciar o tomcat:
cd /usr/local/apache-tomcat-6.0.18/bin/
lenny:/usr/local/apache-tomcat-6.0.18/bin# ./catalina.sh start
Using CATALINA_BASE: /usr/local/apache-tomcat-6.0.18
Using CATALINA_HOME: /usr/local/apache-tomcat-6.0.18
Using CATALINA_TMPDIR: /usr/local/apache-tomcat-6.0.18/temp
Using JRE_HOME: /usr/local/jre1.5.0_17
Se tudo ocorreu conforme acima, basta acessá-lo através
do IP da máquina na porta 8080, no menu Miscellaneous
você encontrará exemplos para testar o seu servidor.

CONFIGURAR O APT
Editar o arquivo /etc/apt/sources.list conforme as linhas abaixo:
1 #
2 # deb cdrom:[Debian GNU/Linux 5.0.1 _Lenny_ - Official i386 DVD Binary-1
20090413-00:33]/ lenny contrib main
3
4 #deb cdrom:[Debian GNU/Linux 5.0.1 _Lenny_ - Official i386 DVD Binary-1
20090413-00:33]/ lenny contrib main
5
6 deb http://security.debian.org/ lenny/updates main contrib
7 deb-src http://security.debian.org/ lenny/updates main contrib
8
9 deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib
10 deb-src http://volatile.debian.org/debian-volatile lenny/volatile main
contrib
11
12
13 deb http://ftp.us.debian.org/debian lenny main contrib non-free
14
Para instalar os pacotes providos pelo repositório Debian, basta
executar:
apt-get install apache2
apt-get install libapache2-mod-php5
apt-get install libapache2-mod-jk
apt-get install php5 php5-cli php5-mysql php5-pgsql
CONFIGURANDO O Apache
O servidor apache já está configurado para trabalhar com
o módulo PHP, MySQL e PostgreSQL. Faz-se necessário apenas
configurar o mod_jk, módulo responsável por fazer a “ponte”
entre o apache e o tomcat.
Lista de módulos, para conferência, já configurados
automaticamente nesta instalação via comando apt-get:
/etc/apache2/mods-enabled# ls -alhtr
total 8.0K
drwxr-xr-x 2 root root 4.0K 2009-11-24 14:41 .
drwxr-xr-x 7 root root 4.0K 2009-11-24 16:50 ..
lrwxrwxrwx 1 root root 29 2009-12-09 10:31 status.load -> ../mods-available/status.load
lrwxrwxrwx 1 root root 29 2009-12-09 10:31 status.conf -> ../mods-available/status.conf
lrwxrwxrwx 1 root root 31 2009-12-09 10:31 setenvif.load -> ../mods-available/setenvif.load
lrwxrwxrwx 1 root root 31 2009-12-09 10:31 setenvif.conf -> ../mods-available/setenvif.conf
lrwxrwxrwx 1 root root 27 2009-12-09 10:31 php5.load -> ../mods-available/php5.load
lrwxrwxrwx 1 root root 27 2009-12-09 10:31 php5.conf -> ../mods-available/php5.conf
lrwxrwxrwx 1 root root 34 2009-12-09 10:31 negotiation.load -> ../mods-available/negotiation.load
lrwxrwxrwx 1 root root 34 2009-12-09 10:31 negotiation.conf -> ../mods-available/negotiation.conf
lrwxrwxrwx 1 root root 27 2009-12-09 10:31 mime.load -> ../mods-available/mime.load
lrwxrwxrwx 1 root root 27 2009-12-09 10:31 mime.conf -> ../mods-available/mime.conf
lrwxrwxrwx 1 root root 25 2009-12-09 10:31 jk.load -> ../mods-available/jk.load
lrwxrwxrwx 1 root root 26 2009-12-09 10:31 env.load -> ../mods-available/env.load
lrwxrwxrwx 1 root root 26 2009-12-09 10:31 dir.load -> ../mods-available/dir.load
lrwxrwxrwx 1 root root 26 2009-12-09 10:31 dir.conf -> ../mods-available/dir.conf
lrwxrwxrwx 1 root root 30 2009-12-09 10:31 deflate.load -> ../mods-available/deflate.load
lrwxrwxrwx 1 root root 30 2009-12-09 10:31 deflate.conf -> ../mods-available/deflate.conf
lrwxrwxrwx 1 root root 26 2009-12-09 10:31 cgi.load -> ../mods-available/cgi.load
lrwxrwxrwx 1 root root 32 2009-12-09 10:31 autoindex.load -> ../mods-available/autoindex.load
lrwxrwxrwx 1 root root 32 2009-12-09 10:31 autoindex.conf -> ../mods-available/autoindex.conf
lrwxrwxrwx 1 root root 33 2009-12-09 10:31 authz_user.load -> ../mods-available/authz_user.load
lrwxrwxrwx 1 root root 33 2009-12-09 10:31 authz_host.load -> ../mods-available/authz_host.load
lrwxrwxrwx 1 root root 38 2009-12-09 10:31 authz_groupfile.load ->
../mods-available/authz_groupfile.load
lrwxrwxrwx 1 root root 36 2009-12-09 10:31 authz_default.load -> ../mods-available/authz_default.load
lrwxrwxrwx 1 root root 33 2009-12-09 10:31 authn_file.load -> ../mods-available/authn_file.load
lrwxrwxrwx 1 root root 33 2009-12-09 10:31 auth_basic.load -> ../mods-available/auth_basic.load
lrwxrwxrwx 1 root root 28 2009-12-09 10:31 alias.load -> ../mods-available/alias.load
lrwxrwxrwx 1 root root 28 2009-12-09 10:31 alias.conf -> ../mods-available/alias.conf
/etc/apache2/mods-enabled# ls
alias.conf authn_file.load authz_host.load autoindex.load deflate.load
env.load mime.load php5.conf setenvif.load
alias.load authz_default.load authz_user.load cgi.load dir.conf jk.load
negotiation.conf php5.load status.conf
auth_basic.load authz_groupfile.load autoindex.conf deflate.conf dir.load
mime.conf negotiation.load setenvif.conf status.load
Arquivos modificados para configurar mod_jk no Apache:
- /etc/apache2/
- tomcat.conf
- workers.properties
- sites-enabled/
- 000-default
tomcat.conf
Arquivo responsável por definir configurações do
módulo JK, como propriedades, log e formatos:
1 JkWorkersFile /etc/apache2/workers.properties
2 JkLogFile /var/log/apache2/mod_jk.log
3 JkLogLevel error
4 JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
5 #JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
6 JkOptions +ForwardKeySize -ForwardDirectories
7 JkRequestLogFormat "%w %V %T"
workers.properties
Arquivo responsável por fazer o relacionamento entre Apache e
Tomcat via protocolo ajp13
1 workers.tomcat_home=/usr/local/apache-tomcat-6.0.18/
2 workers.java_home=/usr/local/jre1.5.0_17
3 ps=/
4 worker.list=jvm1
5 worker.jvm1.type=ajp13
6 worker.jvm1.host=127.0.0.1
7 worker.jvm1.port=8009
8 worker.jvm1.socket_keepalive=1
9 worker.jvm1.socket_timeout=300
10 worker.jvm1.lbfactor=1
000-default
Arquivo responsável por armazenar configurações
de VirtualHost do apache para o site denominado default
1 <VirtualHost *:80>
2 ServerAdmin webmaster@localhost
3 ##ServerName intranet.com.br
4 DocumentRoot /var/www/
5 <Directory />
6 Options FollowSymLinks
7 AllowOverride None
8 </Directory>
9 <Directory /var/www/>
10 Options Indexes FollowSymLinks MultiViews
11 AllowOverride None
12 Order allow,deny
13 allow from all
14 </Directory>
15
16 ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
17 <Directory "/usr/lib/cgi-bin">
18 AllowOverride None
19 Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
20 Order allow,deny
21 Allow from all
22 </Directory>
23
24 ErrorLog /var/log/apache2/error.log
25
26 # Possible values include: debug, info, notice, warn, error, crit,
27 # alert, emerg.
28 LogLevel warn
29
30 CustomLog /var/log/apache2/access.log combined
31
32 Alias /doc/ "/usr/share/doc/"
33 <Directory "/usr/share/doc/">
34 Options Indexes MultiViews FollowSymLinks
35 AllowOverride None
36 Order deny,allow
37 Deny from all
38 Allow from 127.0.0.0/255.0.0.0 ::1/128
39 </Directory>
40
41
42 # Modulo JK, Tomcat
43
44 JkMount /pentaho jvm1
45 JkMount /pentaho/* jvm1
46 JkMount /pentaho-style jvm1
47 JkMount /pentaho-style/* jvm1
48 JkMount /sw-style jvm1
49 JkMount /sw-style/* jvm1
50
51
52
53 # Caso for adicionar um outro PATH, modificar as duas chamadas
54 #JkMount /SISTEMA jvm1
55 #JkMount /SISTEMA/* jvm1
56
57
58 </VirtualHost>
o JkMount faz o redirecionamento do seu "/sistema" para a jvm1
que será atendida pelo tomcat. Note que o seu /sistema deve estar
dentro do diretório webapps do tomcat.
CONFIGURANDO O Tomcat
Será necessário modificar apenas o server.xml em: tomcat/conf/server.xml
server.xml
Esse arquivo é responsável por definir o engine da JVM
que irá atender as requisições do Apache com o módulo
JK
140 <!-- Define the top level container in our container
hierarchy -->
141 <Engine name="Catalina" jvmRoute="jvm1"
defaultHost="localhost">
|