Come installare GlassFish JAVA Application Server su Ubuntu 22.04
Su questa pagina
- Prerequisiti
- Installa Java JDK
- Scarica Glassfish Server
- Crea un file di servizio Systemd per Glassfish
- Imposta la password per Glassfish e abilita l'accesso sicuro
- Configura Nginx come proxy inverso per Glassfish
- Configura firewall UFW
- Accedi all'interfaccia Web di Glassfish
- Conclusione
Glassfish è un server gratuito e open source utilizzato per la distribuzione di applicazioni basate su Java. Consente agli sviluppatori di sviluppare applicazioni aziendali convenienti e scalabili. Il progetto glassfish è avviato da Sun Microsystem ed è ora sponsorizzato da Oracle Corporation. È soggetto a due licenze di software libero Common Development and Distribution License e GNU General Public License.
In questo post, ti mostreremo come installare il server Glassfish con Nginx come proxy inverso su Ubuntu 22.04.
Prerequisiti
- Un server che esegue Ubuntu 22.04.
- Un nome di dominio valido indicato con l'IP del tuo server.
- Sul server è configurata una password di root.
Installa Java JDK
Glassfish è un'applicazione basata su Java. Quindi dovrai installare Java JDK sul tuo server. Puoi installarlo eseguendo il seguente comando:
apt-get install default-jdk unzip -y
Una volta installato Java, verifica la versione di Java utilizzando il seguente comando:
java --version
Otterrai la versione Java nel seguente output:
openjdk 11.0.15 2022-04-19 OpenJDK Runtime Environment (build 11.0.15+10-Ubuntu-0ubuntu0.22.04.1) OpenJDK 64-Bit Server VM (build 11.0.15+10-Ubuntu-0ubuntu0.22.04.1, mixed mode, sharing)
Scarica Glassfish Server
Innanzitutto, dovrai scaricare Glassfish dalla loro pagina di download ufficiale. Puoi scaricarlo con il seguente comando:
wget https://download.eclipse.org/ee4j/glassfish/glassfish-6.1.0.zip
Una volta completato il download, decomprimere il file scaricato nella directory /opt:
unzip glassfish-6.1.0.zip -d /opt/
Crea un file di servizio Systemd per Glassfish
Successivamente, dovrai creare un file di servizio systemd per gestire il servizio Glassfish. Puoi crearlo con il seguente comando:
nano /usr/lib/systemd/system/glassfish.service
Aggiungi le seguenti righe:
[Unit] Description = GlassFish Server v6.1.0 After = syslog.target network.target [Service] User = root ExecStart = /usr/bin/java -jar /opt/glassfish6/glassfish/lib/client/appserver-cli.jar start-domain ExecStop = /usr/bin/java -jar /opt/glassfish6/glassfish/lib/client/appserver-cli.jar stop-domain ExecReload = /usr/bin/java -jar /opt/glassfish6/glassfish/lib/client/appserver-cli.jar restart-domain Type = forking [Install] WantedBy = multi-user.target
Salva e chiudi il file, quindi ricarica il demone systemd per applicare le modifiche.
systemctl daemon-reload
Successivamente, avvia il servizio Glassfish e abilitalo per l'avvio al riavvio del sistema:
systemctl start glassfish
systemctl enable glassfish
Puoi anche controllare lo stato del servizio Glassfish con il seguente comando:
systemctl status glassfish
Dovresti vedere il seguente output:
? glassfish.service - GlassFish Server v6.1.0 Loaded: loaded (/lib/systemd/system/glassfish.service; disabled; vendor preset: enabled) Active: active (running) since Thu 2022-05-12 15:39:16 UTC; 4s ago Process: 5313 ExecStart=/usr/bin/java -jar /opt/glassfish6/glassfish/lib/client/appserver-cli.jar start-domain (code=exited, status=0/SUC> Main PID: 5326 (java) Tasks: 92 (limit: 2292) Memory: 289.3M CPU: 12.563s CGroup: /system.slice/glassfish.service ??5326 /usr/lib/jvm/java-11-openjdk-amd64/bin/java -cp /opt/glassfish6/glassfish/modules/glassfish.jar -XX:+UnlockDiagnosticVMOp> May 12 15:39:04 ubuntu systemd[1]: Starting GlassFish Server v6.1.0... May 12 15:39:16 ubuntu java[5313]: Waiting for domain1 to start .......... May 12 15:39:16 ubuntu java[5313]: Successfully started the domain : domain1 May 12 15:39:16 ubuntu java[5313]: domain Location: /opt/glassfish6/glassfish/domains/domain1 May 12 15:39:16 ubuntu java[5313]: Log File: /opt/glassfish6/glassfish/domains/domain1/logs/server.log May 12 15:39:16 ubuntu java[5313]: Admin Port: 4848 May 12 15:39:16 ubuntu java[5313]: Command start-domain executed successfully. May 12 15:39:16 ubuntu systemd[1]: Started GlassFish Server v6.1.0.
Imposta la password per Glassfish e abilita l'accesso sicuro
Per impostazione predefinita, l'utente amministrativo di Glassfish non ha password. Quindi dovrai prima impostarlo. Puoi impostarlo usando il seguente comando:
/opt/glassfish6/bin/asadmin --port 4848 change-admin-password
Ti verrà chiesto di fornire il nome utente:
Enter admin user name [default: admin]>admin
Fornisci admin come nome utente e premi il tasto Invio. Ti verrà chiesto di fornire una password:
Enter the admin password>
Basta premere il tasto Invio senza digitare nulla. Ti verrà chiesto di impostare una nuova password:
Enter the new admin password> Enter the new admin password again>
Fornire la nuova password e premere il tasto Invio per impostare la password.
Command change-admin-password executed successfully.
Successivamente, dovrai anche abilitare un accesso sicuro. Puoi abilitarlo con il seguente comando:
/opt/glassfish6/bin/asadmin --port 4848 enable-secure-admin
Ti verrà chiesto di fornire un utente amministratore e una password per abilitare l'accesso sicuro.
Enter admin user name> admin Enter admin password for user "admin"> You must restart all running servers for the change in secure admin to take effect. Command enable-secure-admin executed successfully.
Successivamente, riavvia il servizio Glassfish per applicare le modifiche:
systemctl restart glassfish
Configura Nginx come proxy inverso per Glassfish
Successivamente, dovrai installare e configurare Nginx come proxy inverso per Glassfish. Innanzitutto, installa il server Nginx con il seguente comando:
apt-get install nginx -y
Una volta installato Nginx, crea un file di configurazione dell'host virtuale Nginx:
nano /etc/nginx/conf.d/glassfish.conf
Aggiungi la seguente configurazione:
upstream glassfish { server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5; } server { listen 80; server_name glassfish.example.com; location / { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://glassfish/hello/; } }
Salva e chiudi il file quando hai finito, quindi verifica Nginx per eventuali errori di configurazione della sintassi con il seguente comando:
nginx -t
Se tutto va bene, otterrai il seguente output:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Successivamente, riavvia il servizio Nginx per applicare le modifiche:
systemctl restart nginx
Puoi anche controllare lo stato di Nginx con il seguente comando:
systemctl status nginx
Dovresti vedere il seguente output:
? nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2022-05-12 16:09:38 UTC; 6s ago Docs: man:nginx(8) Process: 5687 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 5689 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 5690 (nginx) Tasks: 2 (limit: 2292) Memory: 2.6M CPU: 39ms CGroup: /system.slice/nginx.service ??5690 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;" ??5691 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" May 12 16:09:38 ubuntu systemd[1]: Starting A high performance web server and a reverse proxy server... May 12 16:09:38 ubuntu systemd[1]: Started A high performance web server and a reverse proxy server.
Configura il firewall UFW
Per motivi di sicurezza, si consiglia di installare e configurare il firewall UFW nel proprio sistema. Innanzitutto, installa il firewall UFW con il seguente comando:
apt install ufw -y
Una volta installato il firewall UFW, consenti tutte le porte e i servizi richiesti utilizzando il seguente comando:
ufw allow 'Nginx Full'
ufw allow OpenSSH
ufw allow 4848/tcp
ufw allow 8080/tcp
Successivamente, abilitare il firewall UFW per l'avvio dopo il riavvio del sistema:
ufw enable
Ora puoi controllare lo stato del firewall UFW con il seguente comando:
ufw status
Otterrai il seguente output:
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx Full ALLOW Anywhere 8080/tcp ALLOW Anywhere 4848/tcp ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx Full (v6) ALLOW Anywhere (v6) 8080/tcp (v6) ALLOW Anywhere (v6) 4848/tcp (v6) ALLOW Anywhere (v6)
Accedi all'interfaccia Web di Glassfish
Ora puoi accedere a Glassfish utilizzando l'URL http://glassfish.example.com. Dovresti vedere la seguente pagina:
Per accedere all'interfaccia di amministrazione di Glassfish digitare l'URL https://your-server-ip:4848. Verrai reindirizzato alla pagina di accesso di Glassfish:
Fornisci il nome utente e la password dell'amministratore e fai clic sul pulsante Accedi. Dovresti vedere la dashboard di Glassfish nella pagina seguente:
Fare clic sul server nel riquadro a sinistra. Dovresti vedere la pagina delle informazioni generali.
Qui puoi avviare, arrestare e monitorare il server Glassfish.
Fare clic sui nodi nel riquadro a sinistra. Dovresti vedere il nodo Glassfish nella pagina seguente.
Fare clic su Applicazioni nel riquadro a sinistra. Dovresti vedere tutte le tue applicazioni distribuite nella pagina seguente.
Conclusione
In questo post abbiamo spiegato come installare il server Glassfish con Nginx come proxy inverso su Ubuntu 22.04. Ora puoi iniziare a distribuire l'applicazione Java utilizzando il server Glassfish. Non esitate a chiedermi se avete domande.