Apache Tomcat è un server Web open source che consente di eseguire applicazioni Web scritte in Java. Proprio come il popolare server web Apache, anche Tomcat è sviluppato e gestito da una comunità gratuita di sviluppatori.
Come Apache, Apache Tomcat è un server HTTP che serve HTTP ed è anche un contenitore di servlet. Apache è un server HTTP generico che supporta diverse opzioni avanzate che Tomcat non ha. Il Tomcat funziona principalmente come servlet e server JSP per le tecnologie Java a scopo di sviluppo. Quindi può essere utilizzato per fornire i tuoi servlet e JSP Java. Quindi, puoi creare il tuo file WAR (Web Application Archive) nel tuo progetto Java e salvarlo semplicemente nella directory di distribuzione Tomcat.
Qui impariamo come installare e configurare Apache Tomcat su Rocky Linux 8... Tuttavia, i passaggi indicati in questo tutorial sono applicabili anche per CentOS 8, RHEL e AlmaLinux 8...
requisiti
- Server Linux RHEL a 64 bit o quello basato su di esso come Rocky, CentOS o AlmaLinux
- 2 GB di memoria o più in base alle tue esigenze
- Accesso a un utente con
sudo
diritti - Accesso SSH per il server CLI, in modo da poter copiare e incollare facilmente i comandi.
Aggiorna il tuo sistema Rocky Linux
Esegui il comando di aggiornamento del sistema per ottenere l'ultimo stato stabile per tutti i pacchetti installati sul tuo sistema Rocky Linux. Ecco il comando-
sudo dnf update
Installa l'ambiente di runtime OpenJDK
Java opensource JRE e JDK sono entrambi disponibili nel repository di Rocky Linux e lo stesso vale per altre distribuzioni di server Linux simili. Qui installeremo OpenJDK 11, puoi anche passare alla versione 8 se vuoi.
Comando per OpenJDK 11
sudo dnf install java-11-openjdk.x86_64
Gli sviluppatori possono anche installare l'ambiente di sviluppo OpenJDK 11
sudo dnf install java-11-openjdk-devel.x86_64
or
Per OpenJDK 8
sudo dnf install java-1.8.0-openjdk.x86_64
Per l'ambiente di sviluppo OpenJDK 11
sudo dnf install java-1.8.0-openjdk-devel.x86_64
Verifica versione Java
Una volta completata l'installazione di una delle versioni sopra indicate, verificarla utilizzando il comando seguente per confermare l'installazione.
java --version
L'output sarà così-
openjdk 11.0.11 2021-04-20 LTS OpenJDK Runtime Environment 18.9 (build 11.0.11+9-LTS) OpenJDK 64-Bit Server VM 18.9 (build 11.0.11+9-LTS, mixed mode, sharing)
Crea un utente non root per Tomcat
Creiamo un gruppo e un utente che avrà accesso solo a Tomcat e non può essere utilizzato per altri scopi come l'accesso al sistema per installare o eliminare qualsiasi cosa.
Aggiungi gruppo Tomcat-
sudo groupadd tomcat
Crea una directory per salvare i file Apache Tomcat
sudo mkdir /opt/tomcat
Aggiungi utente e imposta la directory sopra creata come cartella home e disabilita anche i suoi diritti di accesso usando il comando seguente-
sudo useradd -s /bin/nologin -g tomcat -d /opt/tomcat tomcat
Scarica l'ultimo Apache Tomcat 10 su Rocky Linux
Sono disponibili più versioni di Tomcat come Tomcat 8, 9 e 10. Tutte queste tre supportano Java 8 e versioni successive. Pertanto, puoi scaricare quello secondo la tua scelta. Tuttavia, qui stiamo scaricando l'ultima versione di Tomcat 10 di Apache disponibile durante la stesura di questo articolo. Scarica quello dal sito ufficiale.
Seleziona la versione di Tomcat che desideri scaricare, quindi fai clic con il pulsante destro del mouse su Tar.gz file e copiarne il link . Dopodiché incollalo con wget
comando per scaricarlo direttamente da terminale.
wget paste-link
Ad esempio- qui stiamo scaricando Tomcat 10, quindi copiamo il link disponibile per quello.
wget https://downloads.apache.org/tomcat/tomcat-10/v10.0.5/bin/apache-tomcat-10.0.5.tar.gz
Estrai e sposta i file
Una volta completato il download, estrai il Tar file e copialo in /opt/tomcat
directory che abbiamo creato in precedenza.
sudo tar -zxvf apache-tomcat-*.tar.gz -C /opt/tomcat --strip-components=1
Per verificare se è stato estratto e copiato correttamente, digita-
ls /opt/tomcat
Risultato:
Imposta autorizzazione
Poiché abbiamo già creato un utente dedicato per Tomcat, gli consentiamo di leggere i file in esso disponibili.
sudo chown -R tomcat: /opt/tomcat
Inoltre, consenti l'esecuzione dello script disponibile all'interno della cartella.
sudo sh -c 'chmod +x /opt/tomcat/bin/*.sh'
Crea file di servizio Apache Tomcat
Per impostazione predefinita, non avremo un file di unità Systemd per Tomcat come il server Apache per arrestare, avviare e abilitare i suoi servizi. Pertanto, ne creiamo uno, in modo da poterlo gestire facilmente.
sudo dnf install nano -y
sudo nano /etc/systemd/system/tomcat.service
Incolla il seguente codice al suo interno-
[Unit] Description=Tomcat webs servlet container After=network.target [Service] Type=forking User=tomcat Group=tomcat Environment="JAVA_HOME=/usr/lib/jvm/jre" Environment="JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom" Environment="CATALINA_BASE=/opt/tomcat" Environment="CATALINA_HOME=/opt/tomcat" Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid" Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC" ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh [Install] WantedBy=multi-user.target
Per salvare premi Ctrl+X , digita –Y e premi Invio Chiave.
Avvia, abilita e controlla lo stato del servizio
Dopo aver creato correttamente il file dell'unità di sistema per Tomcat, avvia il suo servizio utilizzando i comandi indicati di seguito-
Inizia
sudo systemctl start tomcat
Abilita
sudo systemctl enable --now tomcat
Controlla lo stato
sudo systemctl status tomcat
Risultato –
● tomcat.service - Tomcat webs servlet container Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset:> Active: active (running) since Fri 2021-05-07 20:44:20 IST; 8s ago Process: 17781 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SU> Main PID: 17788 (java) Tasks: 29 (limit: 20249) Memory: 155.6M CGroup: /system.slice/tomcat.service └─17788 /usr/lib/jvm/jre/bin/java -Djava.util.logging.config.file=/o> May 07 20:44:20 demo.how2shout.local systemd[1]: Starting Tomcat webs servlet c> May 07 20:44:20 demo.how2shout.local systemd[1]: Started Tomcat webs servlet co> .....
Apri la porta 8080 in Rocky Linux Firewall
Per accedere all'interfaccia web di Apache Tomcat al di fuori del localhost, dobbiamo aprire la porta 8080 nel firewall di Rocky Linux, CentOS o Almalinux che stai utilizzando.
sudo firewall-cmd --zone=public --permanent --add-port=8080/tcp sudo firewall-cmd --reload
Accedi all'interfaccia web
Apri il browser, se stai utilizzando il browser sullo stesso sistema in cui hai installato Tomcat, usa semplicemente-
http://localhost:8080
Tuttavia , il browser su qualsiasi altro sistema che può accedere all'indirizzo IP del tuo server su cui hai installato Apache Tomcat e digita l'indirizzo con numero di porta 8080.
Esempio- L'indirizzo IP del nostro server è http://192.168.189.171/ con numero di porta 8080, sarà così-
http://192.168.189.171:8080
Nota – Apparirà un errore 403 durante l'utilizzo su qualsiasi altro PC per accedere all'interfaccia di gestione.
403 Accesso negato su Tomcat 10/9/8 errore
Quando facciamo clic su "Stato del server “, “App Manager " e "Gestione host ” vedrai un errore 403 Accesso negato. Apparirà qualcosa come indicato di seguito.
Errore-
403 Access Denied You are not authorized to view this page. By default the Host Manager is only accessible from a browser running on the same machine as Tomcat. If you wish to modify this restriction, you'll need to edit the Host Manager's context.xml file. ............................
Per risolvere questo errore, procedi nel seguente modo...
sudo nano /opt/tomcat/conf/tomcat-users.xml
Alla fine, appena prima di </tomcat-users>
tag copia e incolla le seguenti righe.
Nota – Modificare il nome utente e password , con quello che vuoi impostare per il tuo Tomcat.
<role rolename="admin"/> <role rolename="admin-gui"/> <role rolename="manager"/> <role rolename="manager-gui"/> <user username="h2s" password="pwd" roles="admin,admin-gui,manager,manager-gui"/>
Salva il file ed esci- Ctrl+X , digita- Y, e premi Invio chiave.
Modifica il file di contesto
sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml
Nel file, scorri e vai alla fine e commenta il seguente blocco di testo-
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
Aggiungi solo <!--
all'inizio e -->
alla fine , dopodiché, sembrerà qualcosa di simile-
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->
Salva il file ed esci- Ctrl+X , digita- Y, e premi Invio chiave.
Dovrebbe apparire come è stato mostrato, nello screenshot qui sotto...
sudo nano /opt/tomcat/webapps/host-manager/META-INF/context.xml
Proprio come sopra, aggiungi anche <!--
all'inizio e -->
alla fine del testo riportato di seguito nel file, dopodiché, sembrerà qualcosa di simile-
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->
Salva il file ed esci .
Nota -:commentando, Tomcat non sarà in grado di leggere questo e consentire all'utente di accedere al backend di Manager utilizzando un PC remoto.
sudo systemctl restart tomcat
Accedi all'interfaccia di gestione web di Tomcat
Infine, aggiorna il browser e quando fai clic su App Manager pulsante per accedere al backend, il browser chiederà nome utente e password che hai impostato nel file XML utente Tomcat . Forniscilo e accedi per accedervi.
Aggiungi nome utente e password
Stato del server
Gestore di applicazioni Web
Tomcat Virtual Host Manager
Quindi, questo è stato un tutorial completo per installare e accedere ad Apache Tomcat su Linux Rocky, AlmaLinux e CentOS basati su RHEL.