La variedad de plataformas donde se puede instalar WildFly es enorme.
En este caso vamos a describir como se realizaría la instalación en la distribución de Linux
Ubuntu (concretamente la versión 17.04), aunque el proceso es similar en otras
distribuciones de Linux basadas en Debian.
Para instalar WildFly, al igual que ocurre en Tomcat, es imprescindible instalar el JDK. Sea cual sea el JDK que instalemos, es importante que
la versión del JDK sea la
adecuada para la versión de WildFly que vamos a instalar. Por
ejemplo, WildFly 13 necesita la versión 8 del JDK. Para descargar WildFly puedes utilizar la página oficial, que es la siguiente:
Descargar
WildFly de la página oficial.
El primer paso es instalar el JDK. El proceso de instalación del JDK es el mismo que el que se explicó
en apartados anteriores, puedes seguir el procedimiento del apartado 3.1.1 o el del 3.1.2,
así que vamos a obviar esa parte. Sea cual sea el proceso de instalación que hayas seguido
(manual o desde repositorio), no olvides tener en cuenta la versión instalada del mismo.
En segundo lugar, vamos a instalar WildFly. Para
realizar esta instalación vamos a optar por hacer una instalación típica de un servidor de
producción, donde no es conveniente que el software de servidor se
ejecute con un usuario con permisos de administración, como puede ser root. Si existe algún
problema en el software, este puede causar verdaderos estragos en
todo el sistema, mientras que si se ejecuta con un usuario diferente, el problema queda
aislado.
Para proceder a la instalación vamos a copiar el archivo comprimido con la distribución de
WildFly en la carpeta donde queramos instalarlo (en el ejemplo será
la carpeta /opt), y después, lo descomprimiremos. El proceso de descompresión podría ser
como el siguiente:
usuario@Ubuntu:/opt$ sudo tar xvfz wildfly-13.0.0.Final.tar.gz
En el caso del ejemplo anterior, la carpeta con WildFly será
/opt/wildfly-13.0.0.Final, aunque esto variará obviamente en función de la versión elegida.
Normalmente, lo que hace a continuación (no es obligatorio), es crear un enlace simbólico de
la carpeta anterior a la carpeta /opt/wildfly, de tal manera que se pueda acceder más
cómodamente a WildFly:
usuario@Ubuntu:/opt$ sudo ln -s /opt/wildfly-13.0.0.Final /opt/wildfly
En tercer lugar, vamos a crear un usuario que será el que ejecutará WildFly. Para crear el usuario (lo llamaremos wildfly
en este caso), podemos ejecutar el comando adduser. Veamos un ejemplo:
usuario@Ubuntu:/opt$ sudo adduser --no-create-home --disabled-password --disabled-login wildfly<br />
Las opciones aplicadas al comando adduser anterior, crean un usuario que básicamente
estará destinado a ejecutar WildFly y no podrá hacer ninguna otra
cosa (no se podrá iniciar sesión con dicho usuario, y por lo tanto, no tiene sentido que
tenga un directorio con sus archivos). Después, habría que cambiar el propietario de la
carpeta que contiene WildFly, para que dicha carpeta pertenezca al
usuario antes creado (wildfly en este caso). Esto se puede hacer con el comando chmod:
usuario@Ubuntu:/opt$ sudo chown wildfly:wildfly /opt/wildfly-13.0.0.Final --recursive<br />
En cuarto lugar, tendremos que configurar las variables de entorno. Para
realizar esto podemos seguir el procedimiento descrito en el punto 3.1.2, siguiendo un
modelo similar al que se explicó para Tomcat. Podemos modificar el
archivo /etc/environment, o bien el archivo, /etc/profile, aunque lo recomendado es crear
nuestro propio script (llamado por ejemplo wildfly.sh) en la carpeta
/etc/profile.d/. Recuerda que este proceso es específico de Ubuntu y de otras distribuciones
basadas en Debian. Un ejemplo de como podría ser el script wildfly.sh sería el siguiente:
export WILDFLY_HOME=/opt/wildfly-13.0.0.Final
export PATH=$PATH:$WILDFLY_HOME/bin
En el código anterior crearía una variable de entorno llamada WILDFLY_HOME (que contiene
la ruta al servidor WildFly) y modificaría la ruta la variable PATH.
En quinto lugar, podríamos ejecutar nuestro servidor WildFly. Ahora ya podemos ejecutar de forma manual nuestro
servidor WildFly de la siguiente forma:
# Si no has reiniciado la sesión, primero habría que cargar las variables de entorno:<br />usuario@Ubuntu:~$ source /etc/profile.d/wildfly.sh <br /><br /># Después podemos arrancar el servidor así:
usuario@Ubuntu:~$ sudo -u wildfly -i standalone.sh
Con el comando anterior estamos ejecutando el comando standalone.sh (que inicia WildFly como servidor independiente) con el usuario wildfly
( -u wildfly
). La opción -i, usada con anterioridad, simplemente hace que
se mantengan las variables de sistema al ejecutar el comando con un nivel de privilegios
mayor (comando sudo).
Ahora, si consultamos la URL http://localhost:8080/ desde el equipo donde hemos
hecho la instalación podremos acceder a nuestro WildFly.
En sexto lugar, de forma opcional, podemos instalar WildFly
como un servicio. Aunque la instalación anterior es perfectamente válida,
instalar WildFly como un servicio es muy conveniente, puesto que permite que WildFly se arranque de forma automática cuando se inicie el servidor.
La idea es la siguiente, WildFly proporciona unos scripts para este objetivo. Suelen tener el nombre
de wildfly-init-<distribucion>.sh donde <distribucion> sería el nombre
de la distribución de Linux donde se podrían usar. Además, estos scripts van acompañados de un archivo de configuración, que también
tendremos que poner en nuestro sistema (llamado wildfly.conf). Veamos como podríamos
localizarlos:
usuario@Ubuntu:/opt/<code>wildfly-13.0.0.Final$ find -name *init*.sh
./docs/contrib/scripts/init.d/wildfly-init-debian.sh
./docs/contrib/scripts/init.d/wildfly-init-redhat.sh
usuario@Ubuntu:/opt/wildfly-13.0.0.Final$ find -name wildfly.conf
./docs/contrib/scripts/init.d/wildfly.conf
./docs/contrib/scripts/systemd/wildfly.conf
En el caso de ejemplo, los archivos que nos convendrían son el archivo
./docs/contrib/scripts/init.d/wildfly-init-debian.sh, dado que Ubuntu se basa en Debian, y el archivo ./docs/contrib/scripts/init.d/wildfly.conf.
El proceso ahora sería copiar el archivo wildfly-init-debian.sh a la
carpeta /etc/profile.d/init.d con el nombre wildfly, y el archivo wildfly.conf a la
carpeta /etc/default con el nombre wildfly. Un ejemplo podría ser el siguiente:
usuario@Ubuntu:~$ sudo cp /opt/wildfly-13.0.0.Final/docs/contrib/scripts/init.d/wildfly-init-debian.sh /etc/init.d/<strong>wildfly<br /></strong><code>usuario@Ubuntu:~$ sudo cp /opt/wildfly-13.0.0.Final/docs/contrib/scripts/init.d/wildfly.conf /etc/default/wildfly
Después, habría que configurar el archivo /etc/default/wildfly indicando la información
necesaria para ejecutar WildFly. Un ejemplo de esta configuración
podría ser el siguiente:
## Location of JDK
JAVA_HOME="/opt/jdk1.8.0_171/"
## Location of WildFly
JBOSS_HOME="/opt/wildfly-13.0.0.Final"
## The username who should own the process.
JBOSS_USER=wildfly
## The mode WildFly should start, standalone or domain
JBOSS_MODE=standalone
## Configuration for standalone mode
JBOSS_CONFIG=standalone.xml
En la configuración anterior se establece:
- La carpeta base de la instalación del JDK (JAVA_HOME).
- La carpeta base de la instalación de WildFly (JBOSS_HOME).
- El nombre de usuario con el que se ejecutará WildFly
(JBOSS_USER).
- El modo de ejecución (JBOSS_MODE) y el archivo de configuración para dicho modo de
ejecución (JBOSS_CONFIG).
Una vez realizado esto, ya solamente queda decirle a Ubuntu que instale el script de arranque de WildFly:
usuario@Ubuntu:~$ sudo update-rc.d wildfly defaults
Al estar instalado como servicio, WildFly se iniciará al arrancar el
sistema, pero además:
- Podremos arrancarlo ejecutando:
- sudo service wildfly start
- Podremos detenerlo ejecutando:
- sudo service wildfly stop
- Podremos saber su estado ejecutando:
- sudo service wildfly status
Recuerda que podremos acceder vía web al servidor WildFly usando
la URL http://localhost:8080/ desde el equipo donde se hizo la instalación.