<!-- Original Revision: 1.6 -->

<!-- Copyright (c) 2002, Hiten Pandya, Victoria Chan, All rights reserved.

     Redistribution and use in source (SGML DocBook) and 'compiled' forms
     (SGML, HTML, PDF, PostScript, RTF and so forth) with or without
     modification, are permitted provided that the following conditions
     are met:

      1. Redistributions of source code (SGML DocBook) must retain the above
	 copyright notice, this list of conditions and the following
	 disclaimer as the first lines of this file unmodified.

      2. Redistributions in compiled form (transformed to other DTDs,
	 converted to PDF, PostScript, RTF and other formats) must reproduce
	 the above copyright notice, this list of conditions and the
	 following disclaimer in the documentation and/or other materials
	 provided with the distribution.

     THIS DOCUMENTATION IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS "AS IS"
     AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
     THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS AND CONTRIBUTORS BE
     LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED
     OF THE POSSIBILITY OF SUCH DAMAGE.
-->

<!--
     Γράφτηκε από: Victoria Chan <vkchan@kendryl.net>.
     Το αρχικό κείμενο μπορείτε να το βρείτε στη σελίδα:
     http://www.kendryl.net/jdk13-1.html.
-->

<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">

<!--
  URL Entities.  These are in place, to allow wrapping long URLs to the 80th
  column.
-->
<!ENTITY wwwurl "http://www.FreeBSD.org">
<!ENTITY ftpurl "ftp://ftp.FreeBSD.org">
<!ENTITY sunurl "http://www.sun.com">
<!ENTITY tomcaturl "http://jakarta.apache.org/tomcat">

<!-- The Download URL is too long! :-) -->
<!ENTITY tomcat403 "http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.0.3/bin/">
%man;
]>

