Πώς να εγκαταστήσετε το Apache Tomcat στο Ubuntu


Εάν θέλετε να εκτελείτε ιστοσελίδες που περιλαμβάνουν κωδικοποίηση σελίδων διακομιστή Java ή servlets Java, μπορείτε να χρησιμοποιήσετε το Apache Tomcat. Είναι ένας διακομιστής ιστού ανοιχτού κώδικα και ένα κοντέινερ servlet, που κυκλοφόρησε από το Apache Software Foundation.

Το Tomcat μπορεί να χρησιμοποιηθεί ως αυτόνομο προϊόν, με τον δικό του διακομιστή ιστού ή μπορεί να συνδυαστεί με άλλους διακομιστές ιστού, όπως Apache ή IIS. Η πιο πρόσφατη έκδοση του Tomcat είναι 9.0.14 και βασίζεται στο Tomcat 8 και στο 8.5 και υλοποιεί το Servlet 4.0, JSP 2.2.

Διαβάστε επίσης: Πώς να εγκαταστήσετε το Apache Tomcat 9 στο CentOS/RHEL

Στη νέα έκδοση έχουν γίνει οι ακόλουθες βελτιώσεις:

  • Προστέθηκε υποστήριξη για HTTP/2.
  • Προστέθηκε υποστήριξη για τη χρήση OpenSSL για υποστήριξη TLS με τις υποδοχές JSSE.
  • Προστέθηκε υποστήριξη για εικονικούς κεντρικούς υπολογιστές TLS (SNI).

Σε αυτό το σεμινάριο θα σας δείξουμε πώς να εγκαταστήσετε το Apache Tomcat 9 στο Ubuntu 18.10 και σε παλαιότερη έκδοση του Ubuntu.

Βήμα 1: Εγκατάσταση Java

Για την εκτέλεση εφαρμογών ιστού Java, η Tomcat απαιτεί την εγκατάσταση της Java στον διακομιστή. Για να ικανοποιήσουμε αυτήν την απαίτηση, θα εγκαταστήσουμε το OpenJDK όπως φαίνεται.

sudo apt update
sudo apt install default-jdk

Βήμα 2: Δημιουργία χρήστη Tomcat

Για λόγους ασφαλείας, το Tomcat θα πρέπει να εκτελείται με μη προνομιούχο χρήστη, δηλαδή μη root. Γι' αυτό θα δημιουργήσουμε χρήστη και ομάδα tomcat που θα εκτελούν την υπηρεσία. Ξεκινήστε δημιουργώντας την ομάδα tomcat:

sudo groupadd tomcat

Στη συνέχεια θα δημιουργήσουμε έναν χρήστη tomcat, ο οποίος θα είναι μέλος της ομάδας tomcat. Η αρχική τοποθεσία αυτού του χρήστη θα είναι /opt/tomcat καθώς εδώ πρόκειται να εγκαταστήσουμε το Tomcat. Το κέλυφος να οριστεί σε /bin/false:

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

Τώρα είμαστε έτοιμοι να προχωρήσουμε στο επόμενο βήμα και να κατεβάσουμε το Tomcat.

Βήμα 3: Εγκατάσταση του Apache Tomcat

Για να κατεβάσετε το πιο πρόσφατο διαθέσιμο πακέτο, μεταβείτε στη σελίδα λήψης του Tomcat και αποκτήστε την πιο πρόσφατη έκδοση.

Τη στιγμή της σύνταξης αυτού του σεμιναρίου, η πιο πρόσφατη έκδοση του Tomcat είναι 9.0.14. Για να κάνετε λήψη αυτής της έκδοσης, αλλάξτε τον τρέχοντα κατάλογο σας σε κάτι άλλο. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε το /tmp:

cd /tmp

Και στη συνέχεια χρησιμοποιώντας την εντολή wget για να κατεβάσετε το αρχείο Tomcat:

wget http://apache.cbox.biz/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz
wget https://www.apache.org/dist/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz.sha512

Εάν θέλετε να επαληθεύσετε το άθροισμα sha512 του αρχείου, μπορείτε να εκτελέσετε:


sha512sum apache-tomcat-9.0.14.tar.gz
cat apache-tomcat-9.0.14.tar.gz.sha512

Η προκύπτουσα τιμή (hash) και για τα δύο αρχεία θα πρέπει να είναι η ίδια.

Όπως αναφέρθηκε προηγουμένως, πρόκειται να εγκαταστήσουμε το Tomcat στο /opt/tomcat. Θα πρέπει να δημιουργήσουμε αυτόν τον κατάλογο:

