Ricerca nel sito web

Come installare WildFly (JBoss) su Ubuntu 22.04|20.04|18.04


Questa guida ti guiderà attraverso l'installazione del server WildFly (JBoss) su Ubuntu 22.04|20.04|18.04. WildFly precedentemente noto come JBoss è un server applicativo scritto in Java e sviluppato da Red Hat. WildFly Application Server è un'implementazione eccezionalmente veloce, leggera e potente delle specifiche della piattaforma Java Enterprise Edition 8.

Al momento della stesura di questo articolo, WildFly 29 è l'ultima versione di una serie di offerte di server di applicazioni open source JBoss. Questo articolo fornisce una rapida panoramica su come scaricare e installare l'ultima versione disponibile di WildFly su Ubuntu 22.04|20.04|18.04 per lo sviluppo di applicazioni.

Passaggio 1: installa Java JDK su Ubuntu

WildFly è scritto in Java e deve essere installato come prerequisito. Esistono due opzioni per installare Java sul sistema Ubuntu Linux.

  • Installa OpenJDK
  • Installa il kit di sviluppo Java SE

Il modo più semplice per ottenere Java è installare OpenJDK sul tuo sistema Ubuntu eseguendo i comandi seguenti.

sudo apt update
sudo apt -y install default-jdk

La versione Java predefinita installata dal comando precedente è Java 10+. Questo è supportato da WildFly.

$ java --version
openjdk 11.0.13 2021-10-19
OpenJDK Runtime Environment (build 11.0.13+8-Ubuntu-0ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.13+8-Ubuntu-0ubuntu1, mixed mode, sharing)

Passaggio 2: scarica l'archivio di installazione di WildFly

Installa gli strumenti curl e wget

sudo apt install curl wget

Controlla la pagina Download di WildFly per le ultime versioni prima di scaricare il file. Qui scaricheremo WildFly 29.x.

WILDFLY_RELEASE=$(curl -s https://api.github.com/repos/wildfly/wildfly/releases/latest|grep tag_name|cut -d '"' -f 4)
wget https://github.com/wildfly/wildfly/releases/download/${WILDFLY_RELEASE}/wildfly-${WILDFLY_RELEASE}.tar.gz

Una volta scaricato il file, estrailo.

tar xvf wildfly-${WILDFLY_RELEASE}.tar.gz

Sposta la cartella risultante in /opt/wildfly.

sudo mv wildfly-${WILDFLY_RELEASE} /opt/wildfly

Passaggio 3: configura Systemd per WildFly

Creiamo ora un utente e un gruppo di sistema che eseguiranno il servizio WildFly.

sudo groupadd --system wildfly
sudo useradd -s /sbin/nologin --system -d /opt/wildfly  -g wildfly wildfly

Crea la directory delle configurazioni di WildFly.

sudo mkdir /etc/wildfly

Copia il servizio systemd WildFly, il file di configurazione e i modelli di script di avvio dalla directory /opt/wildfly/docs/contrib/scripts/systemd/.

sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
sudo chmod +x /opt/wildfly/bin/launch.sh

Imposta i permessi /opt/wildfly.

sudo chown -R wildfly:wildfly /opt/wildfly

Ricarica il servizio systemd.

sudo systemctl daemon-reload

Avvia e abilita il servizio WildFly:

sudo systemctl start wildfly
sudo systemctl enable wildfly

Conferma lo stato del server delle applicazioni WildFly.

sudo systemctl status wildfly

Output di esempio:

Il servizio deve essere associato alla porta 8080.

$ ss -tunelp | grep 8080
tcp    LISTEN   0   128    0.0.0.0:8080  0.0.0.0:*  users:(("java",pid=6854,fd=389)) uid:999 ino:30339 sk:3 <-> 

Passaggio 4: aggiungi utenti WildFly

Per impostazione predefinita WildFly 16 è ora distribuito con la sicurezza abilitata per le interfacce di gestione. Dobbiamo creare un utente che possa accedere alla console di amministrazione di WildFly o utilizzare in remoto la CLI. Viene fornito uno script per la gestione degli utenti.

Eseguitelo eseguendo il comando:

sudo /opt/wildfly/bin/add-user.sh

Ti verrà chiesto di scegliere il tipo di utente da aggiungere. Poiché questo è il primo utente, vogliamo renderlo amministratore. Quindi scegli a.

What type of user do you wish to add? 
  a) Management User (mgmt-users.properties) 
  b) Application User (application-users.properties)
 (a):  a

Fornire il nome utente desiderato per l'utente.

Enter the details of the new user to add.
 Using realm 'ManagementRealm' as discovered from the existing property files.
 Username : computingforgeeks

Imposta la password per l'utente:

Password recommendations are listed below. To modify these restrictions edit the add-user.properties configuration file.
The password should be different from the username
The password should not be one of the following restricted values {root, admin, administrator}
The password should contain at least 8 characters, 1 alphabetic character(s), 1 digit(s), 1 non-alphanumeric symbol(s)
Password : <Enter Password>
Re-enter Password :  <Confirm Password>

