Apache Tomcat

Το Apache Tomcat είναι ένα δοχείο ιστού που σας επιτρέπει να εξυπηρετείται εφαρμογές ιστού Java Servlets και JSP (Java Server Pages)

Τα πακέτα Tomcat 6.0 για Ubuntu υποστηρίζουν δύο διαφορετικούς τρόπους για να εκτελέσετε το Tomcat. Μπορείτε να τα εγκαταστήσετε ως κλασικό μοναδικό στιγμιότυπο για όλο το σύστημα, το οποίο θα ξεκινάει κατά την εκκίνηση και θα τρέχει σας χρήστης χωρίς διακαιώματα tomcat6. Αλλά μπορείτε επίσης να αναπτύξετε ιδιωτικά στιγμιότυπα που θα τρέχουν με τα δικά σας διακαιώματα χρήστη, και που θα πρέπει να ξεκινάτε και να τερματίζετε εσείς. Αυτός ο δεύτερος τρόπος είναι ιδιαίτερα χρήσιμος για την ανάπτυξη περιεχομένου χρήστη όπου πολλαπλοί χρήστες πρέπει να ελέγξουν τα δικά τους ιδιωτικά στιγμιότυπα Tomcat.

Εγκατάσταση για όλο το σύστημα

Για να εγκαταστήσετε το διακομιστή Tomcat, πρέπει να πληκτρολογήσετε την ακόλουθη εντολή στπ τερματικό εντολών:

sudo apt-get install tomcat6

Αυτό θα εγκαταστήσει το διακομιστή Tomcat με μόνο μια εφαρμογή ιστού ROOT που προβάλει μια απλή σελίδα "Λειτουργεί" από προεπιλογή.

Ρυθμίσεις

Τα αρχεία διαμόρφωσης του Tomcat μπορούν να βρεθούν στο /etc/tomcat6. Μόνο λίγες κοινές αλλαγές διαμόρφωσης θα περιγραφούν εδώ, παρακαλώ δείτε το Tomcat 6.0 documentation για περισσότερα.

Αλλαγή προεπιλεγμένων θυρών

Από προεπιλογή το Tomcat 6.0 τρέχει έναν συζευκτήρα HTTP στη θύρα 8080 και έναν συζευκτήρα AJP στη θύρα 8009. Ίσως θέλετε να αλλάξετε τις προεπιλεγμένες θύρες για να αποφύγετε σύγκρουση με έναν άλλο διακομιστή του συστήματος. Αυτό γίνεται αλλάζοντας τις ακόλουθες γραμμές στο /etc/tomcat6/server.xml:

<Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />
...
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

Αλλαγή του JVM που χρησιμοποιείται

Από προεπιλογή το Tomcat θα τρέξει κατά προτίμηση με το OpenJDK-6, μετά θα δοκιμάσει το Sun's JVM, μετά θα δοκιμάσει κάποια άλλα JVMs. Εάν έχετε πολλαπλά JVMs εγκατεστημένα, μπορείτε να ορίσετε ποια θέλετε να χρησιμοποιηθούν ορίζοντας το JAVA_HOME στο /etc/default/tomcat6:

JAVA_HOME=/usr/lib/jvm/java-6-sun

Δήλωση χρηστών και ρόλων

Ονόματα χρηστών, κωδικοί και ρόλοι (Ομάδες) μπορούν να προσδιοριστούν κεντρικά σε ένα δοχείο Servlet. Στο Tomcat 6.0 αυτό γίνεται στο αρχείο /etc/tomcat6/tomcat-users.xml:

<role rolename="admin"/>
<user username="tomcat" password="s3cret" roles="admin"/>

Χρήση των πρότυπων εφαρμογών ιστού Tomcat

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

Τεκμηρίωση Tomcat

