Come installare e configurare WildFly (JBoss) su Debian 11
Questo tutorial esiste per queste versioni del sistema operativo
- Debian 11 (Bullseye)
- Debian 10 (Buster)
Su questa pagina
- Prerequisiti
- Installa Java JDK
- Installa Wildfly
- Abilita la console di amministrazione di Wildfly
- Crea utente amministratore Wildfly
- Installa e configura Nginx come proxy inverso
- Accedi all'interfaccia utente web di Wildfly
- Conclusione
Wildfly è un application server scritto in Java e sviluppato da RedHat. È un server semplice, leggero e potente con una CLI e una console di amministrazione. È open source, multipiattaforma e basato su sottosistemi collegabili che possono essere aggiunti o rimossi secondo necessità. Fornisce tutte le funzionalità necessarie per eseguire un'applicazione Web Java.
In questo tutorial, ti mostrerò come installare Wildfly con Nginx come proxy inverso su Debian 11.
Prerequisiti
- Un server che esegue Debian 11.
- Un nome di dominio valido indicato con l'IP del tuo server.
- Una password di root è configurata sul tuo server.
Installa Java JDK
Wildfly è un'applicazione basata su Java, quindi Java deve essere installato sul tuo server. Se non è installato, puoi installarlo eseguendo il seguente comando:
apt-get install default-jdk -y
Una volta installato Java, puoi verificarlo usando il seguente comando:
java --version
Dovresti vedere la versione di Java nel seguente output:
openjdk 11.0.12 2021-07-20 OpenJDK Runtime Environment (build 11.0.12+7-post-Debian-2deb10u1) OpenJDK 64-Bit Server VM (build 11.0.12+7-post-Debian-2deb10u1, mixed mode, sharing)
Installa Wildfly
Innanzitutto, crea un utente e un gruppo per eseguire l'applicazione Wildfly utilizzando il seguente comando:
groupadd -r wildfly
useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly
Successivamente, scarica l'ultima versione di Wildfly usando il comando wget:
wget https://github.com/wildfly/wildfly/releases/download/25.0.1.Final/wildfly-25.0.1.Final.zip
Una volta completato il download, decomprimere il file scaricato con il seguente comando:
unzip wildfly-25.0.1.Final.zip
Successivamente, sposta la directory estratta in /opt utilizzando il seguente comando:
mv wildfly-25.0.1.Final /opt/wildfly
Quindi, cambia la proprietà della directory /opt/wildfly:
chown -RH wildfly:wildfly /opt/wildfly
Successivamente, crea una directory di configurazione Wildfly all'interno di /etc utilizzando il seguente comando:
mkdir -p /etc/wildfly
Successivamente, copia tutti i file necessari dalla directory Wildfly alla directory /etc/wildfly:
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/
cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
Successivamente, imposta l'autorizzazione di esecuzione su tutti i file di script della shell:
chmod +x /opt/wildfly/bin/*.sh
Successivamente, ricarica il demone systemd con il seguente comando:
systemctl daemon-reload
Successivamente, avvia e abilita il servizio Wildfly utilizzando il seguente comando:
systemctl start wildfly
systemctl enable wildfly
Per verificare lo stato del servizio Wildfly, eseguire il seguente comando:
systemctl status wildfly
Otterrai il seguente output:
? wildfly.service - The WildFly Application Server Loaded: loaded (/etc/systemd/system/wildfly.service; disabled; vendor preset: enabled) Active: active (running) since Fri 2021-12-10 14:55:07 UTC; 6s ago Main PID: 20928 (launch.sh) Tasks: 59 (limit: 4701) Memory: 171.6M CGroup: /system.slice/wildfly.service ??20928 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 0.0.0.0 ??20929 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 0.0.0.0 ??21022 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=tru Dec 10 14:55:07 debian11 systemd[1]: Started The WildFly Application Server.
Abilita la console di amministrazione Wildfly
Per impostazione predefinita, la console di amministrazione di Wildfly è disabilitata. Si consiglia di abilitarlo per gestire l'applicazione Wildfly.
Puoi abilitarlo modificando il file di configurazione di Wildfly:
nano /etc/wildfly/wildfly.conf
Modifica le seguenti righe:
WILDFLY_BIND=127.0.0.1 WILDFLY_CONSOLE_BIND=127.0.0.1
Salva e chiudi il file, quindi modifica lo script di avvio Wildfly e abilita la console di amministrazione.
nano /opt/wildfly/bin/launch.sh
Modificare il file come mostrato di seguito:
if [[ "$1" == "domain" ]]; then $WILDFLY_HOME/bin/domain.sh -c $2 -b $3 -bmanagement $4 else $WILDFLY_HOME/bin/standalone.sh -c $2 -b $3 -bmanagement $4 fi
Salva e chiudi il file, quindi modifica il file systemd Wildfly:
nano /etc/systemd/system/wildfly.service
Modifica la riga seguente:
ExecStart=/opt/wildfly/bin/launch.sh $WILDFLY_MODE $WILDFLY_CONFIG $WILDFLY_BIND $WILDFLY_CONSOLE_BIND
Salva e chiudi il file, quindi ricarica il demone systemd per applicare le modifiche alla configurazione:
systemctl daemon-reload
Successivamente, riavvia il servizio Wildfly per applicare le modifiche:
systemctl restart wildfly
Puoi anche controllare lo stato del Wildfly con il seguente comando:
systemctl status wildfly
Otterrai il seguente output:
? wildfly.service - The WildFly Application Server Loaded: loaded (/etc/systemd/system/wildfly.service; disabled; vendor preset: enabled) Active: active (running) since Fri 2021-12-10 14:57:22 UTC; 3s ago Main PID: 21182 (launch.sh) Tasks: 64 (limit: 4701) Memory: 205.6M CGroup: /system.slice/wildfly.service ??21182 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 127.0.0.1 127.0.0.1 ??21183 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 127.0.0.1 -bmanagement 127.0.0.1 ??21282 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=tru Dec 10 14:57:22 debian11 systemd[1]: Started The WildFly Application Server.
A questo punto Wildfly viene avviato ed è in ascolto sulle porte 8080 e 9990. Puoi verificarle con il seguente comando:
ss -plnt
Otterrai il seguente output:
State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=678,fd=3)) LISTEN 0 128 127.0.0.1:8443 0.0.0.0:* users:(("java",pid=21282,fd=485)) LISTEN 0 50 127.0.0.1:9990 0.0.0.0:* users:(("java",pid=21282,fd=487)) LISTEN 0 80 127.0.0.1:3306 0.0.0.0:* users:(("mysqld",pid=12461,fd=21)) LISTEN 0 128 127.0.0.1:8080 0.0.0.0:* users:(("java",pid=21282,fd=476)) LISTEN 0 128 [::]:22 [::]:* users:(("sshd",pid=678,fd=4))
Una volta terminato, puoi procedere al passaggio successivo.
Crea utente amministratore Wildfly
Successivamente, dovrai anche creare un utente amministratore per accedere alla console di amministrazione di Wildfly. Puoi crearlo eseguendo il seguente comando:
sh /opt/wildfly/bin/add-user.sh
Ti verrà chiesto di scegliere le tipologie di utenza:
What type of user do you wish to add? a) Management User (mgmt-users.properties) b) Application User (application-users.properties) (a): a
Digitare a e premere il tasto Invio per aggiungere l'utente di gestione. Ti verrà chiesto di definire il tuo nome utente e password come mostrato di seguito:
Enter the details of the new user to add. Using realm 'ManagementRealm' as discovered from the existing property files. Username : hitesh 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 : Re-enter Password :
Fornisci il tuo nome utente, password e premi Invio. Ti verrà chiesto di aggiungere utenti al realm:
What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[ ]: About to add user 'hitesh' for realm 'ManagementRealm' Is this correct yes/no? yes
Digita yes e premi il tasto Invio per continuare. Una volta aggiunto l'utente, otterrai il seguente output:
Added user 'hitesh' to file '/opt/wildfly/standalone/configuration/mgmt-users.properties' Added user 'hitesh' to file '/opt/wildfly/domain/configuration/mgmt-users.properties' Added user 'hitesh' with groups to file '/opt/wildfly/standalone/configuration/mgmt-groups.properties' Added user 'hitesh' 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 Jakarta Enterprise Beans calls. yes/no? yes To represent the user add the following to the server-identities definition
Una volta terminato, puoi procedere al passaggio successivo.
Installa e configura Nginx come proxy inverso
Successivamente, dovrai configurare Nginx come proxy inverso per accedere a Wildfly attraverso la porta 80.
Innanzitutto, installa il pacchetto Nginx utilizzando il comando seguente:
apt-get install nginx -y
Una volta installato Nginx, crea un file proxy Nginx con il seguente comando:
nano /etc/nginx/conf.d/proxy_headers.conf
Aggiungi le seguenti righe:
proxy_set_header Host $host; proxy_set_header X-Forwarded-Proto $scheme; add_header Front-End-Https on; add_header Cache-Control no-cache;
Salva e chiudi il file, quindi crea un file di configurazione dell'host virtuale Nginx per Wildfly:
nano /etc/nginx/conf.d/wildfly.conf
Aggiungi le seguenti righe:
server { listen 80; server_name wildfly.yourdomain.com; location / { include conf.d/proxy_headers.conf; proxy_pass http://127.0.0.1:8080; } location /management { include conf.d/proxy_headers.conf; proxy_pass http://127.0.0.1:9990/management; } location /console { include conf.d/proxy_headers.conf; proxy_pass http://127.0.0.1:9990/console; } location /logout { include conf.d/proxy_headers.conf; proxy_pass http://127.0.0.1:9990/logout; } location /error { include conf.d/proxy_headers.conf; proxy_pass http://127.0.0.1:9990; } }
Salva e chiudi il file, quindi verifica Nginx per eventuali errori di sintassi utilizzando il seguente comando:
nginx -t
Dovresti vedere il seguente output:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Infine, riavvia il servizio Nginx per applicare le modifiche:
systemctl restart nginx
Puoi anche controllare lo stato di Nginx usando il comando seguente:
systemctl status nginx
Otterrai 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 Fri 2021-12-10 15:12:26 UTC; 9s ago Docs: man:nginx(8) Process: 22115 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 22116 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 22117 (nginx) Tasks: 3 (limit: 4701) Memory: 3.8M CGroup: /system.slice/nginx.service ??22117 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; ??22118 nginx: worker process ??22119 nginx: worker process Dec 10 15:12:25 debian11 systemd[1]: Starting A high performance web server and a reverse proxy server... Dec 10 15:12:26 debian11 systemd[1]: Started A high performance web server and a reverse proxy server.
A questo punto, Nginx è installato e configurato per servire Wildfly. Ora puoi procedere al passaggio successivo.
Accedi all'interfaccia utente Web di Wildfly
Ora apri il tuo browser web e accedi alla pagina dell'applicazione Wildfly utilizzando l'URL http://wildfly.yourdomain.com. Dovresti vedere la pagina predefinita di Wildfly nella seguente schermata:
Per accedere alla console di amministrazione di Wildfly digita l'URL http://wildfly.tuodominio.com/console/ nel tuo browser web. Ti verrà chiesto di fornire un nome utente e una password di amministratore come mostrato di seguito:
Fornisci il nome utente e la password dell'amministratore e fai clic sul pulsante Accedi. Una volta effettuato l'accesso, dovresti vedere la dashboard di amministrazione di Wildfly:
Conclusione
Congratulazioni! hai installato con successo Wildfly con Nginx come proxy inverso su Debian 11. Ora puoi utilizzare Wildfly per ospitare la tua applicazione Java su Internet. Non esitate a chiedermi se avete domande.