Premi Invio e accetta le richieste successive per completare la creazione dell'utente.

What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[  ]: <Enter>
 About to add user 'computingforgeeks' for realm 'ManagementRealm'
 Is this correct yes/no? yes
 Added user 'computingforgeeks' to file '/opt/wildfly/standalone/configuration/mgmt-users.properties'
 Added user 'computingforgeeks' to file '/opt/wildfly/domain/configuration/mgmt-users.properties'
 Added user 'computingforgeeks' with groups  to file '/opt/wildfly/standalone/configuration/mgmt-groups.properties'
 Added user 'computingforgeeks' with groups  to file '/opt/wildfly/domain/configuration/mgmt-groups.properties'
 Is this new user going to be used for one AS process to connect to another AS process? 
 e.g. for a slave host controller connecting to the master or for a Remoting connection for server to server EJB calls.
 yes/no? yes
 To represent the user add the following to the server-identities definition 

Notare che:

Le informazioni sull'utente sono conservate su: /opt/wildfly/domain/configuration/mgmt-users.properties
Le informazioni sul gruppo sono conservate su: /opt/wildfly/standalone/configuration/mgmt- gruppi.proprietà

Passaggio 5: accesso alla console di amministrazione WildFly

Per poter eseguire gli script WildFly dalla sessione di shell corrente, aggiungi /opt/wildfly/bin/ al tuo ` PATH.

cat >> ~/.bashrc <<EOF
export WildFly_BIN="/opt/wildfly/bin/"
export PATH=\$PATH:\$WildFly_BIN                                                                                                                    
EOF

Origina il file bashrc.

source ~/.bashrc

Ora prova connettendoti alla WildFly Admin Console dalla CLI con il comando jboss-cli.sh.

$ jboss-cli.sh --connect
Authenticating against security realm: ManagementRealm
Username: computingforgeeks
Password:
[standalone@localhost:9990 /] version
JBoss Admin Command-line Interface
JBOSS_HOME: /opt/wildfly
Release: 29.0.1.Final
Product: WildFly Full 29.0.1.Final
JAVA_HOME: null
java.version: 11.0.13
java.vm.vendor: Ubuntu
java.vm.version: 11.0.13+8-Ubuntu-0ubuntu1
os.name: Linux
os.version: 5.13.0-19-generic
[standalone@localhost:9990 /] exit

Accesso alla console di amministrazione WildFly dall'interfaccia Web

Per impostazione predefinita, la console è accessibile sull'IP localhost sulla porta 9990.

$ ss -tunelp | grep 9990
tcp    LISTEN   0    50    127.0.0.1:9990  0.0.0.0:* users:(("java",pid=6769,fd=404)) uid:999 ino:30407 sk:3 <-> 

Possiamo avviarlo su un indirizzo IP diverso accessibile dall'esterno del server locale. Modifica /opt/wildfly/bin/launch.sh in questo modo:

$ sudo vim /opt/wildfly/bin/launch.sh
#!/bin/bash

if [ "x$WILDFLY_HOME" = "x" ]; then
    WILDFLY_HOME="/opt/wildfly"
fi

if [[ "$1" == "domain" ]]; then
    $WILDFLY_HOME/bin/domain.sh -c $2 -b $3
else
    $WILDFLY_HOME/bin/standalone.sh -c $2 -b $3 -bmanagement=0.0.0.0
fi

Abbiamo aggiunto -bmanagement=0.0.0.0 per avviare la riga dello script. Ciò vincola l'interfaccia di “gestione” a tutti gli indirizzi IP disponibili.

Riavviare il servizio Wildfly

sudo systemctl restart wildfly

Controlla lo stato del servizio per confermare che ha avuto successo

$ systemctl status  wildfly
● wildfly.service - The WildFly Application Server
     Loaded: loaded (/etc/systemd/system/wildfly.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2023-12-24 12:11:21 EAT; 6s ago
   Main PID: 8205 (launch.sh)
      Tasks: 70 (limit: 9482)
     Memory: 159.8M
        CPU: 12.265s
     CGroup: /system.slice/wildfly.service
             ├─8205 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 0.0.0.0
             ├─8206 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 0.0.0.0 -bmanagement=0.0.0.0
             └─8305 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava>

Des 24 12:11:22 ubuntu22 systemd[1]: Started The WildFly Application Server.

Conferma che la porta 9990 è in ascolto:

$ ss -tunelp | grep 9990
tcp    LISTEN   0  50     0.0.0.0:9990  0.0.0.0:*  users:(("java",pid=9496,fd=320)) uid:999 ino:73367 sk:c <->

Apri il browser e l'URL http://serverip:9990 per accedere alla console Web WildFly.

Utilizza il nome utente creato in precedenza e la password per autenticarti. La console WildFly sarà la finestra successiva da mostrare.

Hai installato con successo il server dell'applicazione WildFly su Ubuntu 22.04|20.04|18.04. Visita la pagina della documentazione di WildFly per ulteriori letture.

Articoli correlati: