WildFly, precedentemente noto come JBoss, è un runtime di applicazioni open source multipiattaforma scritto in Java che ti aiuta a creare applicazioni straordinarie. WildFly è flessibile, leggero e si basa su sottosistemi collegabili che possono essere aggiunti o rimossi secondo necessità.
Questo tutorial ti mostrerà come installare il server delle applicazioni WildFly su Ubuntu 18.04. Le stesse istruzioni si applicano a Ubuntu 16.04 ea qualsiasi distribuzione basata su Ubuntu, inclusi Kubuntu, Linux Mint e OS elementare.
Prerequisiti #
Per poter installare i pacchetti sul tuo sistema Ubuntu, devi essere loggato come utente con privilegi sudo.
Fase 1:installa Java OpenJDK #
WildFly richiede l'installazione di Java. Installeremo OpenJDK, che è lo sviluppo Java predefinito e il runtime in Ubuntu 18.04.
L'installazione di Java è piuttosto semplice. Inizia aggiornando l'indice del pacchetto:
sudo apt update
Installa il pacchetto OpenJDK eseguendo:
sudo apt install default-jdk
Fase 2:crea un utente #
Creeremo un nuovo utente di sistema e un gruppo chiamato wildfly
con la directory home /opt/wildfly
che eseguirà il servizio WildFly:
sudo groupadd -r wildfly
sudo useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly
Fase 3:installa WildFly #
Al momento in cui scrivo, l'ultima versione di WildFly è 16.0.0
. Prima di continuare con il passaggio successivo dovresti controllare la pagina di download per una nuova versione. Se c'è una nuova versione, sostituisci WILDFLY_VERSION
variabile nel comando seguente.
Scarica l'archivio WildFly nel /tmp
directory utilizzando il seguente wget
comando:
WILDFLY_VERSION=16.0.0.Final
wget https://download.jboss.org/wildfly/$WILDFLY_VERSION/wildfly-$WILDFLY_VERSION.tar.gz -P /tmp
Una volta completato il download, estrai il file tar.gz e spostalo nella cartella /opt
directory:
sudo tar xf /tmp/wildfly-$WILDFLY_VERSION.tar.gz -C /opt/
Crea un collegamento simbolicowildfly
che punterà alla directory di installazione di WildFly:
sudo ln -s /opt/wildfly-$WILDFLY_VERSION /opt/wildfly
WildFly verrà eseguito sotto wildfly
utente che deve avere accesso alla directory di installazione di WildFly.
Il comando seguente cambierà la proprietà della directory in utente e gruppo wildfly
:
sudo chown -RH wildfly: /opt/wildfly
Fase 4:Configura Systemd #
Il pacchetto WildFly include i file necessari per eseguire WildFly come servizio.
Inizia creando una directory che conterrà il file di configurazione di WildFly:
sudo mkdir -p /etc/wildfly
Copia il file di configurazione in /etc/wildfly
directory:
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
Questo file consente di specificare la modalità WildFly e l'indirizzo di collegamento. Per impostazione predefinita, WildFly verrà eseguito in modalità standalone e sarà in ascolto su tutte le interfacce. Puoi modificare il file in base alle tue esigenze.
/etc/wildfly/wildfly.conf# The configuration you want to run
WILDFLY_CONFIG=standalone.xml
# The mode you want to run
WILDFLY_MODE=standalone
# The address to bind to
WILDFLY_BIND=0.0.0.0
Quindi copia il launch.sh
di WildFly script nel /opt/wildfly/bin/
directory:
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
Gli script all'interno di bin
la directory deve avere il flag eseguibile:
sudo sh -c 'chmod +x /opt/wildfly/bin/*.sh'
L'ultimo passaggio consiste nel copiare il file dell'unità systemd denominato in /etc/systemd/system/
directory:
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/
Notifica a systemd che abbiamo creato un nuovo file di unità:
sudo systemctl daemon-reload
Avvia il servizio WildFly eseguendo:
sudo systemctl start wildfly
Verifica lo stato del servizio con il seguente comando:
sudo systemctl status wildfly
* wildfly.service - The WildFly Application Server
Loaded: loaded (/etc/systemd/system/wildfly.service; disabled; vendor preset: enabled)
Active: active (running) since Sun 2019-02-17 04:59:39 PST; 2s ago
Main PID: 10005 (launch.sh)
Tasks: 62 (limit: 2319)
CGroup: /system.slice/wildfly.service
Abilita l'avvio automatico del servizio all'avvio:
sudo systemctl enable wildfly
Passaggio 5:regola il firewall #
Se il tuo server è protetto da un firewall e vuoi accedere all'interfaccia di WildFly dall'esterno della tua rete locale devi aprire la porta 8080
.
Per consentire il traffico sulla porta 8080
digita il seguente comando:
sudo ufw allow 8080/tcp
Quando si esegue un'applicazione WildFly in un ambiente di produzione, è molto probabile che si disponga di un sistema di bilanciamento del carico o di un proxy inverso ed è una procedura consigliata limitare l'accesso alla porta 8080 solo alla rete interna. Passaggio 6:configura l'autenticazione WildFly #
Ora che WildFly è installato ed è in esecuzione, il passaggio successivo consiste nel creare un utente che sarà in grado di connettersi utilizzando la console di amministrazione o in remoto utilizzando la CLI.
Per aggiungere un nuovo utente usa add-user.sh
script che si trova nella directory bin di WildFly:
sudo /opt/wildfly/bin/add-user.sh
Ti verrà chiesto che tipo di utente desideri aggiungere:
What type of user do you wish to add?
a) Management User (mgmt-users.properties)
b) Application User (application-users.properties)
(a):
Seleziona a
e premi Enter
:
Successivamente, lo script ti chiederà di inserire i dettagli del nuovo utente:
Enter the details of the new user to add.
Using realm 'ManagementRealm' as discovered from the existing property files.
Username : linuxize
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 :
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 'linuxize' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'linuxize' to file '/opt/wildfly-16.0.0.Final/standalone/configuration/mgmt-users.properties'
Added user 'linuxize' to file '/opt/wildfly-16.0.0.Final/domain/configuration/mgmt-users.properties'
Added user 'linuxize' with groups to file '/opt/wildfly-16.0.0.Final/standalone/configuration/mgmt-groups.properties'
Added user 'linuxize' with groups to file '/opt/wildfly-16.0.0.Final/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 <secret value="UGFuMjNkZWo3NyNA" />
Il nuovo utente verrà aggiunto ai file delle proprietà utilizzati per l'autenticazione.
Fase 6:verifica dell'installazione di WildFly #
Per accedere alla pagina predefinita di WildFly, apri il browser e digita:http://<your_domain_or_IP_address>:8080
Supponendo che l'installazione abbia esito positivo, apparirà una schermata simile alla seguente:
Passaggio 7:accedi alla console di amministrazione WildFly #
Interfaccia a riga di comando #
Per accedere alla console di amministrazione di WildFly dalla riga di comando puoi utilizzare jboss-cli.sh
copione.
Passa alla directory bin di WildFly ed esegui lo script con il --connect
opzione:
cd /opt/wildfly/bin/
./jboss-cli.sh --connect
Ti verrà chiesto di inserire il nome utente e la password amministrativi (creati nel passaggio 6):
Authenticating against security realm: ManagementRealm
Username: linuxize
Password:
Una volta effettuato l'accesso, il prompt della console cambierà in [standalone@localhost:9990 /]
. Digita help
per ottenere un elenco di comandi e la sintassi dei comandi.
Da qui puoi distribuire e annullare la distribuzione delle tue applicazioni, gestire utenti e gruppi e configurare e monitorare il server WildFly.
Interfaccia Web #
Se preferisci gestire il tuo server dalla GUI, WildFly fornisce anche una console basata sul web.
Per impostazione predefinita, la console di amministrazione di WildFly è disponibile solo da localhost su http://localhost:9990/console
. Accedi utilizzando l'utente che hai creato nel passaggio 6.
Se vuoi accedere alla console da postazioni remote dovrai apportare piccole modifiche a wildfly.service
, wildfly.conf
e launch.sh
file.
Apri il wildfly.conf
e aggiungi WILDFLY_CONSOLE_BIND=0.0.0.0
alla fine del file.
# The configuration you want to run
WILDFLY_CONFIG=standalone.xml
# The mode you want to run
WILDFLY_MODE=standalone
# The address to bind to
WILDFLY_BIND=0.0.0.0
# The address console to bind to
WILDFLY_CONSOLE_BIND=0.0.0.0
Apri il launch.sh
e modifica le righe evidenziate:
#!/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 -bmanagement $4
else
$WILDFLY_HOME/bin/standalone.sh -c $2 -b $3 -bmanagement $4
fi
Riavvia il servizio per rendere effettive le modifiche:
sudo systemctl restart wildfly
Apri il wildfly.service
e modifica le righe evidenziate:
[Unit]
Description=The WildFly Application Server
After=syslog.target network.target
Before=httpd.service
[Service]
Environment=LAUNCH_JBOSS_IN_BACKGROUND=1
EnvironmentFile=-/etc/wildfly/wildfly.conf
User=wildfly
LimitNOFILE=102642
PIDFile=/var/run/wildfly/wildfly.pid
ExecStart=/opt/wildfly/bin/launch.sh $WILDFLY_MODE $WILDFLY_CONFIG $WILDFLY_BIND $WILDFLY_CONSOLE_BIND
StandardOutput=null
[Install]
WantedBy=multi-user.target
Crea il /var/run/wildfly
directory e impostare le autorizzazioni corrette:
sudo mkdir /var/run/wildfly/
sudo chown wildfly: /var/run/wildfly/
Notifica a systemd che il file dell'unità è stato modificato:
sudo systemctl daemon-reload
Riavvia il servizio WildFly eseguendo:
sudo systemctl restart wildfly
Supponendo che la porta 9990
non è bloccato nel firewall, dovresti essere in grado di accedere alla console di amministrazione di WildFly all'indirizzo http://<your_domain_or_IP_address>:9990/console
.