Há alguns dias precisei instalar o Jetty com a extensão Jetty-Plus em um Ubuntu 10.04 (Lucid Lynx). Resolvi usar o apt-get. Instalar o Jetty foi muito fácil. Mas na hora de instalar o Jetty-Plus deu um trabalhinho…
Mas por que eu precisei do Jetty-Plus? É que o Jetty-Plus facilitada o acesso a vários recursos do Java, entre eles JNDI.
No pacote do Jetty para o Ubuntu, o Jetty-Plus não é instalado. Pensei que bastasse instalar o pacote recomendado libjetty-extra, mas precisei fazer algumas outras alterações.
A partir da versão 10.10 (Maverick Meerkat), o pacote libjetty-extra já com os jars e as configurações do Jetty-Plus.
Instalando o Jetty com o apt-get
Para instalar o Jetty no Ubuntu (ou Debian) é fácil:
sudo apt-get install jetty
Para executar o Jetty recém instalado com sucesso, é preciso editar o arquivo /etc/default/jetty e modificar a primeira linha para:
NO_START=0 # change to 0 to allow Jetty to start
Então, basta executar:
sudo /etc/init.d/jetty start
Ou mais fácil:
sudo service jetty start
Instalando o Jetty-Plus no Lucid Lynx
Para instalar o Jetty-Plus no Lucid Lynx, precisamos primeiramente instalar o pacote libjetty-extra para que sejam instalados os jars de naming, entre outras coisas. Sem os pacotes de naming, não é possével usar os recursos de JNDI do Jetty-Plus.
apt-get install libjetty-extra
Além disso, é preciso baixar o jar do Jetty-Plus na mão. A versão do Jetty usada pelo Lucid Lynx é a 6.1.22. Depois de feito o download do jetty-plus.jar da versão 6.1.22, é preciso colocá-lo em /usr/share/java, criando um link simbólico para o arquivo em /usr/share/jetty/lib. Dessa maneira, as convenções usadas pelo pacote são seguidas.
sudo ln --symbolic /usr/share/java/jetty-plus.jar /usr/share/jetty/lib
É interessante criar uma pasta webapps-plus em /var/lib/jetty/ para que possamos colocar os WAR’s que utilizam JNDI e os outros recursos do Jetty-Plus. Tambem é bom criar um link simbólico dessa pasta para /usr/share/jetty.
sudo ln --symbolic /var/lib/jetty /usr/share/jetty
Então, é preciso criar um arquivo jetty-plus.xml e colocar as configuracões de JNDI ou EnvEntry. A propriedade webappdir deve apontar para o diretório webapp-plus criado.
Para habilitar a leitura do jetty-plus ao inicar o Jetty, é necessário editar o arquivo /usr/share/jetty/etc/jetty.conf e inserir “jetty-plus.xml” na última linha.
Então, basta iniciar o serviço do Jetty e suas aplicações poderão usar recursos de JNDI.
sudo service jetty start