Ricerca nel sito web

Come installare GlassFish JAVA Application Server su Ubuntu 22.04


Su questa pagina

  1. Prerequisiti
  2. Installa Java JDK
  3. Scarica Glassfish Server
  4. Crea un file di servizio Systemd per Glassfish
  5. Imposta la password per Glassfish e abilita l'accesso sicuro
  6. Configura Nginx come proxy inverso per Glassfish
  7. Configura firewall UFW
  8. Accedi all'interfaccia Web di Glassfish
  9. 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.