<article>

  <articleinfo>
    <title>Java και Jakarta Tomcat στο FreeBSD</title>

    <authorgroup>
      <author>
	<firstname>Victoria</firstname>
	<surname>Chan</surname>
	<affiliation>
	  <address><email>vkchan@kendryl.net</email></address>
	</affiliation>
      </author>

      <author>
	<firstname>Hiten</firstname>
	<surname>Pandya</surname>
	<affiliation>
	  <address><email>hiten@uk.FreeBSD.org</email></address>
	</affiliation>
      </author>
    </authorgroup>

    <copyright>
      <year>2002</year>
      <holder role="mailto:vkchan@kendryl.net">Victoria Chan</holder>
      <holder role="mailto:hiten@uk.FreeBSD.org">Hiten Pandya</holder>
    </copyright>

    <pubdate>$FreeBSD$</pubdate>

    <abstract>
      <para>Το έγγραφο αυτό φιλοδοξεί να βοηθήσει οποιονδήποτε θέλει να
	εγκαταστήσει και να χρησιμοποιήσει την Java στο FreeBSD με τη
	μικρότερη δυνατή προσπάθεια. Σχεδιάστε να ασχοληθείτε μια ολόκληρη
	μέρα με το αυτό το εγχείρημα, καθώς θα χρειαστεί αρκετός χρόνος να
	μαζέψετε όλα τα κομμάτια και να τα μεταγλωττίσετε πρώτα χωριστά και
	στο τέλος όλα μαζί.  Θα σας δείξουμε επίσης πως να εγκαταστήσετε τον
	διάσημο Jakarta Tomcat Servlet και JSP container στο λειτουργικό
	σύστημα FreeBSD.</para>
    </abstract>
  </articleinfo>

  <sect1>
    <title>Εισαγωγή</title>

    <para>Η γλώσσα προγραμματισμού Java γεννήθηκε στις 23 Μαϊου 1995.  Κάποιος
      θα πίστευε πως μέσα σε όλο αυτό το χρονικό διάστημα, οι εφαρμογές Java
      θα έπρεπε να είναι πολύ έυκολο να εγκατασταθούν και να εκτελεστούν από
      ένα μοναδικό package ή port του FreeBSD, κάνοντας έτσι την Java
      προσβάσιμη στο <quote>ευρύ κοινό</quote>. Δυστυχώς, τα πράγματα δεν
      είναι έτσι, καθώς η διανομή της Java είναι στενά ελεγχόμενη από την Sun
      Microsystems, η οποία απαγορεύει την αναδιανομή.  Όλα τα Java Applets
      πρέπει να μεταγλωττίζονται, μαζί με το ίδιο το Java Development Kit που
      προέρχεται από την Sun Microsystems.  Όλα αυτά τα συστατικά πρέπει να
      αναμειχθούν με τη σωστή σειρά, να συγκροτηθούν και να μεταγλωττιστούν
      από τον τελικό χρήστη.  Με μια τέτοια φιλοσοφία διανομής, η γνώμη μου
      είναι πως η Java θα παραμένει για πάντα στη χρήση των developers ή των
      hackers και μόνο.  Οπωσδήποτε, αυτό ανακάλυψα όταν χρειάστηκε να παρέχω
      στον web server που έχω κάποιες <filename>.jsp</filename> σελίδες, για
      λογαριασμό κάποιου πελάτη μου και έπρεπε να κάνω τον
      <filename role="package">www/jakarta-tomcat</filename>
      να συνεργαστεί με τον
      <filename role="package">www/apache13</filename>
      στο FreeBSD σύστημά μου.</para>

    <para>Το σημείο εγκατάστασης του Tomcat είναι πολύ ξεκάθαρο, αλλά η
      δυσκολία που συνάντησα ήταν στο να εγκαταστήσω ένα λειτουργικό Java
      Development Kit για το FreeBSD 4.X, καθώς η Sun Microsystems παρέχει
      Binaries μόνο για τα λειτουργικά συστήματα: Linux, Solaris, καθώς και
      Windows&nbsp;NT.  Αυτό σημαίνει πως έπρεπε να μεταγλωττίσω το δικό μου
      JDK για το FreeBSD.  Ξεκίνησα ψάχνοντας για σχετική τεκμηρίωση στο
      Internet.  Ανακάλυψα σχετικά γρήγορα ότι θα χρειαστώ επιπλεόν πηγαίο
      κώδικα, καθώς και patches για τον κύριο πηγαίο κώδικα.  Αφού είχα
      συγκεντρώσει ότι χρειαζόμουν όμως, δεν είχα παρά ελάχιστη τεκμηρίωση για
      το τι θα έπρεπε να γίνει.</para>

    <para>Στο άρθρο αυτό, θα ανακαλύψετε πως να εγκαταστήσετε το Java
      Development Kit για το FreeBSD, καθώς και πως να εγκαταστήσετε μια
      λειτουργική έκδοση του Tomcat.  Σας παρέχεται και μια λίστα με
      <xref linkend="ref"> για περαιτέρω ανάγνωση.</para>
  </sect1>

  <sect1>
    <title>Το Περιβάλλον Java</title>

    <para>Βεβαιωθείτε ότι έχετε μια ενημερωμένη συλλογή από ports καθώς το
      <command>make</command> θα αποτύχει αν προσπαθήσει να μεταγλωττίσει
      παλαιότερο πηγαίο κώδικα. Μπορείτε να ανανεώσετε ολόκληρη την συλλογή
      των ports χρησιμοποιώντας το <application>CVSup</application>.
      Διαβάστε το <ulink url="../../books/handbook/cvsup.html">σχετικό
	κεφάλαιο του Εγχειριδίου</ulink> για περισσότερες πληροφορίες.
      Μπορείτε επίσης να κατεβάσετε μόνοι σας τα ports που χρειάζεστε
      από τη διεύθυνση
      <ulink url="&ftpurl;/pub/FreeBSD/branches/-current/ports/"></ulink>
      πριν ξεκινήσετε την διαδικασία εγκατάστασης.</para>

    <note>
      <para>Θα χρειαστείτε υποστήριξη στον πυρήνα σας για <literal>Εξομοίωση
	  Linux</literal> (Linux-ABI).  Απλά προσθέστε την ακόλουθη επιλογή
      στο αρχείο ρύθμισης του πυρήνα σας και μεταγλωττίστε τον ξανά.  Οδηγίες
      για τη μεταγλώττιση του πυρήνα μπορείτε να βρείτε στο
      <ulink URL="../../books/handbook/">Εγχειρίδιο του FreeBSD</ulink>:</para>

      <programlisting>options COMPAT_LINUX</programlisting>

      <para>Η παραπάνω επιλογή θα προσθέσει την υποστήριξη Linux-ABI στον
	πυρήνα σας.</para>
    </note>

    <para>Η παρακάτω λίστα υποχρεωτικών εξαρτήσεων πρέπει να ικανοποιηθεί από
      εσάς χωρίς αυτόματο τρόπο και με τη δοσμένη σειρά. Οι εξαρτήσεις που
      ικανοποιούνται με αυτόματο τρόπο δεν περιέχονται εδώ.</para>

    <itemizedlist>
      <listitem>
	<para><filename role="package">java/jdk13</filename></para>
      </listitem>

      <listitem>
	<para><filename role="package">java/linux-jdk13</filename></para>
      </listitem>

      <listitem>
	<para><filename role="package">archivers/gtar</filename></para>
      </listitem>

      <listitem>
	<para><filename role="package">archivers/bzip2</filename></para>
      </listitem>

      <listitem>
	<para><filename role="package">archivers/unzip</filename></para>
      </listitem>

      <listitem>
	<para><filename role="package">archivers/zip</filename></para>
      </listitem>
    </itemizedlist>

    <para>Θα χρειαστεί να αποκτήσετε τα ακόλουθα:</para>

    <procedure>
      <step>
	<para>Κατεβάστε το αρχείο
	  <filename>bsd-jdk131-patches-5.tar.gz</filename>
	  από τη διεύθυνση
	  <ulink url="http://www.eyesbeyond.com/freebsddom/java/jdk13.html"></ulink>
	  και τοποθετήστε το κάτω από το φάκελο
	  <filename>/usr/ports/distfiles</filename>.</para>
      </step>

      <step>
	<para>Στη συνέχεια ανοίξτε τον web browser και επισκεφθείτε τη
	  διεύθυνση
	  <ulink url="http://java.sun.com/j2se/1.3/download-linux.html"></ulink>
	  όπου θα βρείτε τα SDK downloads. Πατήστε στο κουμπί
	  <quote>continue</quote> κάτω από το <quote>GNUZIP Tar Shell
	  Script</quote>.  Διαβάστε κάθε λέξη από την άδεια πριν αποφασίσετε να
	  πατήσετε το κουμπί <quote>Accept</quote>!  Θα μεταφερθείτε σε μια
	  σελίδα με τίτλο <quote>Download Java(TM) 2 SDK, Standard Edition
	  1.3.1_02</quote>.  Μεταβείτε στο τέλος της σελίδας και πιέστε το
	  κουμπί <quote>HTTP download</quote>.  Όταν εμφανιστεί το παράθυρο
	  <quote>Αποθήκευση ως</quote>, σιγουρευτείτε ότι θα πιέσετε το κουμπί
	  <quote>Άνοιγμα</quote> αντί για το κουμπί <quote>Αποθήκευση</quote>.
	  Θα εμφανιστεί ένα ακόμα παράθυρο
	  <quote>Αποθήκευση ως</quote>&mdash;αυτή τη φορά επιλέξτε
	  <quote>Αποθήκευση</quote> και θα είστε σε θέση να αποθηκεύσετε το
	  αρχείο <filename>j2sdk-1_3_1_02-linux-i386.bin</filename>.
	  Αποθηκεύστε κι αυτό το αρχείο στο φάκελο
	  <filename>/usr/ports/distfiles</filename>.</para>
      </step>

      <step>
	<para>Πηγαίνετε στη διεύθυνση
	  <ulink url="http://www.sun.com/software/java2/download.html"></ulink>.
	  Στον πίνακα, κάτω από το <literal>Produce Description</literal>, με
	  τίτλο <literal>Java 2 SDK 1.3.1</literal>, πατήστε στο κουμπί
	  <literal>download</literal> που βρίσκεται στο δεξί κελί. Θα
	  μεταφερθείτε σε μια σελίδα με τίτλο <quote>Sign On</quote>, όπου θα
	  πρέπει να συνδεθείτε αν έχετε ήδη ένα λογαριασμό ή να εγγραφείτε για
	  να αποκτήσετε πρόσβαση.  Όταν συνδεθείτε, θα μεταφερθείτε σε μια
	  <quote>Legal</quote> σελίδα, στην οποία θα πρέπει να αποδεχθείτε
	  τους όρους άδειας: Μεταβείτε στο κάτω μέρος της σελίδας (διαβάζοντας
	  ταυτόχρονα την άδεια) και πατήστε στο κουμπί
	  <quote>Continue</quote>.  Η επόμενη σελίδα είναι η
	  <quote>Receipt</quote>.  Εδώ είναι το σημείο που θα αποθηκεύσετε τον
	  αριθμό παραγγελίας σας.  Θα σας δοθεί η δυνατότητα να επιλέξετε μια
	  περιοχή που βρίσκεται σχετικά κοντά σε εσάς. Πατήστε στο κουμπί
	  <quote>Java 2 SDK, Standard Edition, version 1.3.1</quote>.
	  Αποθηκεύστε το αρχείο <filename>j2sdk-1_3_1-src.tar.gz</filename>
	  κάτω από το φάκελο
	  <filename>/usr/ports/distfiles/</filename>.</para>
      </step>
    </procedure>

    <note>
      <para>Βεβαιωθείτε ότι θα διαβάσετε την άδεια χρήσης που έχει εκδοθεί από
	την Sun Microsystems Corp.  Υπάρχουν αρκετοί περιορισμοί στην χρήση
	της Java στους οποίους καλείστε να συμμορφωθείτε. Το FreeBSD project
	δεν αναλαμβάνει καμμία ευθύνη για τις πράξεις σας.</para>

      <para>Μη σβήσετε κανένα από τα αρχεία που έχετε κατεβάσει ως τώρα,
	καθώς χρειάζονται για τη μεταγλώττιση μερικών native ports του
	FreeBSD, κάτι που θα δούμε στη συνέχεια του κειμένου.</para>
    </note>

    <para>Τώρα, αφού έχετε συγκεντρώσει όλο τον πηγαίο κώδικα καθώς και τα
      ports μπορείτε να ξεκινήσετε τη μεταγλώττιση του
      <filename role="package">java/linux-jdk13</filename>:</para>

    <screen>&prompt.root; cd /usr/ports/archivers/gtar; make all install clean