Το πακέτο tomcat6-docs περιέχει τις βοηθητικές οδηγίες του Tomcat 6.0, δομημένες σαν εφαρμογή ιστού στην οποία μπορείτε να έχετε πρόσβαση από προεπιλογή στο http://yourserver:8080/docs. Μπορείτε να το εγκαταστήσετε πληκτρολογώντας την ακόλουθη εντολή στο τερματικό εντολών:

sudo apt-get install tomcat6-docs

Εφαρμογές ιστού διαχείρισης Tomcat

Το πακέτο tomcat6-admin περιέχει δύο εφαρμογές ιστού οι οποίες μπορούν να χρησιμοποιηθούν για να διαχειριστείτε το διακομιστή Tomcat χρησιμοποιώντας μια διεπαφή διαδικτύου. Μπορείτε να τις εγκαταστήσετε πληκτρολογώντας την ακόλουθη εντολή στο τερματικό εντολών:

sudo apt-get install tomcat6-admin

Το πρώτο είναι η εφαρμογή ιστού manager, την οποία μπορείτε να βρείτε από προεπιλογή στο http://yourserver:8080/manager/html. Πρωτίστως χρησιμοποιείται για τη λήψη κατάστασης διακομιστή και για την επανεκκίνηση εφαρμογών ιστού.

[Σημείωση]

Η πρόσβαση στην εφαρμογή manager προστατεύεται από προεπιλογή: πρέπει να ορίσετε έναν χρήστη με ρόλο "manager" στο /etc/tomcat6/tomcat-users.xml πριν μπορέσετε να αποκτήσετε πρόσβαση.

Η δεύτερη είναι η εφαρμογή ιστού host-manager, την οποία μπορείτε να βρείτε από προεπιλογή στο http://yourserver:8080/host-manager/html. Μπορεί να χρησιμοποιηθεί για να δημιουργήσετε εικονικούς κεντρικούς υπολογιστές δυναμικά.

[Σημείωση]

Η πρόσβαση στην εφαρμογή host-manager προστατεύεται επίσης από προεπιλογή: πρέπει να ορίσετε έναν χρήστη με ρόλο "admin" στο /etc/tomcat6/tomcat-users.xml πριν μπορέσετε να αποκτήσετε πρόσβαση.

Για λόγους ασφαλείας, ο χρήστης tomcat6 δεν μπορεί να επεξεργαστεί τον κατάλογο /etc/tomcat6 από προεπιλογή. Μερικά χαρακτηριστικά σε αυτές τις εφαρμογές ιστού admin (ανάπτυξη εφαρμογής, δημιουργία εικονικού υπολογιστή) χρειάζονται άδεια επεξεργασίας για να έχουν πρόσβαση στον συγκεκριμένο κατάλογο. Εάν θέλετε να χρησιμοποιήσετε αυτά τα χαρακτηριστικά εκτελέστε το ακόλουθο, για να δώσετε στους χρήστες της ομάδας tomcat6 τα κατάλληλα δικαιώματα:

sudo chgrp -R tomcat6 /etc/tomcat6
sudo chmod -R g+w /etc/tomcat6 

Παραδείγματα εφαρμογών ιστού Tomcat

Το πακέτο tomcat6-examples περιλαμβάνει δύο εφαρμογές ιστού που μπορούν να χρησιμοποιηθούν για να ελεγχθούν ή να επιδείξουν Servlets και JSP χαρακτηριστικά, και που μπορείτε να τα βρείτε στο http://yourserver:8080/examples. Μπορείτε να τα εγκαταστήσετε πληκτρολογώντας την ακόλουθη εντολή στο τερματικό εντολών:

sudo apt-get install tomcat6-examples

Χρήση ιδιωτικών στιγμιοτύπων

