En esta entrada veremos con instalar un Jetty 9.0.3 sobre Linux. En concreto con cualquiera de la familia Red Hat y compatibles. Seguramente cambiará un poco entre distribuciones, pero en el peor de los casos tendrás una guía sobre la cual basarte. La instalación y configuración es bastante sencilla. Empezaremos con la descarga. La pagina oficial de descarga es esta

http://download.eclipse.org/jetty/stable-9/dist/

pero para hacer mas sencilla la instalación, utilizaremos un mirror.

cd /opt
wget http://mirrors.linux-bg.org/eclipse/jetty/stable-9/dist/jetty-distribution-9.0.3.v20130506.tar.gz

Una vez que tenemos el paquete, procederemos a descomprimirlo:

tar xvzf jetty-distribution-9.0.3.v20130506.tar.gz
rm -rf jetty-distribution-9.0.3.v20130506.tar.gz
mv jetty-distribution-9.0.3.v20130506 jetty
chmod 755 jetty

Ahora crearemos el usuario no privilegiado con el cual arrancaremos el servidor:

groupadd jetty
useradd -g jetty jetty
chown -R jetty:jetty /opt/jetty

Si no queremos que Jetty arranque en el puerto 8080, buscaremos la propiedad jetty.port en el fichero /opt/jetty/start.ini:

jetty.port=8580

Para completar la instalación, solo necesitamos un script de arranque. Jetty incluye un script que solo necesitaremos configurar:

cp /opt/jetty/bin/jetty.sh /etc/init.d/jetty

Editaremos el fichero /etc/init.d/jetty y le añadiremos estas lineas:

JAVA_HOME=/usr/java/jdk1.7.0_21
JAVA=$JAVA_HOME/bin/java
JETTY_USER=jetty
JETTY_HOME=/opt/jetty
JETTY_LOGS=$JETTY_HOME/logs/
JAVA_OPTIONS="-server -Xmx2g"
NO_START=0

Con esas lineas hemos definido sobre qué JDK correrá el servidor de aplicaciones, el usuario que lo arrancará y opciones de arranque. Las opciones de arranque de la maquina virtual también se pueden configurar en el fichero start.ini, sin embargo no te lo recomiendo. Si lo haces así, se lanzara un segundo proceso, el script de inicio funcionara peor, aumentará (ligeramente) el consumo… en general será menos elegante.

Por último, configuraremos el arranque automático del servicio:

chkconfig --add jetty
chkconfig jetty on

Y ahora, iniciando el servicio, podrás ver tu servidor en el puerto 8580:

service jetty start

Un consejo: si vas a usar tu servidor en producción, empieza quitando los ejemplos:

cd /opt/jetty/start.d
mv 900-demo.ini 900-demo.ini.disabled

Espero que esta entrada te haya ayudado. Si te surge alguna duda, puedes dejar un comentario.