Instalar GlassFish 4.1 en sistemas GNU/Linux con Systemd
Instalación básica de GlassFish en sistemas GNU/Linux con Systemd. Creación del servicio Systemd para GlassFish con usuario sin privilegios, establecer la password del usuario administrador (recomendable) y configuración del acceso remoto (optativo).
GlassFish: https://glassfish.java.net
Dependencia: Java JDK (Versiones compatibles.)
GlassFish guía de administración: https://glassfish.java.net/docs/4.0/administration-guide.pdf
NOTA: La versión 4.1.1 tiene un Bug y no es posible utilizar la consola de administración para crear JDBC Resource o “Connection Pool”: https://java.net/jira/browse/GLASSFISH-21353
Creación del usuario (glassfish) sin privilegios.
adduser --comment 'Glassfish User' --home-dir /home/glassfish glassfish su - glassfish
Como usuario glassfish, descargar la aplicación y descomprimir el paquete.
wget http://download.java.net/glassfish/4.1/release/glassfish-4.1.zip unzip glassfish-4.1.zip rm -f glassfish-4.1.zip
Crear el servicio Systemd /etc/systemd/system/glassfish.service para GlassFish arranque al inicio del sistema operativo.
[Unit] Description = GlassFish Server v4.1 After = syslog.target network.target [Service] User=glassfish ExecStart = /usr/bin/java -jar /home/glassfish/glassfish4/glassfish/lib/client/appserver-cli.jar start-domain ExecStop = /usr/bin/java -jar /home/glassfish/glassfish4/glassfish/lib/client/appserver-cli.jar stop-domain ExecReload = /usr/bin/java -jar /home/glassfish/glassfish4/glassfish/lib/client/appserver-cli.jar restart-domain Type = forking [Install] WantedBy = multi-user.target
Configuración del servicio glassfish al inicio del sistema.
systemctl enable glassfish.service
systemctl start glassfish.service
Establecer / Reiniciar la contraseña del usuario administrador. Si se va a generar una primera clave, se debe dejar “Enter the admin password” en blanco.
/home/glassfish/glassfish4/bin/asadmin change-admin-password Enter admin user name [default: admin]> Enter the admin password> Enter the new admin password> MI_PASSWORD Enter the new admin password again> MI_PASSWORD Command change-admin-password execute exit
Configurar el acceso remoto (HTTPS) al panel de administración (optativo).
/home/glassfish/glassfish4/bin/asadmin enable-secure-admin Enter admin password for user "admin"> MI_PASSWORD You must restart all running servers for the change in secure admin to take effect. Command enable-secure-admin executed successfully. And just restart the domain and you are all set!
/home/glassfish/glassfish4/bin/asadmin restart-domain domain1 Successfully restarted the domain Command restart-domain executed successfully. # Otra posibilidad. # systemctl restart glassfish
Visualizar logs de GlassFish en sistemas systemd.
journalctl -f -u glassfish.service
Típico error al querer arrancar glassfish cuando ya hay una instancia arrancada. Otra causa puede ser que no se haya configurado el dominio / hostname en el archivo “/etc/hosts”.
dominio.com java[764]: There is a process already using the admin port 4848 -- it probably is another instance of a GlassFish server. dominio.com java[764]: Command start-domain failed.
Puertos de GlassFish.
- Administración: 4848.
- HTTPS 8181.
- HTTP 8080.