Jakarta Tomcat

Tomcat nedir?

 

Tomcat, Java Servlet ve Java Server Pages teknolojileri için resmi kodlama referansı olarak kullanılan bir servlet barındırıcısıdır. Java Servlet ve Java Server Pages belirtimleri SUN tarafından Java Community Process altında geliştirilmiştir

 
--jakarta.apache.org 

Yazarın bakış açısından:

Tomcat uzun süre geliştirilmeyen jserv'ün halefidir. Tomcat, SUN tarafından geliştirilen en son jsp ve servlet-API'lerini destekler. Maalesef Tomcat'ı, kaynak koddan derlemek çok zordur, çünkü "ant" diye adlandırılan kendi oluşturma sistemini kullanmaktadır. Kaynak koddan oluşturmak istiyorsanız öngereksinimlerin çok uzun bir listesi mevcut. Daha fazla bilgi için: http://jakarta.apache.org/tomcat/tomcat-4.0-doc/BUILDING.txt. İyi şanslar, yazara da biraz geribesleme yaparsanız iyi olur.

Bu nasılda Tomcat'in çalıştırılabilirlerden kurulumu için temel destek sağlanmıştır.

Yazar Tomcat'ı kaynak koddan derlemeye çalışan ve hangi adımların gerektiğini anlatacak gönüllüler aramaktadır.

Ön Gereksinimler

Java2

Java2 nedir?

Lütfen java.sun.com'a bakınız.

Bu konu bu nasılı aşar, lütfen http://java.sun.com/j2se/1.3/docs/relnotes/features.html adresine bakınız.

İkili kodu indirin

http://java.sun.com/j2se/1.3/[17]

Kurulum

İkili dosyayı çalıştırın:

# chmod +x j2sdk-1_3_1_02-linux-i386.bin

# ./2sdk-1_3_1_02-linux-i386.bin

Lisans sözleşmesini kabul ettikten sonra, paket içeriği bir dizine kendini açar. Siz bu dizini /usr/lib dizinine taşıyıp bir sembolik bağ tanımlayacaksınız.

Tomcat'in İkili kodunu indirin

Adres: http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.1.18/src/jakarta-tomcat-4.1.18-src.tar.gz

İkili dosyadan kurulum

$ cd /usr/local

$ tar -xvzf jakarta-tomcat-4.1.8.tar.gz

$ cd jakarta-tomcat-4.1.8

$ cd bin

$ rm *.bat

# echo export JAVA_HOME=/usr/lib/java/ >> /etc/profile
# . /etc/profile

Tomcat yöneticisini etkin kılmak için /usr/local/jakarta-tomcat-4.1.8/conf/tomcat-users.xml dosyasına manager rolüyle bir admin kullanıcısı açmanız gerekir. Sonuç böyle gözükür:

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="manager"/>
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <user username="admin" password="secret" roles="manager"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="role1" password="tomcat" roles="role1"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
</tomcat-users>

Şimdi tomcat'ı başlatabiliyor olmalısınız:

# /usr/local/apache/jakarta-tomcat-4.1.8/bin/startup.sh

Artık bağlanabiliyor olmalısınız: http://localhost:8080/index.jsp

mod_jk

Kaynak paketini indirin

Apache sunucunuz içinde doğal bir arayüz istiyorsanız, mod_jk'yı ayrıca indirilmiş olan bu paketten derlemelisiniz: http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.1.18/src/jakarta-tomcat-connectors-4.1.18-src.tar.gz.

Derleme ve Kurulum

$ tar -xvzf jakarta-tomcat-connectors-4.1.18-src.tar.gz

$ cd jakarta-tomcat-connectors-4.1.18-src/jk/native

$ ./buildconf
$ ./configure --with-apxs=/usr/local/apache/bin/apxs

$ make
# make install

Özelleştirme

Şimdi sinirlendirici bölümle devam ediyoruz, yapılandırma dosyalarının özelleştirilmesi. Önce /usr/local/jakarta-tomcat-connectors-4.1.18-src/jk/conf/workers.properties dosyasını düzenleyin ve /usr/local/apache/conf dosyasına kopyalayın.

Tomcat dağıtımıyla gelen JSP ve servlet örnekleriyle çalışan bir örnek workers.properties hazırladım.

Örnek 1.9. workers.properties

workers.tomcat_home=/usr/local/jakarta-tomcat-4.1.18

# workers.java_home should point to your Java installation. Normally
# you should have a bin and lib directories beneath it.
#
workers.java_home=/usr/lib/java2

# You should configure your environment slash... ps=\ on NT and / on UNIX
# and maybe something different elsewhere.
#
ps=/

# The workers that your plugins should create and work with
#
worker.list=worker1

#------ DEFAULT ajp13 WORKER DEFINITION ------------------------------
#---------------------------------------------------------------------
# Defining a worker named ajp13 and of type ajp13
# Note that the name and the type do not have to match.
#
worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.type=ajp13

#------ CLASSPATH DEFINITION -----------------------------------------
#---------------------------------------------------------------------
# Additional class path components.
#
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)tomcat.jar

# The JVM that we are about to use
#
# Unix - Sun VM or blackdown
worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)lib$(ps)i386$(ps)classic$(ps)libjvm.so

# Setting the place for the stdout and stderr of tomcat
#
worker.inprocess.stdout=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stdout
worker.inprocess.stderr=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stderr

Sonra, apache yapılandırma dosyası httpd.conf'u özelleştirmeniz gerekir. Aşağıdaki örnek Tomcat tarafından sağlanan örneklere uygundur:

LoadModule jk_module libexec/mod_jk.so
AddModule mod_jk.c

JkWorkersFile /usr/local/apache/conf/workers.properties
JkLogFile /var/log/httpd/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkRequestLogFormat "%w %V %T"
JkMount /examples/servlet/* worker1
JkMount /examples/*.jsp worker1

Apache'yi yeniden başlattıktan sonra, artık JSP dosyalarınıza Apache yoluyla bağlanabiliyor olmalısınız. Örneğin: http://localhost/examples/jsp/num/numguess.jsp

Daha sonraki servlet ve jsp-dosyalarının kurulumu gibi adımları kendiniz yapmalısınız.

Ortam Değişkenleri

Eğer Tomcat başlamasında hata oluşursa ve/veya servletler başlatılamıyorsa CLASSPATH değişkeninde gerekli sınıflar yok demektir.



[17] Java'nın bir de 1.4.1 sürümü var ancak, Tomcat henüz bu sürümle çalışmıyor gibi görünüyor.