sudo mkdir /opt/tomcat

Και τώρα μπορούμε να εξαγάγουμε το ληφθέν πακέτο σε αυτόν τον νέο κατάλογο:

sudo tar xzvf apache-tomcat-9.0.14.tar.gz -C /opt/tomcat --strip-components=1

Τώρα μεταβείτε στο /opt/tomcat από όπου θα ενημερώσουμε την ιδιοκτησία και τα δικαιώματα του φακέλου:

cd /opt/tomcat

Και ορίστε τον ιδιοκτήτη της ομάδας του /opt/tomcat σε tomcat:

sudo chgrp -R tomcat /opt/tomcat

Στη συνέχεια θα ενημερώσουμε την πρόσβαση ανάγνωσης της ομάδας tomcat μέσω του καταλόγου conf και θα ορίσουμε δικαιώματα εκτέλεσης στον κατάλογο:

sudo chmod -R g+r conf
sudo chmod g+x conf

Στη συνέχεια, θα κάνουμε τον χρήστη tomcat κάτοχο των καταλόγων webapps, work, temp και logs:

sudo chown -R tomcat webapps/ work/ temp/ logs/

Τώρα έχουν οριστεί τα κατάλληλα δικαιώματα και οι ιδιοκτησίες και είμαστε έτοιμοι να δημιουργήσουμε ένα αρχείο εκκίνησης systemd, το οποίο θα μας βοηθήσει να διαχειριστούμε τη διαδικασία Tomcat.

Βήμα 4: Δημιουργία αρχείου υπηρεσίας SystemD για Tomcat

Επειδή θέλουμε να τρέξουμε το Tomcat ως υπηρεσία, θα χρειαστεί να έχουμε ένα αρχείο που θα μας βοηθά να διαχειριζόμαστε εύκολα τη διαδικασία. Για το σκοπό αυτό θα δημιουργήσουμε ένα αρχείο υπηρεσίας systemd. Η Tomcat θα πρέπει να γνωρίζει πού βρίσκεται η Java στο σύστημά σας.

Για να βρείτε αυτή τη θέση χρησιμοποιήστε την ακόλουθη εντολή:

sudo update-java-alternatives -l

Η έξοδος αυτής της εντολής θα σας δείξει τη θέση του JAVA_HOME.

Τώρα, χρησιμοποιώντας αυτές τις πληροφορίες, είμαστε έτοιμοι να δημιουργήσουμε το αρχείο υπηρεσίας Tomcat.

sudo vim  /etc/systemd/system/tomcat.service

Επικολλήστε τον παρακάτω κώδικα στο αρχείο:

