Installa il server WildFly (JBoss) su CentOS 8/CentOS 7
In questo post del blog discuteremo i passaggi utilizzati per installare il server WildFly (JBoss) su CentOS 8/CentOS 7. WildFly precedentemente noto come JBoss è un server applicativo scritto in Java e sviluppato da Red Hat. Si tratta di un'implementazione eccezionalmente veloce, leggera e potente delle specifiche della piattaforma Java Enterprise Edition 8.
Prerequisiti di configurazione
- Server CentOS/RHEL 8 o CentOS/RHEL 7
- Ambiente runtime Java
- Utente con accesso sudo o root
- Connessione Internet sul tuo Server
Passaggio 1: installa Java JDK
Java è richiesto sul server che eseguirà WildFly Application Server. Utilizza le nostre guide di seguito per installare Java su CentOS/RHEL 7|8.
- Installa Java 11 (OpenJDK 11) su RHEL/CentOS 8
- Come installare Java 11 su CentOS 7
Se vuoi utilizzare Java 11, esegui semplicemente i comandi seguenti per installarlo.
sudo yum install java-11-openjdk-devel
Puoi verificare la versione Java predefinita nel tuo computer utilizzando:
$ java --version
openjdk 11.0.13 2021-10-19 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.13+8-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.13+8-LTS, mixed mode, sharing)
Passaggio 2: scarica l'archivio della versione WildFly
Controlla la pagina dei download di WildFly per le ultime versioni prima di scaricare il file.
sudo yum -y install wget curl
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 le autorizzazioni /opt/wildfly
.
sudo chown -R wildfly:wildfly /opt/wildfly
Ricarica il servizio systemd.
sudo systemctl daemon-reload
Configura SELinux:
sudo semanage fcontext -a -t bin_t "/opt/wildfly/bin(/.*)?"
sudo restorecon -Rv /opt/wildfly/bin/
Avvia e abilita il servizio WildFly:
sudo systemctl start wildfly
sudo systemctl enable wildfly
Conferma lo stato del server delle applicazioni WildFly.
$ systemctl status wildfly
● wildfly.service - The WildFly Application Server
Loaded: loaded (/etc/systemd/system/wildfly.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2023-04-03 16:22:58 EAT; 6s ago
Main PID: 31303 (launch.sh)
Tasks: 119 (limit: 11510)
Memory: 330.8M
CGroup: /system.slice/wildfly.service
├─31303 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 0.0.0.0
├─31304 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 0.0.0.0
└─31396 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djbos>
Apr 03 16:22:58 rhel8.local systemd[1]: Started The WildFly Application Server.
Il servizio deve essere associato alla porta 8080
.
$ sudo 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 gli utenti WildFly al sistema
WildFly è 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 dell'utente sono conservate su: /opt/wildfly/domain/configuration/mgmt-users.properties
Le informazioni sul gruppo vengono conservate su: /opt/wildfly/standalone/configuration/mgmt-groups.properties
Passaggio 5: accesso alla console di amministrazione WildFly
Per poter eseguire gli script WildFly dalla sessione corrente della shell, 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: <enter-created-username>
Password: <enter-assigned-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: Red Hat, Inc.
java.vm.version: 11.0.13+8-LTS
os.name: Linux
os.version: 4.18.0-305.7.1.el8_4.x86_64
[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.
$ sudo 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:
.....
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
Confermare
$ 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 <->
Porte aperte sul firewall
sudo firewall-cmd --permanent --add-port={8080,9990}/tcp
sudo firewall-cmd --reload
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 correttamente il server dell'applicazione WildFly su RHEL/CentOS 8/7. Visita la pagina della documentazione di WildFly per ulteriori letture.
Se sei un utente Ubuntu/Debian, controlla: Installa WildFly (JBoss) Application Server su Ubuntu