Introduzione ad Apache Tomcat

1. Panoramica

In poche parole, Apache Tomcat è un server Web e un contenitore servlet utilizzato per distribuire e servire applicazioni Web Java.

In questo rapido articolo, mostreremo come installare Tomcat, come configurare un utente per Tomcat Manager e creare un certificato SSL per consentire a Tomcat di servire il contenuto HTTPS.

2. Installa Tomcat su Windows

2.1. Scarica e prepara

Innanzitutto, dobbiamo scaricare Tomcat.

Scarica il server come file zip per Windows:

Successivamente, decomprimeremo semplicemente Tomcat nella sua directory.

2.3. Installare

Su Windows, è necessaria una rapida installazione aggiuntiva. Apri il terminale di Windows e dalla directory bin di installazione di Tomcat :

C:\Java\Apache Tomcat 8.5.9\bin>

Installa il servizio con il seguente comando:

C:\Java\Apache Tomcat 8.5.9\bin>service install 

L'output dovrebbe essere simile a questo:

Installing the service 'Tomcat8' ... Using CATALINA_HOME: "C:\Java\Apache Tomcat 8.5.9" Using CATALINA_BASE: "C:\Java\Apache Tomcat 8.5.9" Using JAVA_HOME: "C:\Java\jdk1.8.0_40" Using JRE_HOME: "C:\Java\jre1.8.0_40" Using JVM: "C:\Java\jre1.8.0_40\bin\client\jvm.dll" The service 'Tomcat8' has been installed.

2.4. Avvia il servizio Tomcat

Avvia il servizio con il seguente comando:

C:\Java\Apache Tomcat 8.5.9\bin>sc start Tomcat8 

Dovresti ottenere il seguente output:

SERVICE_NAME: Tomcat8 TYPE : 10 WIN32_OWN_PROCESS STATUS : 2 START_PENDING (NOT_STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN) WIN32_OUTPUT_CODE : 0 (0x0) SERVICE_OUTPUT_CODE: 0 (0x0) CHECK-POINT : 0x0 START-INDICATOR : 0x7d0 PID : 5552 MARKS :

Apri il browser nell'URL:

// localhost: 8080

E dovresti vedere la schermata di benvenuto di Tomcat.

3. Installazione di Tomcat su Linux (Debian)

Installeremo Tomcat su Ubuntu Linux 16.06, ma questa procedura dovrebbe funzionare bene su qualsiasi distribuzione Linux basata su Debian.

3.1. Scarica e decomprimi

Allo stesso modo, scaricheremo e decomprimeremo Tomcat:

sudo mkdir /opt/tomcat sudo tar xvf apache-tomcat-8.5.9.tar.gz -C /opt/tomcat --strip-components=1

3.2. Assicurati che Java sia installato

Assicuriamoci anche di avere Java installato e disponibile sul sistema:

java -version

Dovresti ottenere il seguente output:

3.3. Crea un utente e un gruppo

Eseguiremo il server con un gruppo e un utente separati; creiamo prima un gruppo per esso:

sudo groupadd tomcat

E creiamo un utente Tomcat per evitare di utilizzare l'utente root:

sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

Aggiorniamo anche i permessi del server - per usarli con il nuovo utente e gruppo:

cd /opt/tomcat sudo chgrp -R tomcat conf sudo chmod g+rwx conf sudo chmod g+r conf/* sudo chown -R tomcat work/ temp/ logs/

Infine, assicuriamoci che Tomcat si avvii automaticamente con un semplice script Upstart:

vi /etc/init/tomcat.conf

Lo script tomcat.conf viene utilizzato dal sistema operativo per avviare il servizio Tomcat al momento dell'avvio.

Questo script viene utilizzato per avviare e arrestare il servizio quando necessario:

description "Tomcat Server" start on runlevel [2345] stop on runlevel [!2345] setuid tomcat setgid tomcat env JAVA_HOME=/opt/jdk1.8.0_77/jre/ env CATALINA_HOME=/opt/tomcat exec $CATALINA_HOME/bin/catalina.sh run

3.4. Inizio

Vai alla directory opt / tomcat / bin ed esegui il seguente comando:

./catalina.sh start

Dovresti vedere il seguente output:

Using CATALINA_BASE: /opt/tomcat Using CATALINA_HOME: /opt/tomcat Using CATALINA_TMPDIR: /opt/tomcat/temp Using JRE_HOME: /usr Using CLASSPATH: /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar Tomcat started. [email protected]:/opt/tomcat/bin#

Ora è il momento di testare il nostro server.

Apri il tuo browser nell'URL:

// localhost: 8080

E dovresti vedere la pagina seguente:

4. Tomcat Manager

Per accedere al gestore Tomcat, dobbiamo creare un utente con i privilegi per farlo.

Su Windows:

C:\Java\Apache Tomcat 8.5.9\conf\tomcat-users.xml

Su Linux:

/opt/tomcat/conf/tomcat-users.xml

In questo file, definiremo gli utenti per accedere al gestore tomcat.

Nel tag, stiamo definendo un utente "admin" con la password "admin" con i ruoli manager-gui e admin-gui.

Now restart the server and open again the URL:

//localhost:8080

This time click on the “Manager App” button and the server will ask for credentials. After you enter the provided credentials, you should see the following screen:

5. SSL Certificate

Run the following command to generate the certificate:

On Windows:

keytool -genkey -alias tomcat -keyalg RSA -keystore C:\Java\apache-tomcat-8.5.9\keystore\tomcat

On Linux:

keytool -genkey -alias tomcat -keyalg RSA -keystore /opt/tomcat/keystore/tomcat

The tool is going to ask some questions to feed the certificate. The certificate is going to be in the folder and the name of the certificate is “tomcat”. You can check the certificate with:

On Windows:

keytool -list -keystore C:\Java\apache-tomcat-8.5.9\keystore\tomcat

On Linux:

keytool -list -keystore /opt/tomcat/keystore/tomcat

5.1. Use the Certificate

Edit the file:

On Windows:

C:\Java\Apache Tomcat 8.5.9\conf\server.xml

On Linux:

/opt/tomcat/conf/server.xml

and add an SSL connector.

Restart Tomcat and you are done. Now you can run your Applications under HTTPS in Tomcat.

6. Conclusion

At this end of this quick tutorial, we now have a working Tomcat in Linux and Windows to use during development.

Per utilizzare Tomcat in produzione, ovviamente, dobbiamo configurare e ottimizzare il server di conseguenza.