[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

Βεβαιωθείτε ότι έχετε ορίσει το JAVA_HOME με αυτό για το σύστημά σας. Όταν είστε έτοιμοι, αποθηκεύστε το αρχείο και κλείστε το. Τώρα, χρησιμοποιώντας την παρακάτω εντολή, φορτώστε ξανά τον δαίμονα systemd ώστε να μπορεί να βρει το νέο μας αρχείο υπηρεσίας:

sudo systemctl daemon-reload

Στη συνέχεια, ξεκινήστε την υπηρεσία Tomcat:

sudo systemctl start tomcat

Μπορείτε να επαληθεύσετε την κατάσταση της υπηρεσίας με:

sudo systemctl status tomcat

Τώρα μπορείτε να δοκιμάσετε το Tomcat στο πρόγραμμα περιήγησής σας χρησιμοποιώντας τη διεύθυνση IP του συστήματός σας ακολουθούμενη από την προεπιλεγμένη θύρα υπηρεσίας 8080.

http://ip-address:8080

Το αποτέλεσμα που πρέπει να δείτε είναι παρόμοιο με αυτό που φαίνεται στην παρακάτω εικόνα:

Σε περίπτωση που δεν βλέπετε την παραπάνω έξοδο, ίσως χρειαστεί να επιτρέψετε τη θύρα 8080 στο τείχος προστασίας σας όπως φαίνεται.

sudo ufw allow 8080

Εάν θέλετε το Tomcat να ξεκινήσει κατά την εκκίνηση του συστήματος, εκτελέστε:

systemctl enable tomcat

Βήμα 5: Διαμόρφωση του Apache Tomcat

Το Tomcat διαθέτει μια εφαρμογή διαχείρισης ιστού που είναι προεγκατεστημένη. Για να το χρησιμοποιήσουμε, θα χρειαστεί να ρυθμίσουμε τον έλεγχο ταυτότητας στο αρχείο μας tomcat-users.xml. Ανοίξτε και επεξεργαστείτε αυτό το αρχείο με τον αγαπημένο σας επεξεργαστή κειμένου:

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

Θα προσθέσουμε έναν χρήστη που θα μπορεί να έχει πρόσβαση στις διεπαφές manager και admin. Για να διαμορφώσετε έναν τέτοιο χρήστη, μεταξύ των ετικετών , προσθέστε την ακόλουθη γραμμή:

<user username="Username" password="Password" roles="manager-gui,admin-gui"/>

Φροντίστε να αλλάξετε:

  • Όνομα χρήστη – με τον χρήστη που θέλετε να ελέγξετε την ταυτότητα.
  • Κωδικός πρόσβασης – με τον κωδικό πρόσβασης που θέλετε να χρησιμοποιήσετε για τον έλεγχο ταυτότητας.

Εφόσον από προεπιλογή η πρόσβαση στον Διαχειριστή κεντρικού υπολογιστή και στον Διαχειριστή είναι περιορισμένη, θα θέλουμε είτε να καταργήσουμε είτε να τροποποιήσουμε αυτούς τους περιορισμούς. Για να κάνετε τέτοιες αλλαγές, μπορείτε να φορτώσετε τα ακόλουθα αρχεία:

Για την εφαρμογή Manager:

sudo vim /opt/tomcat/webapps/manager/META-INF/context.xml

Για την εφαρμογή διαχειριστή κεντρικού υπολογιστή:

sudo vim /opt/tomcat/webapps/host-manager/META-INF/context.xml

Μέσα σε αυτά τα αρχεία μπορείτε είτε να σχολιάσετε τον περιορισμό IP είτε να επιτρέψετε τη δημόσια διεύθυνση IP σας εκεί. Για τους σκοπούς αυτού του σεμιναρίου, σχολίασα τη γραμμή:

Για να πραγματοποιήσετε τις αλλαγές μας ζωντανά, φορτώστε ξανά την υπηρεσία tomcat με:

sudo systemctl restart tomcat 


Μπορείτε πλέον να δοκιμάσετε την εφαρμογή
manager μεταβαίνοντας στην http://ipaddress:8080/manager/. Όταν σας ζητηθεί όνομα χρήστη και κωδικός πρόσβασης, χρησιμοποιήστε αυτά που έχετε διαμορφώσει νωρίτερα. Η διεπαφή που πρέπει να δείτε μετά από αυτό μοιάζει με αυτό:

Για πρόσβαση στον Διαχειριστή κεντρικού υπολογιστή, μπορείτε να χρησιμοποιήσετε το http://ip-address:8080/host-manager/.

Χρησιμοποιώντας τον εικονικό διαχειριστή κεντρικού υπολογιστή, μπορείτε να δημιουργήσετε εικονικούς κεντρικούς υπολογιστές για τις εφαρμογές Tomcat.

Βήμα 6: Δοκιμή του Apache Tomcat με τη δημιουργία ενός αρχείου δοκιμής

Μπορείτε να ελέγξετε αν όλα λειτουργούν ομαλά, δημιουργώντας ένα δοκιμαστικό αρχείο μέσα στον κατάλογο /opt/tomcat/webapps/ROOT/.

Ας δημιουργήσουμε ένα τέτοιο αρχείο:

sudo vim /opt/tomcat/webapps/ROOT/tecmint.jsp

Μέσα σε αυτό το αρχείο επικολλήστε τον ακόλουθο κώδικα:

<html>
<head>
<title>Tecmint post:TomcatServer</title>
</head>
<body>

<START OF JAVA CODES>
<%
    out.println("Hello World! I am running my first JSP Application");
    out.println("<BR>Tecmint is an Awesome online Linux Resource.");
%>
<END OF JAVA CODES>

</body>
</html>

Αποθηκεύστε το αρχείο και ορίστε την ιδιοκτησία όπως φαίνεται.

sudo chown tomcat: /opt/tomcat/apache-tomcat-8.5.14/webapps/ROOT/tecmint.jsp

Τώρα φορτώστε αυτό το αρχείο στο πρόγραμμα περιήγησής σας χρησιμοποιώντας http://ip-address:8080/tecmint.jsp.

Αυτό είναι! Ολοκληρώσατε τη ρύθμιση του διακομιστή Apache Tomcat και εκτελέσατε τον πρώτο σας κώδικα Java. Ελπίζουμε ότι η διαδικασία ήταν εύκολη και απλή για εσάς. Εάν αντιμετωπίζετε προβλήματα, μοιραστείτε τα προβλήματά σας μέσω της παρακάτω φόρμας σχολίων.