&prompt.root; cd /usr/ports/archivers/unzip; make all install clean
&prompt.root; cd /usr/ports/archivers/zip; make all install clean</screen>

    <para>Και τέλος:</para>

    <screen>&prompt.root; cd /usr/ports/java/linux-jdk13
&prompt.root; make all install clean</screen>

    <para>Όταν τελειώσει η διαδικασία μεταγλώττισης του
      <filename role="package">java/linux-jdk13</filename>,
      θα πρέπει να ελέγξετε τη σωστή λειτουργία του. Για να το κάνετε αυτό
      δοκιμάστε τα ακόλουθα:</para>

    <screen>&prompt.root; cd /usr/local/linux-jdk1.3.1/bin
&prompt.root; ./java -version</screen>

    <para>Η έξοδος της παραπάνω εντολής θα πρέπει να είναι η ακόλουθη:</para>

    <programlisting>java version "1.3.1_02"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_02-b02)
Classic VM (build 1.3.1_02-b02, green threads, nojit)</programlisting>

    <para>Αν δεν πήρατε την σωστή απόκριση, θα πρέπει να κάνετε τα
      εξής:</para>

    <screen>&prompt.root; cd /usr/ports/java/linux-jdk13
&prompt.root; make deinstall</screen>

    <para>Και ύστερα σιγουρευτείτε ότι ο φάκελος
      <filename>/usr/local</filename> δεν περιέχει τον υποφάκελο
      <filename>linux-jdk1.3.1</filename>. Αν βρείτε τον
      υποφάκελο αυτό, σβήστε τον. Επαναλάβετε τη διαδικασία μεταγλώττισης και
      εγκατάστασης για το πακέτο
      <filename role="package">java/linux-jdk13</filename>.</para>

    <para>Για να μεταγλωττίσετε το native <literal>Java Development Kit
    1.3.1</literal> για το FreeBSD, κάντε τα ακόλουθα:</para>

    <procedure>
      <step>
	<para>Σιγουρευτείτε ότι το αρχείο
	  <filename>j2sdk-1_3_1-src.tar.gz</filename> βρίσκεται στον φάκελο
	  <filename>/usr/ports/distfiles</filename>.  Το αρχείο αυτό
	  χρειάζεται για την εφαρμογή των <quote>patch-sets</quote> που θα
	  δούμε παρακάτω.</para>
      </step>

      <step>
	<para>Θα χρειαστεί να κατεβάσετε το <literal>patch set</literal> για
	  τη μεταγλώττιση του port. Το αρχείο αυτό ονομάζεται
	  <filename>bsd-jdk131-patches-6.tar.gz</filename>.
	  Θα πρέπει επίσης να βεβαιωθείτε για την ακεραιότητα του αρχείου
	  ταριάζοντας το με το ακόλουθο <acronym>MD5</acronym>
	  checksum.</para>

        <programlisting>
