18 de ago. de 2009

Apache Tomcat - Adicionando um usuário

· 1° passo: tomcat-users.xml

Para adicionar um usuário no Apache Tomcat basta editar o arquivo tomcat-users.xml. Este arquivo pode ser encontrado em $CATALINA_HOME/conf.
Mas antes de qualquer coisa você deve estar se perguntando: Que diabos é $CATALINA_HOME?!?!?

Deixa que eu explico.
$CATALINA_HOME é o alias para o diretório raiz do Apache Tomcat. Bem, mas isso eu não inventei; o próprio Apache foi quem convencionou assim. É uma variável de ambiente do sistema que você pode usar para assim poder instalar o Apache Tomcat onde você achar melhor.
Vamos a um exemplo prático, vá em um terminal e tente o seguinte:

$ echo $USER

Você obterá como resposta seu nome de usuário. Agora faça:

$ echo $HOME

Você verá em sua tela seu diretório home.

Bom, acho que ficou entendido. Vamos prosseguir. ;-)

Como eu disse anteriormente para adicionar um usuário no Tomcat basta editar o arquivo tomcat-users.xml que está em $CATALINA_HOME/conf (acho que agora você sabe onde fica hã? :-). Espero que você esteja usando um editor de texto no próprio terminal como nano ou vi ou vim. Digo isso porque é assim que você configuraria um servidor. Seguindo minha dica entre no diretório raiz do Tomcat e:

$ cd conf/

Liste todos os arquivos deste diretório:

$ ls -la

Você verá o seguinte:

total 104
drwxr-xr-x 3 mad3linux mad3linux 4096 2009-07-31 14:15 .
drwxr-xr-x 9 mad3linux mad3linux 4096 2009-07-31 14:12 ..
drwxr-xr-x 3 mad3linux mad3linux 4096 2009-07-31 14:15 Catalina
-rwxr-xr-x 1 mad3linux mad3linux 8690 2009-05-13 20:15 catalina.policy
-rwxr-xr-x 1 mad3linux mad3linux 3665 2009-05-13 20:15 catalina.properties
-rwxr-xr-x 1 mad3linux mad3linux 1396 2009-05-13 20:15 context.xml
-rwxr-xr-x 1 mad3linux mad3linux 3257 2009-05-13 20:15 logging.properties
-rwxr-xr-x 1 mad3linux mad3linux 6539 2009-07-31 14:15 server.xml
-rwxr-xr-x 1 mad3linux mad3linux 1205 2009-07-31 14:27 tomcat-users.xml
-rwxr-xr-x 1 mad3linux mad3linux 50757 2009-05-13 20:15 web.xml

Neste diretório estão contidos todos os arquivos de configuração do Apache Tomcat. Podemos ver o nosso arquivo na penúltima linha. Basta editá-lo com:

$ nano tomcat-users.xml

Com o arquivo aberto é possível ver dicas que o Tomcat dá sobre como adicionar usuários. Mas não confunda, as linhas onde estão supostamente adicionando usuários estão comentadas (verifique a presença do , como no html essas tags representam comentários), logo abaixo delas faça:

Para adicionar uma role (algo como função ou grupo):

<role rolename="administrador"></role>

Para adicionar um usuário no grupo:

<user username="mad3linux" password="s3cr3t" roles="administrador"></user>


MAD Dica: observe onde você está escrevendo essas novas linhas. Elas devem estar entre as tags
<tomcat-users> e </tomcat-users>.


· 2° passo: Testando se tudo deu certo.

Para ver se o usuário foi adcionado com sucesso faça o seguinte:

Inicie o servidor Apache Tomcat. Apenas abra um terminal e entre em $CATALINA_HOME/bin, por exemplo, vamos supor que você tenha instalado o Tomcat em /opt:

# cd /opt/apache-tomcat-x.x.x/bin/

e então:

# ./startup.sh

MAD Dica: para poder executar o arquivo startup.sh é necessário que ele tenha permissão de execução. Para saber isso basta digitar no terminal:

# ls -l startup.sh

A saída deve ser mais ou menos assim:

-rwxr-xr-x 1 mad3linux mad3linux 1956 2009-05-13 20:15 startup.sh

Note que para o dono do arquivo, ou seja as três primeiras depois do - (hífen), uma delas é o x. Isso indica que o arquivo possue permissão de execução.
Mas caso a saída do comando ls -l seja dessa forma:

-rw-r--r-- 1 mad3linux mad3linux 1956 2009-05-13 20:15 startup.sh

Então basta dar permissão ao arquivo. Faça:

# chmod +x startup.sh

Pronto, execute o comando ls -l de novo para ver as modificações.
Bem, mas antes que eu esqueça, faça o mesmo para o arquivo shutdown.sh, que se encontra no mesmo diretório que o startup.sh ($CATALINA_HOME/bin/). Ele serve para desligar o servidor Apache Tomcat.

Iniciado o servidor, a seguinte saída pode ser observada:

Using CATALINA_BASE: /opt/apache-tomcat-6.0.20
Using CATALINA_HOME: /opt/apache-tomcat-6.0.20
Using CATALINA_TMPDIR: /opt/apache-tomcat-6.0.20/temp
Using JRE_HOME: /usr

Observe que ele detectou o caminho para o jre, justamente com a variável de ambiente JRE_HOME, interessante não?

Se algo como citado acima apareceu em seu terminal, vá em seu browser favorito (o meu é o Mozilla Firefox ;-) e digite na barra de endereço:

http://localhost:8080/

Aparecerá a tela principal de configurações do Apache Tomcat.





No menu Administration clique em Tomcat Manager.






Ele pedirá um usuário e senha. Digite de acordo com o que você configurou e clique em Ok.
Em caso positivo a seguinte tela será mostrada:



Em uma próxima postagem eu explicarei com utilizar essa parte de gerência do Tomcat.