In questo tutorial impareremo come installare il contenitore dell'applicazione Apache Tomcat 8 su RHEL 8 / CentOS 8. Utilizzeremo il pacchetto zip disponibile per il download dal sito Web Apache Tomcat. Poiché questo pacchetto non gestirà la configurazione dell'ambiente, lo creeremo dalla riga di comando.
In questo tutorial imparerai:
- Come installare Apache Tomcat da file zip
- Come creare l'ambiente per il server Tomcat dalla riga di comando
- Come aggiungere il file del servizio di base a systemd
- Come abilitare l'avvio automatico, avviare e arrestare il server Tomcat
- Come verificare che Tomcat sia raggiungibile
Pagina di esempi servita da Apache Tomcat.
Requisiti e convenzioni software utilizzati
Categoria | Requisiti, convenzioni o versione del software utilizzata |
---|---|
Sistema | RHEL 8 / CentOS 8 |
Software | Apache Tomcat 8 |
Altro | Accesso privilegiato al tuo sistema Linux come root o tramite sudo comando. |
Convenzioni | # – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando sudo comando$ – richiede che i comandi linux dati vengano eseguiti come un normale utente non privilegiato |
Come installare Apache Tomcat su Linux Redhat 8 istruzioni passo passo
Installeremo un server Tomcat non da un rpm
pacchetto, ma un zip
file che scaricheremo dal sito ufficiale. Pertanto l'utente che eseguirà il server, i percorsi e i diritti del filesystem devono essere impostati manualmente. Durante l'installazione da rpm
è un modo molto più conveniente, potrebbero esserci situazioni in cui non è un'opzione.
L'esempio più banale sarebbe che il rpm
pacchetto non è disponibile, un altro potrebbe essere che l'applicazione che verrà eseguita nel contenitore Tomcat richiede una versione esatta di tomcat e lasciando il gestore pacchetti fuori dall'installazione si assicura che gli aggiornamenti di sistema lascino intatto il server Tomcat. Ovviamente questo potrebbe non essere ottimale dal punto di vista della sicurezza.
Affinché questa installazione funzioni è necessario che Java 1.8 sia installato sul sistema di destinazione.
- In primo luogo, scaricheremo ed estrarremo il
zip
pacchetto. Navigando nel sito di download di Tomcat 8, possiamo copiare il collegamento di cui abbiamo bisogno e utilizzarewget
sul sistema di destinazione. Useremo/opt
come percorso di base dell'installazione, poiché è un luogo comune per il software installato manualmente. Passiamo a questa directory:# cd /opt
E scarica il pacchetto direttamente in questo percorso:
# wget https://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.zip --2019-01-02 18:06:00-- https://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.zip Resolving www-us.apache.org (www-us.apache.org)... 40.79.78.1 Connecting to www-us.apache.org (www-us.apache.org)|40.79.78.1|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 10246390 (9.8M) [application/zip] Saving to: 'apache-tomcat-8.5.37.zip' apache-tomcat-8.5.37.zip 100%[================================================================================================================>] 9.77M 280KB/s in 23s 2019-01-02 18:06:24 (444 KB/s) - 'apache-tomcat-8.5.37.zip' saved [10246390/10246390]
Lo specchio può variare in base alla posizione, per prestazioni ottimali, utilizza lo specchio più vicino alla tua posizione.
- Successivamente estraiamo il pacchetto con
unzip
sul posto:# unzip apache-tomcat-8.5.37.zip
- Creiamo un link simbolico
/opt/tomcat
che punta a/opt/apache-tomcat-8.5.37
:# ln -s /opt/apache-tomcat-8.5.37 /opt/tomcat
In questo modo installare un'altra versione e passare ad essa è una questione di cambiare dove punta il collegamento simbolico.
- Cancellamo il
/opt/tomcat/logs
originale directory e sostituirlo con un collegamento simbolico che punta a/var/log/tomcat
:# mkdir /var/log/tomcat # rmdir /opt/tomcat/logs # ln -s /var/log/tomcat /opt/tomcat/logs
Il motivo è archiviare tutti i registri in
/var/log
dove lo spazio di archiviazione viene gestito tenendo conto del carico di sistema e quindi delle dimensioni del file di registro. È buona norma archiviare dati dello stesso tipo in un unico posto e/var/log
è già la posizione dei file di registro di sistema. - Creiamo l'utente che eseguirà il server e lo impostiamo come proprietario delle directory richieste:
# useradd tomcat # chown -R tomcat:tomcat /opt/apache-tomcat-8.5.37 # chown -R tomcat:tomcat /var/log/tomcat
- Aggiungiamo i diritti di esecuzione agli script che si trovano nel
bin
directory:# chmod +x /opt/tomcat/bin/*.sh
- Creiamo un file di servizio di base
/etc/systemd/system/tomcat.service
persystemd
con il nostro editor di testo preferito, comevi
onano
con il seguente contenuto:[Unit] Description=Tomcat After=syslog.target network.target [Service] Type=forking User=tomcat Group=tomcat ExecStart=/opt/tomcat/bin/catalina.sh start ExecStop=/opt/tomcat/bin/catalina.sh stop [Install] WantedBy=multi-user.target
- Ricarichiamo il
systemd
configurazione, quindisystemd
noterà il nuovo file di servizio:# systemctl daemon-reload
- Accederemo a Tomcat sulla porta
8080
. Apriamo la porta sul firewall
:# firewall-cmd --zone=public --add-port=8080/tcp --permanent
E ricarica il firewall:
# firewall-cmd --reload
- Chiediamo
systemd
sul nuovo servizio:# systemctl status tomcatenable systemd service tomcat.service - Tomcat Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: disabled) Active: inactive (dead)
- Come
systemd
ora conosce il servizio, possiamo avviarlo:# systemctl start tomcat
- Infine, verifichiamo il nostro server in esecuzione con systemd:
# systemctl status tomcat tomcat.service - Tomcat Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: disabled) Active: active (running) since Wed 2019-01-02 18:40:00 CET; 4s ago Process: 4854 ExecStop=/opt/tomcat/bin/catalina.sh stop (code=exited, status=0/SUCCESS) Process: 5529 ExecStart=/opt/tomcat/bin/catalina.sh start (code=exited, status=0/SUCCESS) Main PID: 5543 (java) Tasks: 47 (limit: 12544) Memory: 85.2M CGroup: /system.slice/tomcat.service ˪5543 /usr/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties [...]
Se apriamo un browser e digitiamo
http://<name-or-ip-address-of-the-server>:8080/examples/
nella barra degli indirizzi, dovremmo vedere gli esempi ufficiali spediti con il pacchetto che vengono serviti dal nostro server Tomcat installato correttamente. - Se necessario, possiamo abilitare il servizio systemd per avviare automaticamente il nostro server all'avvio:
# systemctl enable tomcat