MD5 (bsd-jdk131-patches-6.tar.gz) = 9cade10b81d6034fdd2176bef32bdbf9</programlisting>

	<para>Το patch-set είναι διαθέσιμο στη διεύθυνση:
	  <ulink url="http://www.eyesbeyond.com/freebsddom/java/index.html"></ulink></para>
      </step>
    </procedure>

    <para>Η τελευταία αυτή διαδικασία που μόλις είδαμε (η μεταγλώττιση του
      native <literal>jdk</literal>) θα πάρει αρκετό χρόνο.</para>
  </sect1>

  <sect1>
    <title>Εγκατάσταση του Jakarta Tomcat</title>

    <sect2>
      <title>Περίληψη</title>

      <para>Η Java γίνεται σταδιακά όλο και πιο δημοφιλής για τη δημιουργία
	ποικίλων και επιδεχόμενων κλιμάκωσης, ανεξαρτήτων από πλατφόρμα
	λύσεων.  Μια από τις πιο έντονα αυξανόμενες ανάγκες της Java βρίσκεται
	στον τομέα του <acronym>ASP</acronym> (Application Service Provider).
	Η Java προσφέρεται σαν η τέλεια λύση σε τέτοιου είδους αγορές έχοντας
	τα ακόλουθα προτερήματα:</para>

      <itemizedlist>
	<listitem>
	  <para>Ανεξαρτησία πλατφόρμας</para>
	</listitem>

        <listitem>
	  <para>Αφοσίωση στα υπάρχοντα πρότυπα</para>
	</listitem>

        <listitem>
	  <para>Μεγάλη δυνατότητα κλιμάκωσης</para>
	</listitem>

        <listitem>
	  <para>Συνέπεια στην απόδοση</para>
	</listitem>

        <listitem>
	  <para>Κατανεμημένες, πολυνηματικές, ασφαλείς κτλ.
	    εφαρμογές</para>
	</listitem>
      </itemizedlist>

      <para>Μια πολύ σημαντική και αναπτυσσόμενη τεχνολογία που αναδύθηκε μέσα
	από την Java είναι η <acronym>JSP</acronym> (JavaServer Pages).</para>

      <para>Οι <acronym>JSP</acronym> (JavaServer Pages) είναι μια server-side
	τεχνολογία που παρουσιάστηκε από την Sun Microsystems
	Corp., και παρέχει ένα γρήγορο και απλό τρόπο για την
	παραγωγή δυναμικού περιεχομένου μέσα από <acronym>HTML</acronym>
	σελίδες.  Χρησιμοποιεί <acronym>XML</acronym> tags μαζί με Java
	scriptlets για να ενσωματώσει και να διαχωρίσει έτσι τη λογική από τον
	αισθητικό σχεδιασμό και εμφάνιση. Όταν καλείται μια
	<acronym>JSP</acronym> σελίδα, μετατρέπεται δυναμικά σε ένα Servlet το
	οποίο επεξεργάζεται από τον server για να παραχθεί η τελική
	<acronym>HTML/XML</acronym> σελίδα που θα δεί ο client. Όταν η
	<acronym>JSP</acronym> τεχνολογία χρησιμοποιείται σε συνδυασμό με την
	τεχνολογία JavaBeans, είναι δυνατό να παραχθούν ποικιλόμορφες και
	επιδεχόμενες μεγάλης κλιμάκωσης εφαρμογές, οι οποίες μπορούν να
	συνδυαστούν με την δύναμη και την απόδοση του FreeBSD.</para>

      <para>Ο <application>Tomcat</application> είναι μια open-source εφαρμογή
	των προδιαγραφών των τεχνολογιών Java Servlets και JavaServer Pages,
	που αναπτύσσεται κάτω από από το Jakarta project στο Apache Software
	Foundation. Ο Tomcat εφαρμόζει ένα νέο Servlet framework (ονομαζόμενο
	Catalina) που στηρίζεται επάνω σε μια εντελώς νέα αρχιτεκτονική με
	βάση τις Servlet 2.3 and <acronym>JSP</acronym> 1.2 προδιαγραφές.
	Περιλαμβάνει πολλές νέες δυνατότητες που τον ανάγουν σε μια χρήσιμη
	πλατφόρμα για την δημιουργία αλλά και ανάπτυξη εφαρμογών αλλά και
	υπηρεσιών web. Με λίγα λόγια, ο Tomcat είναι ένας διακομιστής
	εφαρμογών γραμμένος σε 100% καθαρή Java.</para>

      <para>Ο Tomcat χρησιμοποιείται για πολλούς σκοπούς, και δεν περιορίζεται
	μόνο στη χρήση του ως διακομιστής εφαρμογών.  Παρέχει μια ανοιχτή
	πλατφόρμα για την δημιουργία επεκτάσιμων υπηρεσιών web αλλά και
	υπηρεσιών content management.  Η χρήση του Tomcat σε συνδυασμό με ένα
	βελτιστοποιημένο FreeBSD σύστημα, μπορεί να παρέχει πολύ συνεπείς αλλά
	και υψηλών ρυθμών εξυπηρέτησης υπηρεσίες.</para>

      <para>Παρακαλώ ανατρέξτε στη λίστα με τις <xref linkend="ref"> για
	περισσότερες πληροφορίες σχετικά με τον Tomcat και την
	<acronym>JSP</acronym> τεχνολογία.  Παρακάτω θα δούμε πως μπορείτε να
	εγκαταστήσετε το <quote>Περιβάλλον Tomcat</quote> στο FreeBSD. Η
	έκδοση του Tomcat που χρησιμοποιείται στον οδηγό αυτό είναι η
	<literal>4.0.3</literal>. Στην έκδοση αυτή περιέχονται μεγάλα bug
	fixes, αλλά και οι ακόλουθες ανανεώσεις/αλλαγές:</para>

      <itemizedlist>
	<listitem>
	  <para><literal>Υλοποίηση προδιαγραφών του JSP 1.2</literal></para>
	</listitem>

        <listitem>
	  <para><literal>Υλοποίηση προδιαγραφών του Java Servlet 2.3</literal></para>
	</listitem>

        <listitem>
	  <para><literal>Πλήρης συμβατότητα με τις παλαιότερες Java
	    Servlet 2.2 και JSP 1.1 προδιαγραφές</literal></para>
	</listitem>
      </itemizedlist>
    </sect2>

    <sect2>
      <title>Το περιβάλλον Tomcat για το FreeBSD</title>

      <para>Η εγκατάσταση του Tomcat στο FreeBSD είναι πολύ εύκολη εφόσον έχει
	στηθεί πρώτα το απαραίτητο περιβάλλον Java, κάτι που έχουμε ήδη
	κάνει.</para>

      <para>Για να εγκαταστήσετε τον Tomcat στο FreeBSD, ακολουθήστε τα
	παρακάτω βήματα:</para>

      <procedure>
	<step>
	  <para>Ακολουθήστε τα παρακάτω βήματα για την εγκατάσταση του
	    απαραίτητου περιβάλλοντος Java.</para>
	</step>

        <step>
	  <para>Δηλώστε τη μεταβλητή περιβάλλοντος <envar>JAVA_HOME</envar> η
	    οποία, θα πρέπει να δείχνει στο φάκελο όπου έχετε εγκαταστήσει το
	    JDK (το παρακάτω παράδειγμα δείχνει σε ένα native build του
	    JDK για C κέλυφος):</para>

          <screen>&prompt.root; setenv JAVA_HOME /usr/local/jdk1.3.1</screen>

	  <para>Αυτή η μεταβλητή περιβάλλοντος θα πρέπει να γίνει μόνιμη με
	    την προσθήκη της παραπάνω εντολής είτε στο
	    <filename>.profile</filename> είτε στο
	    <filename>.cshrc</filename>, ανάλογα με το ποιό κέλυφος
	    χρησιμοποιείτε.  Η μεταβλητή αυτή είναι πολύ σημαντική για τη
	    λειτουργία των Java βασισμένων προγραμμάτων, όπως και του ίδιου
	    του Tomcat.</para>
	</step>

        <step>
	  <para>Κατεβάστε την <quote>binary διανομή</quote> του Tomcat από το
	    Jakarta website, που θα βρείτε στη διεύθυνση <ulink
	    url="&tomcat403"></ulink>. Το αρχείο που θα πρέπει να κατεβάσετε
	    λέγεται
	    <filename>jakarta-tomcat-4.0.3.tar.gz</filename>.</para>
	</step>

        <step>
	  <para>Το συμπιεσμένο και αρχειοθετημένο αρχείο που κατεβάσαμε στο
	    προηγούμενο βήμα χρησιμοποιεί ειδικές <quote>GNU
	    Extensions</quote>.  Για να το κάνετε <quote>untar</quote> και να
	    το αποσυμπιέσετε θα πρέπει να εγκαταστήσετε το πακέτο GNU Tar
	    (<filename role="package">archivers/gtar</filename>), κάνοντας τα
	    ακόλουθα:</para>

          <screen>&prompt.root; cd /usr/ports/archivers/gtar &amp;&amp; make all install clean</screen>
	</step>

        <step>
	  <para>Κάντε untar και αποσυμπιέστε το αρχείο
	    <filename>jakarta-tomcat-4.0.3.tar.gz</filename> μέσα στο
	    φάκελο <filename>/usr/local</filename> και μετονομάστε τον
	    παραγόμενο υποφάκελο σε <filename>tomcat-4.0</filename>
	    για εύκολη αναφορά:</para>

          <screen>&prompt.root; cd /usr/local
