En este lab vamos a implementar el servidor WildFly sobre CentOS 7, este sera en modo standalone con un conector de base de datos postgresql, para ello necesitamos un servidor de centos de preferencia en perfil minimal
intranet.example.com 192.168.0.122
Primero debemos actualizar nuestro servidor de intranet e instalamos la versión de java 1.8
[root@intranet ~]# yum update -y
[root@intranet ~]# yum install -y java-1.8.0-openjdk
Para este lab también necesitamos la ultima versión de wildfly descargada de la pagina y el conector de postgresql
Movemos el instalador de wildfly a opt
[root@intranet ~]# mv wildfly-10.1.0.Final.tar.gz /opt/
Ingresamos a opt y descomprimimos el instalador
[root@intranet ~]# cd /opt/
[root@intranet opt]# tar -xzvf wildfly-10.1.0.Final.tar.gz
Renombramos la carpeta para que sea mas facil de configurar
[root@intranet opt]# mv wildfly-10.1.0.Final wildfly
Ingresamos a la ruta de wildfly y a la carpeta bin
[root@intranet opt]# cd wildfly/bin/
Con el script add-user podemos crear un usuario de administración
Ingresamos al siguiente archivo de configuracion
[root@intranet bin]# vi /opt/wildfly/standalone/configuration/standalone.xml
Cambiamos todas las definiciones de 127.0.0.1 a 192.168.0.122
Ahora creamos una carpeta para nuestro conector de postgresql
[root@intranet ~]# mkdir -p postgresql/main
Copiamos el archivo .jar descargado a la nueva ruta
[root@intranet ~]# cp postgresql-9.2-1004.jdbc41.jar postgresql/main/
Creamos el archivo
[root@intranet ~]# vi postgresql/main/module.xml
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="org.postgresql">
<resources>
<resource-root path="postgresql-9.2-1004.jdbc41.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
Ahora copiamos la carpeta creada a la ruta de wildfly
[root@intranet ~]# cp -prf postgresql /opt/wildfly/modules/system/layers/base/org/
Volvemos a ingresar al archivo y agregamos el driver de postgres en la seccion de drivers donde ya existe el driver de h2
[root@intranet bin]# vi /opt/wildfly/standalone/configuration/standalone.xml
<drivers>
<driver name="h2" module="com.h2database.h2">
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
</driver>
<driver name="postgresql" module="org.postgresql">
<xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class>
</driver>
</drivers>
Ahora si podemos iniciar nuestro servicio de wildfly en modo standalone
[root@intranet bin]# ./standalone.sh
Con el servicio de wildfly activado podemos instalar nuestra base de datos
Primero instalamos la base de datos
[root@intranet ~]# yum install -y postgresql-server
Para inicializar la base de datos usamos
[root@intranet ~]# postgresql-setup initdb
Modificamos el archivo pg_hba para que acepte conexiones externas de nuestra red de servidores
[root@intranet ~]# vi /var/lib/pgsql/data/pg_hba.conf
host all all 192.168.0.0/24 md5
También modificamos el servicio para que escuche todas la interfaces
[root@intranet ~]# vi /var/lib/pgsql/data/postgresql.conf
Cambiamos la linea
#listen_addresses = 'localhost'
Por la linea
listen_addresses = '*'
Ahora iniciamos y habilitamos el servicio
[root@intranet ~]# systemctl enable postgresql
[root@intranet ~]# systemctl start postgresql
Podemos crear una base de datos de prueba
[root@intranet ~]# su - postgres
# psql
postgres=# create user andy with password 'centos';
postgres=# create database controlandy owner=andy;
postgres=# \q
Para finalizar con la configuración por comandos, abrimos los puertos de firewalld de wildfly y de postgresql
[root@intranet ~]# firewall-cmd --zone=public --add-port=9990/tcp --permanent
[root@intranet ~]# firewall-cmd --zone=public --add-port=8080/tcp --permanent
[root@intranet ~]# firewall-cmd --zone=public --add-port=5432/tcp --permanent
[root@intranet ~]# firewall-cmd --reload
Ahora podemos ingresar por explorador web y empezar a configurar nuestro servicio, empesemos con el login con el usuario/password creados en pasos previos
Ingresamos a la sección de datasources para configurar la integracion con postgres
Seleccionamos custom
Nombramos el datasource como postgresql
Seleccionamos el driver de postgresql
Ingresamos el url de conexión referenciando el servidor intranet y la base de datos de prueba, también el usuario y clave de la base de datos
Aceptamos la creación del datasource
Podemos verificar la conexión
Validamos que sea correcta
Ahora que terminamos de integrarnos a la base de datos postgresql, podemos desplegar un war/ear de un proyecto
Generamos un nuevo proyecto
Seleccionamos el archivo war/ear
Activamos el proyecto
Ingresamos al servidor con el puerto 8080 y el nombre del proyecto para validarlo via navegador
Como mencionamos esta es la implementación mas simple en modo standalone, en futuras entradas a este blog crearemos una configuración similar en modo cluster y con balanceo de carga
No hay comentarios:
Publicar un comentario