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.