&prompt.root; gtar zxvf jakarta-tomcat-4.0.3.tar.gz
&prompt.root; ls jakarta*
jakarta-tomcat-4.0.3
&prompt.root; mv jakarta-tomcat-4.0.3 tomcat-4.0</screen>

          <para>Μπορείτε πλέον να σβήσετε το αρχείο
	    <filename>jakarta-tomcat-4.0.3.tar.gz</filename> αν το
	    επιθυμείτε.</para>
	</step>
      </procedure>

      <note>
	<para>Η εγκατάσταση χρησιμοποιώντας τον πηγαίο κώδικα είναι
	  προς το παρόν εκτός της εμβέλειας του τρέχοντος
	  κειμένου. Παρακαλώ, ανατρέξτε στα ακόλουθα αρχεία για
	  περαιτέρω πληροφορίες όσον αφορά την μεταγλώττιση από τον
	  πηγαίο κώδικα.  Τα αρχεία αυτά είναι διαθέσιμα στον φάκελο
	  διανομής του Tomcat:</para>

        <itemizedlist>
	  <listitem>
	    <para><filename>/usr/local/tomcat-4.0/README.txt</filename></para>
	  </listitem>

          <listitem>
	    <para><filename>/usr/local/tomcat-4.0/BUILDING.txt</filename></para>
	  </listitem>
	</itemizedlist>
      </note>
    </sect2>

    <sect2>
      <title>Λειτουργία του Tomcat - Βασικές Πληροφορίες</title>

      <para>Έχουμε πλέον τελειώσει με την εγκατάσταση του Tomcat. Το ακόλουθο
	παράδειγμα δείχνει πως να ξεκινήσετε τον Tomcat server:</para>

      <screen>&prompt.root; cd /usr/local/tomcat-4.0/bin
