RSS
 

IIS ye Tomcat Kurulumu

08 Nis

IIS + Tomcat

Not: Bu yapılandırma örneğinde IIS 5.0 ve Tomcat 4.0.3 kullanılmıştır. IIS ve/veya Tomcat’in farklı versiyonları için işe yaramayabilir.

IIS ve Tomcat kurulumu için hem Tomcat hem de IIS tarafında yapılması gerekenler ayrı başlıklar altında aşağıdaki gibidir:

Tomcat tarafı:

  • ISAPI Redirect DLL’inin kopyalanması
  • Registry dosyasının hazırlanması
  • Tomcat uriworkermap.properties dosyasının düzenlenmesi
  • Tomcat worker.properties dosyasının düzenlenmesi
  • Tomcat server.xml dosyasının düzenlenmesi
  • Tomcat’in Windows NT/2K servisi olarak ayarlanması

IIS tarafı:

  • Tomcat ISAPI filtresinin eklenmesi
  • Hoşgeldin sayfalarının ayarlanması

ISAPI Redirect DLL’inin kopyalanması

IIS’e gelen Java Servlet/JSP istekleri IIS’e yüklenen bir ISAPI filtresi üzerinden Tomcat’e gönderilir. Bu iş için isapi_redirect.dll isimli bir dosya kullanılır. Bu dosyayı (isapi_redirect.dll) Tomcat’i kurduğunuz dizin altında bin dizinine kopyalamanız gerekir. (Başka bir dizin de tercih edilebilir. Ancak dosyaların ilgili yerlerde bulundurulması açısından bin dizinini tercih etmemizde yarar var.)

Registry dosyasının hazırlanması

isapi_redirect.dll’i ihtiyacı olan yapılandırma değişkenlerine erişmek için Windows Registry’sini kullanır. Bu yüzden bir registry dosyası hazırlayıp bunu Windows Registry’ sine eklemek ya da direkt olarak gidip registry’i düzenlemek gerekir. Birincisi nisbeten daha kolay olacağından onu tercih edebiliriz. Bunun için Tomcat’i kurduğumuz dizin altındaki conf dizinine gidip altına jk isminde bir dizin açalım. Dizin ismi olarak jkyı şeçmemizin herhangi bir özel nedeni yok. Kısaca Jakarta ismini ifade ediyor sadece. Daha sonra bu dizin altına diğer yapılandırma dosyalarını da ekleyeceğiz. jk dizini altında iis_redirect.reg isminde bir dosya açarak içerisine şunları yazalım:

Not: Buradaki ${TOMCAT_HOME}’u Tomcat’i kurduğunuz dizin ismi ile değiştirin. (mesela: C:\\Tomcat4IIS gibi.) Ayrıca dizin ayracı olarak \\ kullanmayı unutmayın.

REGEDIT4
[HKEY_LOCAL_MACHINESOFTWAREApache Software FoundationJakarta Isapi Redirector1.0]
“extension_uri”=”/jakarta/isapi_redirect.dll”
“log_file”=”${TOMCAT_HOME}logsiis_redirect.log”
“log_level”=”emerg”
“worker_file”=”${TOMCAT_HOME}confjkworker.properties”
“worker_mount_file”=”${TOMCAT_HOME}confjkuriworkermap.properties”

Dosyayı Windows Registry’sine eklemek için üzerine sağ tuş ile tıklayıp menüden Ekle (Merge)’i seçin.

Tomcat uriworkermap.properties dosyasının düzenlenmesi

uriworkermap.properties IIS’e gelen hangi isteklerin Tomcat’e yönlendirilmesi konusunda gerekli bilgileri içerir. Bu dosyayı ilk kurulumda elle üretmemiz gerekir. Bunun için Tomcat’i kurduğumuz dizin altındaki conf dizini altında bir önceki adımda açmış olduğumuz jk dizinine giderek uriworkermap.properties isminde bir dosya üretelim. Dosyaya verdiğimiz ismi farklı seçebiliriz. Ancak registry’de de bu ismi kullandığımızdan dolayı onu da değiştirmek kaydıyla. Bu dosya içerisine şunları yazalım:

# '/servlet' ile başlayan tüm linkleri 'myTomcatWorker' a gönder.
/servlet/*=myTomcatWorker
# '.jsp' ile biten tüm tüm linkleri 'myTomcatWorker' a gönder.
/*.jsp=myTomcatWorker

Tomcat worker.properties dosyasının düzenlenmesi

Tomcat, IIS’den gelen istekleri arkada çalışan worker isimli bir işlem ile çalıştırır. worker.properties dosyası bunun için gerekli yapılandırma değişkenlerinin tanımlandığı yerdir. Bu dosyayı elle üretmemiz gerekir. Bunun için Tomcat’i kurduğumuz dizin altındaki conf dizini altında açmış olduğumuz jk dizinine giderek worker.properties isminde bir dosya üretelim. Dosyaya verdiğimiz ismi farklı seçebiliriz. Ancak registry’de de bu ismi kullandığımızdan dolayı onu da değiştirmek kaydıyla. Bu dosya içerisine şunları yazalım:

## worker.tomcat_home tomcat’i kurduğunuz dizini göstermeli. Mesela: C:Tomcat4IIS gibi
#
worker.tomcat_home={beni-değiştir}#
# worker.java_home java platform’unu kurduğunuz dizini göstermeli. Mesela: C:jdk1.4.0 gibi.
#
worker.java_home={beni-değiştir}
#
# Dizinleri ayırmak için kullanılan karakter NT için: , UNIX için: /
#
ps=
#
# Tomcat’in kullandığı worker’ların isim listesi. Bizim örneğimizde
# bir tane var onu yazmamız gerekir. Birden fazla olduğu durumlarda
# virgül (,) ile ayrılır.
#
worker.list=myTomcatWorker#
# worker tipi, portu ve dinleyeceği host isimleri.
# Biz bu örnek için sadece ajp13 isimli tip ile ilgileniyoruz. AJP Tomcat ile
# web sunucularının konuşurken kullandığı protokol. ajp13 -< AJP v1.3 protokolu
#
# port numarası daha sonra server.xml’de tanımlayacağımız AJP protokol sunucusunun
# istekleri dinlediği port numarası
#
worker.myTomcatWorker.type=ajp13
worker.myTomcatWorker.port=9009
worker.myTomcatWorker.host=localhost

Tomcat server.xml dosyasının düzenlenmesi

Server.xml dosyası Tomcat’in yapılandırma dosyasıdır. Tomcat’i ilk kurduğunuzda hazırlanmış olarak gelir. Bu adımda Tomcat’in sadece IIS ile çalışması için gerekli ayarları yapacağız. server.xml dosyası Tomcat dizini altındaki conf dizini içerisindedir. Bu dosyayı açıp içeriğini aşağıdaki kısımla değiştirelim:

server.xml Indir

Server port=”8005″ shutdown=”SHUTDOWN” debug=”0″><Service name=”Tomcat-With-IIS”><Connector className=”org.apache.ajp.tomcat4.Ajp13Connector”

port=”9009″ minProcessors=”5″ maxProcessors=”75″

acceptCount=”10″ debug=”0″/>

<Engine name=”Standalone” defaultHost=”localhost” debug=”0″>

<Logger className=”org.apache.catalina.logger.FileLogger”

prefix=”catalina_log.” suffix=”.txt”

timestamp=”true”/>

<Realm className=”org.apache.catalina.realm.MemoryRealm” />

<Host name=”localhost” debug=”0″ appBase=”c:/inetpub/wwwroot” unpackWARs=”true”>

<Valve className=”org.apache.catalina.valves.AccessLogValve”

directory=”logs” prefix=”localhost_access_log.” suffix=”.txt”

pattern=”common”/>

<Logger className=”org.apache.catalina.logger.FileLogger”

directory=”logs” prefix=”localhost_log.” suffix=”.txt”

timestamp=”true”/>

<Context path=”" docBase=”" debug=”0″/>

</Host>

</Engine>

</Service>

</Server>

Aşağıdaki kısımda C:/inetpub/wwwroot’u IIS’in sizin kurulumunuzdaki web kök dizini ile değiştirin.

<!-- Define the default virtual host -->      <Host name="localhost" debug="0" appBase="c:/inetpub/wwwroot" unpackWARs="true">

Böylece Tomcat’e Java Servlet ve JSP’lerini IIS’in web kök dizini içerisinde arayacaktır.

Not: Bunu mevcut server.xml üzerinde bir kısım değişiklikler yaparak da elde etmek mümkündür. Zaten dikkat edilirse içeriğin çoğunluğu aynıdır. Fakat burada açıklanmasının kafa karıştırabileceğini düşündüğümden hazır halini veriyorum

Tomcat’in Windows NT/2K servisi olarak ayarlanması

Tomcat’i Windows NT/2K servisi olarak ayarlayabiliriz. Böylece makine açılır açılmaz Tomcat’in çalışması sağlanabilir. Tomcat’i kurduğumuz dizin altında bin dizininde bir betik dosyası hazırlayıp bunu çalıştırarak Tomcat’i servis olarak yükleyebiliriz. Aynı şekilde servis olarak eklediğimiz Tomcat’i Windows NT/2K servisleri arasından çıkarabiliriz.

Eklemek için:

inst-as-service.bat isminde bir dosya üretin ve içine şunları yazın:

set TOMCAT_HOME=c:tomcat4iis "%TOMCAT_HOME%bintomcat.exe" -install Tomcat "%JAVA_HOME%jrebinserverjvm.dll"-Djava.class.path="%TOMCAT_HOME%binbootstrap.jar;%JAVA_HOME%libtools.jar"

-Dcatalina.home="%TOMCAT_HOME%"

-start org.apache.catalina.startup.BootstrapService

-params start

-stop org.apache.catalina.startup.BootstrapService

-params stop

-out "%TOMCAT_HOME%"logsstdout.log

-err "%TOMCAT_HOME%"logsstderr.log

Çıkarmak için:

uninst-service.bat isminde bir dosya üretin ve içine şunları yazın:

set TOMCAT_HOME=c:tomcat4iis "%TOMCAT_HOME%bintomcat.exe" -uninstall Tomcat

Tomcat ISAPI filtresinin eklenmesi

IIS’e gelen Java Servlet ve JSP isteklerinin Tomcat’e yönlendirilmesi için gerekli olan isapi_redirect.dll dosyasından bahsetmiştik. Şimdi bu dll’i IIS’e tanıtmamız gerekir. Öncelikle IIS servislerini kapatmamız gerekir. Sonra IIS’in yönetim konsolunu açalım. Windows 2000 Professional’da konsola Denetim Masası (Control Panel), Yönetim Araçları (Administrative Tools), Internet Servisleri Yönetimini (Internet Services Management) açın.

*<makine-ismi> isimli imgeye sağ tuş ile tıklayıp, Özellikler (Properties) menüsünü seçin.
Buradan Ana Özellikler’den (Master Properties) WWW Servisi (WWW Service) seçili iken Düzenle (Edit) butonuna tıklayın.
ISAPI Filtreleri (ISAPI Filters) kısmına geçip, Ekle (Add) butonuna basın.
Karşınıza çıkan pencereden Filtre İsmi (Filter Name) olarak Jakarta girin. Çalıştırılabilir dosya alanına isapi_redirect.dll ini dizin isimleri ile beraber girin veya seçin. Bu dosyayı tomcat’i kurduğunuz dizinin altında bin dizinine kopyalamıştık.
Yapılan değişiklikleri onaylayarak pencerelerden çıkın. Bu değişikliğin aktif hale gelebilmesi için IIS servisini başlatmanız yeterlidir. Bazı durumlarda makineyi yeniden başlatmak gerekebilir. IIS tekrar başladığında tekrar ISAPI filtreleri kısmına gittiğinizde yeni eklediğiniz filtrenin yanında yukarı doğru yeşil bir ok göreceksiniz.

Hoşgeldin sayfalarının ayarlanması

Hoşgeldin sayfaların web sunucusunun kök dizininde bir dizin isteği geldiğinde sunulacak ilk dosyadır. Mesela: index.html gibi. Doğal olarak IIS .jsp ile biten dosyaları hoşgeldin sayfası olarak kabul etmez. Bunun için yukarıda olduğu gibi IIS’in yönetim konsolundan Ana Özellikler’den (Master Properties) WWW Servisi (WWW Service) düzenleme ekranına gidin.

Buradan Dokümanlar (Documents) kısmına geçip yeni bir hoşgeldin sayfası eklemek için Ekle (Add) butonuna basın.
Karşınıza çıkan pencerede dosya ismi olarak index.jsp girin.
Yapılan değişiklikleri onaylayarak pencerelerden çıkın.

Dosya Listesi

  • server.xml

 

Leave a Reply