Το Tomcat χρησιμοποιείται πολύ στην ανάπτυξη και τον έλεγχο σεναρίων όπου η χρησιμοποίηση ενός στιγμιότυπου για όλο το σύστημα δεν πληροί τις απαιτήσεις πολλών χρηστών σε ένα μόνο σύστημα. Τα πακέτα του Tomcat 6.0 στο Ubuntu έχουν εργαλεία για να σας βοηθήσουν να αναπτύξετε τα δικά σας στιγμιότυπα προσανατολισμένα στο χρήστη, επιτρέποντας σε κάθε χρήστη του συστήματος (χωρίς δικαιώματα βάσης) να εκτελούν ξεχωριστά ιδιωτικά στιγμιότυπα ενώ χρησιμοποιούν ακόμα τις βιβλιοθήκες συστήματος.

[Σημείωση]

Είναι δυνατό να εκτελείτε το στιγμιότυπο για όλο το σύστημα παράλληλα με ιδιωτικά στιγμιότυπα, εφόσον δε χρησιμοποιούν τις ίδιες TCP πύλες.

Εγκατάσταση υποστήριξης ιδιωτικών στιγμιότυπων

Μπορείτε να εγκαταστήσετε οτιδήποτε απαραίτητο για να εκτελέσετε ιδιωτικά σενάρια πληκτρολογώντας την ακόλουθη εντολή στο τερματικό εντολών:

sudo apt-get install tomcat6-user

Δημιουργία ιδιωτικού στιγμιότυπου

Μπορείτε να δημιουργήσετε έναν κατάλογο ιδιωτικών στιγμιότυπων πληκτρολογώντας την ακόλουθη εντολή στο τερματικό εντολών:

tomcat6-instance-create my-instance

Αυτό θα δημιουργήσει έναν νέο κατάλογο my-instance με όλους τους απαραίτητους υποκαταλόγους και σενάρια. Μπορείτε για παράδειγμα να εγκαταστήσετε τις κοινές βιβλιοθήκες σας στον υποκατάλογο lib/ και να αναπτύξετε τις εφαρμογές ιστού στον υποκατάλογο webapps/. Καμία εφαρμογή ιστού δεν αναπτύσσεται από προεπιλογή.

Ρύθμιση των ιδιωτικών στιγμιότυπών σας

Θα βρείτε τα κλασικά αρχεία διαμόρφωσης του Tomcat για τα ιδιωτικό στιγμιότυπό σας στον υποκατάλογο conf/. Θα πρέπει για παράδειγμα σίγουρα να επεξεργαστείτε το αρχείο conf/server.xml για να αλλάξετε τις προεπιλεγμένες θύρες που χρησιμοποιούνται από το ιδιωτικό στιγμιότυπο Tomcat για να αποφύγετε σύγκρουση με άλλα στιγμιότυπα που μπορεί να εκτελούνται.

Εκκίνηση/Τερματισμός του ιδιωτικού στιγμιότυπού σας

Μπορείτε να εκκινήσετε το ιδιωτικό σας στιγμιότυπο πληκτρολογώντας την ακόλουθη εντολή στο τερματικό εντολών (υποθέτοντας ότι το στιγμιότυπό σας βρίσκεται στον κατάλογο my-instance):

my-instance/bin/startup.sh
[Σημείωση]

Συστήνεται να κοιτάξετε τον υποκατάλογο logs/ για σφάλματα. Εάν έχετε σφάλμα java.net.BindException: Address already in use<null>:8080, σημαίνει ότι η θύρα που χρησιμοποιείται είναι ήδη πιασμένη και ότι πρέπει να την αλλάξετε.

Μπορείτε να τερματίσετε το ιδιωτικό σας στιγμιότυπο πληκτρολογώντας την ακόλουθη εντολή στο τερματικό εντολών (υποθέτοντας ότι το στιγμιότυπό σας βρίσκεται στον κατάλογο my-instance):

my-instance

Αναφορές

  • Δείτε την ιστοσελίδα Apache Tomcat για περισσότερες πληροφορίες.

  • το Tomcat: The Definitive Guide είναι ένας καλός πόρος για τη δημιουργία εφαρμογών ιστού με το Tomcat.

  • Για επιπλέον βιβλία δείτε λίστα στη σελίδα Tomcat Books.

  • Also, see theUbuntu Wiki Apache Tomcat page.