&prompt.root; ./startup.sh (για να ξεκινήσετε τον Tomcat)</screen>

      <para>Μπορείτε να δοκιμάσετε αν έχει ξεκινήσει ο Tomcat server
	επισκεπτόμενοι το ακόλουθο URL:
	<literal>http://127.0.0.1:8080</literal> ή
	<literal>http://localhost:8080</literal>.
	Για να σταματήσετε τον Tomcat κάντε τα ακόλουθα:</para>

      <screen>&prompt.root; cd /usr/local/tomcat-4.0/bin
&prompt.root; ./shutdown.sh</screen>

      <para>Τα <filename>startup.sh</filename> και
	<filename>shutdown.sh</filename> είναι frontends του
	<filename>catalina.sh</filename> εκτελέσιμου script στον ίδιο φάκελο:
	Αν θέλετε να ξεκινάει ο Tomcat αυτόματα κατά την εκκίνηση εκτελέστε τα
	ακόλουθα:</para>

      <screen>&prompt.root; cd /usr/local/etc/rc.d
&prompt.root; ln -s /usr/local/tomcat-4.0/bin/catalina.sh</screen>

      <para>Διορθώστε το <filename>catalina.sh</filename>, και προσθέστε τα
	ακόλουθα στην αρχή του αρχείου (μετά από το κουτί με τα
	σχόλια):</para>

      <programlisting>JAVA_HOME=/usr/local/jdk1.3.1</programlisting>

      <para>Αν η θύρα <literal>8080</literal> είναι απασχολημένη από κάποια
	άλλη υπηρεσία, μπορείτε να την αλλάξετε διορθώνοντας το αρχείο
	<filename>server.xml</filename> που βρίσκεται στον υποφάκελο
	<filename>conf/</filename> του Tomcat. Στο παρακάτω παράδειγμα, η θύρα
	θα αλλαχθεί στην 80, θεωρώντας ότι δεν υπάρχει κάποια άλλη υπηρεσία
	που χρησιμοποιεί τη θύρα αυτή.</para>

      <screen>&prompt.root; cd /usr/local/tomcat-4.0/conf
