===== 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 [[https://glassfish.java.net/download.html|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.