Apache Tomcat è un'implementazione Java Servlet open source sviluppata da Apache Software Foundation. Oltre a Java Servlet, Tomcat implementa diverse altre tecnologie server Java tra cui JavaServer Pages (JSP), Java Expression Language e Java WebSocket. Tomcat fornisce un server Web HTTP per applicazioni Java con supporto per HTTP/2, OpenSSL per JSSE e hosting virtuale TLS.
In questo tutorial, ti mostrerò come installare e configurare Apache Tomcat 8.5 su un server CentOS 7 e come installare e configurare Java su un server CentOS che è uno dei prerequisiti per Tomcat.
Prerequisiti
- Server con CentOS 7 - 64 bit
- 2 GB o più di RAM (consigliato)
- privilegi di root sul server
Passaggio 1:installazione di Java (JRE e JDK)
In questo passaggio, installeremo Java JRE e JDK dal repository CentOS. Installeremo Java 1.8.11 sul server con il comando yum.
Esegui questo comando per installare Java JRE e JDK dal repository CentOS con yum:
yum -y install java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64
Ci vorrà del tempo, attendi fino al termine dell'installazione.
Quindi dovresti controllare la versione Java con il comando di seguito:
java -version
Dovresti vedere risultati simili a quelli seguenti:
openjdk version "1.8.0_111"
OpenJDK Runtime Environment (build 1.8.0_111-b15)
OpenJDK 64-Bit Server VM (build 25.111-b15, mixed mode)
Passaggio 2:configurazione dell'ambiente domestico Java
Nel primo passaggio, abbiamo installato Java. Ora dobbiamo configurare la variabile di ambiente JAVA_HOME sul server CentOS in modo che le applicazioni Java possano trovare la versione Java corretta e Tomcat richiede che l'ambiente JAVA_HOME sia configurato correttamente, quindi dobbiamo configurarlo.
Prima di configurare l'ambiente JAVA_HOME, dobbiamo sapere dove si trova la directory Java. Controlla la directory Java con il comando seguente:
sudo update-alternatives --config java
Directory Java ="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-1.b15.el7_2.x86_64/jre "
Quindi modifica il file dell'ambiente con vim:
vim /etc/environment
Aggiungi la variabile di ambiente JAVA_HOME aggiungendo la configurazione di seguito:
JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-1.b15.el7_2.x86_64/jre"
Salva il file /etc/environment ed esci da vim.
Quindi, modifica il file .bash_profile e aggiungi anche la variabile JAVA_HOME:
vim ~/.bash_profile
Alla fine del file, incolla la configurazione di seguito:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-1.b15.el7_2.x86_64/jre
export PATH=$JAVA_HOME/bin:$PATH
Salva il file, quindi ricarica il file bash_profile.
source ~/.bash_profile
Assicurati che non ci siano errori, infine controlla la variabile di ambiente JAVA_HOME:
echo $JAVA_HOME
Vedrai la directory del percorso Java.
Passaggio 3:installazione di Apache Tomcat 8.5
In questo passaggio, installeremo Apache Tomcat sotto l'utente tomcat (che dobbiamo creare prima).
Crea un utente e un gruppo di nome Tomcat:
groupadd tomcat
useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
Nota :
-s /bin/false =disabilita l'accesso alla shell
-g tomcat =assegna un nuovo utente al gruppo tomcat
-d /opt/tomcat =definisce la home directory per l'utente
Quindi, vai alla directory /opt e scarica Tomcat con il comando wget:
cd /opt/
wget http://mirror.wanxp.id/apache/tomcat/tomcat-8/v8.5.6/bin/apache-tomcat-8.5.6.tar.gz
Estrai Tomcat e sposta tutti i file e le directory che si trovano nella directory 'apache-tomcat-8.5.6' nella directory 'tomcat'.
tar -xzvf apache-tomcat-8.5.6.tar.gz
mv apache-tomcat-8.5.6/* tomcat/
Ora cambia il proprietario della directory Tomcat nell'utente e nel gruppo Tomcat.
chown -hR tomcat:tomcat tomcat
Fase 4:prova Apache Tomcat
Nel passaggio 3, abbiamo installato e configurato Tomcat. In questo passaggio, vogliamo solo eseguire un breve test per assicurarci che non ci siano errori.
Vai alla directory tomcat/bin ed esegui il comando 'startup.sh' per testare Apache Tomcat:
cd /opt/tomcat/bin/
./startup.sh
Assicurati che il risultato sia "Tomcat avviato".
Tomcat sta utilizzando la porta 8080 ora, controlla la porta aperta sul server con il comando netstat.
netstat -plntu
Oppure visita l'indirizzo IP del server con la porta 8080 - nel mio caso 192.168.1.120:8080 - con un browser web. Vedrai la pagina predefinita di Apache Tomcat.
Quindi, arresta Apache Tomcat e perché lo eseguiremo Tomcat con un file di servizio systemd nella configurazione finale. Assicurati che la directory Tomcat sia di proprietà dell'utente e del gruppo Tomcat.
cd /opt/tomcat/bin/
./shutdown.sh
chown -hR tomcat:tomcat /opt/tomcat/
Passaggio 5 - Configurazione del servizio Apache Tomcat
In questo tutorial, eseguiremo Apache Tomcat come utente Tomcat con un file di servizio systemd per avviare e arrestare facilmente il servizio. Quindi il prossimo passo è creare un file 'tomcat.service'.
Vai alla directory di sistema systemd e crea un nuovo file 'tomcat.service'.
cd /etc/systemd/system/
vim tomcat.service
Incolla la configurazione di seguito:
[Unit]
Description=Apache Tomcat 8 Servlet Container
After=syslog.target network.target
[Service]
User=tomcat
Group=tomcat
Type=forking
Environment=CATALINA_PID=/opt/tomcat/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
Salva il file ed esci da vim.
Ricarica il demone systemd, quindi avvia e aggiungi il servizio Apache Tomcat all'avvio.
systemctl daemon-reload
systemctl start tomcat
systemctl enable tomcat
Ora controlla che Tomcat sia in esecuzione controllando la porta aperta 8080.
netstat -plntu
E controlla lo stato di Tomcat, assicurati che il servizio sia attivo.
systemctl status tomcat
Passaggio 6:configurazione degli utenti Apache Tomcat
In questo passaggio, configureremo gli utenti per Apache Tomcat. Tomcat è installato ed è in esecuzione per impostazione predefinita sulla porta 8080, possiamo accedervi con un browser web, ma non possiamo ancora accedere alla dashboard del gestore del sito. Per abilitare e configurare gli utenti Tomcat, modifica il file 'tomcat-users.xml'.
Vai alla directory di configurazione di Tomcat e modifica il file tomcat-users.xml con vim.
cd /opt/tomcat/conf/
vim tomcat-users.xml
Crea una nuova riga sotto la riga 43 e incolla la configurazione di seguito:
<role rolename="manager-gui"/>
<user username="admin" password="password" roles="manager-gui,admin-gui"/>
Salva il file ed esci da vim.
Quindi, vai alla directory del gestore e modifica il file context.xml.
cd /opt/tomcat/webapps/manager/META-INF/
vim context.xml
Commenta le righe 19 e 20.
<Context antiResourceLocking="false" privileged="true" >
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->
</Context>
Salva il file ed esci da vim.
Vai alla directory host-manager e modifica di nuovo il file context.xml.
cd /opt/tomcat/webapps/host-manager/META-INF/
vim context.xml
Commenta di nuovo le righe 19 e 20.
<Context antiResourceLocking="false" privileged="true" >
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->
</Context>
Salva il file ed esci, quindi riavvia Tomcat.
systemctl restart tomcat
Passaggio 7 - Configura Firewalld
In CentOS 7, abbiamo uno strumento firewall predefinito chiamato firewalld. Sostituisce l'interfaccia iptables e si connette al codice del kernel Netfilter.
In questo passaggio, avvieremo il servizio firewalld e apriremo la porta 8080 in modo da poter accedere al server Apache Tomcat dall'esterno della rete.
Avvia il servizio firewalld e aggiungilo all'avvio all'avvio con il comando systemctl.
systemctl start firewalld
systemctl enable firewalld
Quindi, aggiungi la porta Apache Tomcat 8080 al firewall con il comando firewall-cmd e ricarica il servizio firewalld.
firewall-cmd --zone=public --permanent --add-port=8080/tcp
firewall-cmd --reload
Verifica che tutti i servizi siano disponibili nel firewall e verifica che la porta 8080 di Apache Tomcat sia aperta.
firewall-cmd --list-ports
firewall-cmd --list-services
La porta 8080 di Apache Tomcat è accessibile dall'esterno della rete e anche la porta ssh è aperta per impostazione predefinita.
Fase 8 - Test
Apri il tuo browser web e digita l'IP del tuo server con la porta 8080. Vedrai la pagina predefinita di Apache Tomcat.
http://192.168.1.120:8080
Vai alla dashboard del gestore con l'URL di seguito:
http://192.168.1.120:8080/manager/html
Digita il nome utente dell'amministratore "admin ' con password 'miapassword ', la configurazione che abbiamo eseguito al passaggio 5.
Ora vai alla dashboard del gestore host con l'URL di seguito:
http://192.168.1.120:8080/host-manager/html
Inserisci l'utente amministratore e la password che hai impostato nel passaggio 5, vedrai Tomcat Virtual Host Manager.
Apache Tomcat 8.5 è stato installato su un server CentOS 7.
Link
- http://tomcat.apache.org/