&prompt.root; fgrep -n 8080 server.xml
~65:         By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
~89:         port="8080" minProcessors="5" maxProcessors="75"
&prompt.root; cat server.xml | sed s/8080/80/ > server.xml.new
&prompt.root; mv server.xml.new server.xml</screen>
    </sect2>
  </sect1>

  <sect1 id="ref" xreflabel="reference">
    <title>Αναφορές</title>

    <informaltable>
      <tgroup cols="1">
	<tbody>
	  <row>
	    <entry>
	      <ulink url="&wwwurl;/java">The FreeBSD Java Project</ulink>
	    </entry>
	  </row>

          <row>
	    <entry>
	      <ulink url="http://java.sun.com">JavaSoft. Home of Java</ulink>
	    </entry>
	  </row>

          <row>
	    <entry>
	      <ulink
	      url="&sunurl;/software/communitysource/java2/licensing.html">The
	      Sun Community Source Licensing for Java</ulink>
	    </entry>
	  </row>

          <row>
	    <entry>
	      <ulink url="&tomcaturl">Jakarta Tomcat Homepage</ulink>
	    </entry>
	  </row>

          <row>
	    <entry>
	      <ulink url="http://java.sun.com/docs/index.html">J2SE
	      Documentation</ulink>
	    </entry>
	  </row>

          <row>
	    <entry>
	      <ulink url="&wwwurl;/ports/java.html">FreeBSD Ports - Java
	      Section</ulink>
	    </entry>
	  </row>
	</tbody>
      </tgroup>
    </informaltable>

    <sect2>
      <title>Συμπεράσματα</title>

      <para>Φτάνοντας στο τέλος αυτού του άρθρου έχουμε μια λειτουργική έκδοση
	του Tomcat. Ελπίζουμε ότι μάθατε τα βασικά στάδια που χρειάζονται για
	τη μεταγλώττιση και εγκατάσταση του Java Development Kit στο FreeBSD,
	καθώς και για την εγκατάσταση του Tomcat binary distribution
	application server που έχει εκδοθεί από το Apache Software Foundation.
	Η λίστα με τις <xref linkend="ref"> περιέχει δείκτες σε επιπρόσθετες
	πηγές πληροφορίας επάνω στα θέματα αυτά, κάποιες από τις οποίες
	βρίσκονται σε έντυπη μορφή, άλλες στον παγκόσμιο ιστό ή και στα
	δύο.</para>

      <para>Το πιο σημαντικό θέμα είναι να υπάρχει χώρος στο σύστημα. Προτείνω
	να έχετε 700&nbsp;MB ή περισσότερα ελεύθερο χώρο στο φάκελο
	<filename>/usr</filename>. Ελπίζω το άρθρο αυτό να σας βοήθησε
	κατά ένα μικρό τρόπο. Ερωτήσεις, σχόλια ή συγχαρητήρια μπορείτε να
	στέλνετε στη διεύθυνση <ulink url="mailto:vkchan@kendryl.net">Victoria
	Chan</ulink>.</para>
    </sect2>
  </sect1>
</article>
