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
zippacchetto. Navigando nel sito di download di Tomcat 8, possiamo copiare il collegamento di cui abbiamo bisogno e utilizzarewgetsul sistema di destinazione. Useremo/optcome 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
unzipsul posto:# unzip apache-tomcat-8.5.37.zip
- Creiamo un link simbolico
/opt/tomcatche 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/logsoriginale 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/logsIl motivo è archiviare tutti i registri in
/var/logdove 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
bindirectory:# chmod +x /opt/tomcat/bin/*.sh
- Creiamo un file di servizio di base
/etc/systemd/system/tomcat.servicepersystemdcon il nostro editor di testo preferito, comevionanocon 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
systemdconfigurazione, quindisystemdnoterà 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
systemdsul 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
systemdora 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