Apache Tomcat è un server Web HTTP Java open source sviluppato dalla Apache Software Foundation (ASF). Tomcat aiuta a distribuire Java Servlet e JavaServer Pages (JSP) e li serve come un server Web HTTP.
In questo post vedremo come installare Apache Tomcat 10/9 su CentOS 8 / RHEL 8.
Prerequisiti
Installa Java
Tomcat richiede l'installazione di Java 8 o superiore sulla macchina. Puoi installare qualsiasi versione stabile di Oracle JDK o OpenJDK.
LEGGI :Come installare Oracle JAVA su CentOS 8 / RHEL 8
Per questo post, sto usando OpenJDK.
yum install -y java curl tar
Verifica l'installazione di Java eseguendo il comando seguente.
java -version
Risultato:
openjdk version "1.8.0_275" OpenJDK Runtime Environment (build 1.8.0_275-b01) OpenJDK 64-Bit Server VM (build 25.275-b01, mixed mode)
Crea un account di servizio Tomcat
Come procedura consigliata, il servizio Tomcat non deve essere eseguito come utente root. Quindi, crea un normale utente Linux per eseguire il servizio Tomcat.
useradd -d /opt/tomcat -s /bin/nologin tomcat
Installa Apache Tomcat
Scarica Tomcat
Scarica Apache Tomcat dal sito Web ufficiale e salvalo nella tua directory di lavoro.
Al momento della stesura di questo articolo, Tomcat v9.0.22 è disponibile per l'installazione.
Browser
Scarica Apache Tomcat 10
Scarica Apache Tomcat 9.0
Terminale
### Apache Tomcat 10.x curl https://downloads.apache.org/tomcat/tomcat-10/v10.0.4/bin/apache-tomcat-10.0.4.tar.gz -o apache-tomcat-10.0.4.tar.gz ### Apache Tomcat 9.x curl https://downloads.apache.org/tomcat/tomcat-9/v9.0.44/bin/apache-tomcat-9.0.44.tar.gz -o apache-tomcat-9.0.44.tar.gz
Imposta Tomcat
Estrai il tarball di Tomcat e spostalo nella directory (/opt/tomcat) desiderata.
tar -zxvf apache-tomcat-*.tar.gz mv apache-tomcat-*/* /opt/tomcat/
Modifica la proprietà della directory per l'utente Tomcat.
chown -R tomcat:tomcat /opt/tomcat/
Crea file Systemd
Possiamo configurare systemd per avviare il servizio Tomcat per te e ci aiuta anche ad avviare automaticamente il servizio Apache Tomcat all'avvio del sistema.
Il file di servizio systemd di Tomcat richiede un percorso di installazione Java. Quindi, elenca le versioni Java disponibili sul tuo sistema usando il seguente comando.
alternatives --list | grep ^java
Risultato:
java auto /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el8_0.x86_64/jre/bin/java
Al momento, ho solo Java 1.8 sul mio sistema.
Crea un file di servizio systemd Tomcat.
vi /etc/systemd/system/tomcat.service
Aggiungi le seguenti informazioni al file di servizio systemd. Cmodifica i valori in base al tuo ambiente.
[Unit] Description=Apache Tomcat Web Application Container Wants=network.target After=network.target [Service] Type=forking Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el8_0.x86_64/jre Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid Environment=CATALINA_HOME=/opt/tomcat Environment='CATALINA_OPTS=-Xms512M -Xmx1G -Djava.net.preferIPv4Stack=true' Environment='JAVA_OPTS=-Djava.awt.headless=true' ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh SuccessExitStatus=143 User=tomcat Group=tomcat UMask=0007 RestartSec=10 Restart=always [Install] WantedBy=multi-user.target
SELinux
Considera la possibilità di disabilitare SELinux se blocca l'avvio di Tomcat.
setenforce 0 sed -i 's/ELINUX=enforcing/ELINUX=disabled/g' /etc/selinux/config
Avvia Apache Tomcat
Ricarica il demone di sistema.
systemctl daemon-reload
Per avviare il servizio Tomcat; corri:
systemctl start tomcat
Controlla lo stato di Tomcat, esegui:
systemctl status tomcat
Abilita il servizio Tomcat per l'avvio automatico all'avvio del sistema.
systemctl enable tomcat
Per impostazione predefinita, Tomcat viene eseguito sulla porta 8080. Utilizza il comando netstat per verificare se il servizio è in ascolto sulla porta 8080 o meno.
netstat -antup | grep 8080
Risultato:
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 2904/java
Firewall
Consenti la porta 8080 nel firewall in modo da poter accedere ad Apache Tomcat da reti esterne.
firewall-cmd --permanent --add-port=8080/tcp firewall-cmd --reload
Configura l'interfaccia utente Web di Apache Tomcat
Apache Tomcat può essere gestito tramite Web Manager.
Con Web Manager puoi
- Distribuisci nuove applicazioni
- Distribuisci nuove applicazioni nel contesto specificato
- Elenca le applicazioni attive o inattive
- Avvia e arresta le applicazioni web
Inoltre, Tomcat ha Host Manager per gestire i suoi host virtuali.
Gestione utenti
Sia The Web che Host Manager sono protetti da password, richiedono un nome utente e una password per accedere.
Solo l'utente con "manager-gui " e "admin-gui Il ruolo ” può accedere rispettivamente al Web e al Gestore host.
Questi utenti e ruoli sono definiti in tomcat-users.xml .
vi /opt/tomcat/conf/tomcat-users.xml
Posiziona le due righe seguenti appena sopra l'ultima riga.
<role rolename="admin-gui,manager-gui"/> <user username="admin" password="tomcat" roles="manager-gui,admin-gui"/>
Consenti accesso
Per motivi di sicurezza, sia Web che Host Manager sono accessibili solo da localhost, ovvero dal server stesso.
Per abilitare l'accesso per Web e Host Manager da sistemi remoti, è necessario aggiungere la rete all'elenco Consenti.
Per farlo, segui i passaggi.
Gestione web
vi /opt/tomcat/webapps/manager/META-INF/context.xml
Aggiorna la riga seguente con l'IP di origine da cui accedi a Web e Host Manager.
Consenti a tutti
.* consentirà a tutti di accedere al Web manager.
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|.*" />
Consenti rete organizzazione
Puoi anche consentire solo la rete della tua organizzazione. Ad esempio:per consentire solo la rete 192.168.1.0/24, puoi utilizzare i valori seguenti.
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.1.*" />
Gestione host
vi /opt/tomcat/webapps/host-manager/META-INF/context.xml
Aggiorna la riga sottostante con l'IP di origine da cui accedi a Host Manager.
Consenti a tutti
.* consentirà a tutti di accedere all'Host manager.
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|.*" />
Consenti rete organizzazione
Puoi anche consentire solo la rete della tua organizzazione. Ad esempio:per consentire solo la rete 192.168.1.0/24, puoi utilizzare i valori seguenti.
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.1.*" />
Riavvia il servizio Tomcat.
systemctl restart tomcat
Accedi a Tomcat
Apri il browser web e puntalo su:
http://ip.add.re.ss:8080Ora otterrai la pagina predefinita di Tomcat.
App Manager (gestore-gui):– Accesso richiesto. Nome utente:admin, Password:tomcat.
Qui puoi distribuire un'applicazione, distribuire un'applicazione in un contesto specifico, avviare, arrestare, ricaricare e annullare la distribuzione di un'applicazione.
Inoltre, puoi vedere il Tomcat Stato del server .
Gestione host (admin-gui):– Accesso richiesto. Nome utente:admin, Password:tomcat.
Qui puoi gestire gli host virtuali di Tomcat.
Conclusione
È tutto. Spero che tu abbia imparato come installare Tomcat 10/9 su CentOS 8 / RHEL 8. Ora sei pronto per la tua prima applicazione web. Come consiglio di sicurezza, considera l'implementazione di SSL/TLS per Tomcat