Postat la
03-Nov-2009
ora
01:15 pm
de
[Chetroesu]
Lamurire: Isapi_redirect.dll este o versiune a mod_jk compilata ca filtru ISAPI pentru IIS.
Mediu de test: Windows Server 2003 cu IIS6 si Tomcat 5.5.20.
Pasul 1: Pregatirea Tomcat
- Se instaleaza o versiune de Tomcat undeva pe HDD. Eu am ales o cale simpla: C:\Tomcat. Aceasta va fi folosita pe tot parcursul acestui articol.
- Se creaza o locatie pentru configurarile conectorului ISAPI. Eu am ales o cale in interiorul folderului de instalare al Tomcat: C:\Tomcat\connector. Se mai creaza subdirectoarele C:\Tomcat\connector\conf şi C:\Tomcat\connector\logs
- Se descarca cea mai recenta versiune binara de fisier isapi_redirect.dll. La momentul redactarii acestui articol, cea mai recenta versiune este isapi_redirect-1.2.28.dll. Acest articol propune ca locatia sa fie C:\Tomcat\connector, dar se poate pune oriunde pe server. Optional, se face o copie a fisierului isapi_redirect-1.2.28.dll şi se redenumeste in isapi_redirect.dll sau pur şi simplu se redenumeste fişierul existent.
Pasul 2: Creare fisiere de configurare
Binarul isapi_redirect.dll se descarca ca fisier singular binar, nu ca arhiva, el neincluzand nici un fisier de configurare. Acestea vor trebui create si editate utilizand un editor de text standard.
Exista trei fisiere care vor trebui create: workers.properties sau workers2.properties, uriworkermap.properties si isapi_redirect.properties. Fisierul isapi_redirect.properties va fi creat in in acelasi director cu isapi_redirect.dll: C:\Tomcat\connector, iar fisierele workers.properties si uriworkmap.properties vor fi plasate in subdirectorul C:\Tomcat\connector\conf. In continuare vom detalia pe fiecare dintre aceste fisiere:
- isapi_redirect.properties defineste informaţii generale de configurare pentru DLL, configurand elemente precum localizarea fisierelor workers.properties şi uriworkermap.properties, sau a fisierului de log. In locul crearii fişierului isapi_redirect.properties, se poate crea o configurare de registri Windows care sa specifice aceiasi parametri, dar fişierul de configurare asigura mai multa flexibilitate pentru viitor, mai ales dacă avem mai multe virtual-host-uri IIS.
- workers.properties defineste datele de configurare specifice pentru un virtual-host care pointeaza catre o instanta de server de aplicatii. Se poate defini fisierul workers2.properties in locul lui workers.properties, definind acelasi lucru doar ca foloseste alta sintaxa. Diferenta dintre workers2.properties si workers.properties consta in faptul ca workers2.properties este folosit pentru conectorul jk2 iar workers.properties este folosit pentru conectorul jk. Cititi site-ul apache pentru a intelege ce inseamna asta.
- uriworkermap.properties defineşte numele aplicaţiei web şi virtual-host-ul pe care il pointeaza.
Crearea fisierului isapi_redirect.properties (sau a isapi_redirect.reg)
Un fişier generic isapi_redirect.properties este prezentat mai jos. Acesta poate fi utilizat ca template pentru eventuale alte configurari.
# Configuration file for the Jakarta ISAPI Redirector
# The path to the ISAPI Redirector Extension, relative to the website
# This must be in a virtual directory with execute privileges
extension_uri=/jakarta/isapi_redirect.dll
# Full path to the log file for the ISAPI Redirector
log_file=C:\Tomcat\connector\logs\isapi_redirect.log
# Log level (debug, info, warn, error or trace)
log_level=info
# Full path to the workers.properties file
#worker_file=C:\Tomcat\connector\conf\workers.properties
worker_file=C:\Tomcat\connector\conf\workers2.properties
# Full path to the uriworkermap.properties file
worker_mount_file=C:\Tomcat\connector\conf\uriworkermap.properties
Opţional, in cazul in care veti merge pe solutia cu configuraru in registry (de exemplu, daca serverul web este dedicat unei singure aplicatii si nu trebuie sa configurati virtual-host-uri), creaţi un fişier de configurare registri numit isapi_redirect.reg ca in exemplul urmator, apoi rulati-l.
[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\2.0]
"workersFile"="C:\\Tomcat\\connector\\conf\\workers.properties"
"extensionUri"="/jakarta/isapi_redirect.dll"
"logLevel"="debug"
"serverRoot"="C:\\Tomcat\\"
Crearea fisierului workers.properties
Mai jos, este prezentat un fisier exemplu pentru conectarea unei instante Tomcat locala la IIS, utilizand conectorul jk.
worker.list=local
worker.iisapp.port=8009
worker.iisapp.host=localhost
worker.iisapp.type=ajp13
worker.iisapp.lbfactor=1
Crearea fisierului workers2.properties
Mai jos, este prezentat un fisier exemplu pentru conectarea unei instante Tomcat locala la IIS, utilizand conectorul jk2.
[channel.socket:localhost:8009]
info=Ajp13 worker, connects to tomcat instance using AJP 1.3 protocol
tomcatId=localhost:8009
[uri:/Admin/*]
info=www.myserver.ro/Admin mapeaza request-uri pentru toate paginile JSP ale aplicatiei Admin spre Tomcat.
context=/Admin
[uri:/*]
info=www.myserver.ro mapeaza request-uri pentru toate paginile JSP ale aplicatiei ROOT spre Tomcat.
context=/
Crearea fisierului uriworkermap.properties
Considerand ca pe serverul Tomcat sunt instalate doua aplicatii web, una accesibila din root-ul
/Admin/*=iisapp
/*=iisapp
Pasul 3: Configurare IIS
- Deschidem Internet Information Services (IIS) Manager.
- Cream un nou site web accesand Web Sites --> New --> New Website. In exemplul noustru am creat site-ul www.myserver.ro.
-
Modificări specifice versiunii de IIS utilizate.
Pentru IIS5 sau IIS6, va trebui adaugata o noua extensie pentru servicii web (Web Service Extensions) in scopul de a activa suportul pentru isapi_redirect.dll. Asadar, se creaza extensia cu numele "JSP" la care se adauga calea catre isapi_redirect.dll, si se bifeaza check-ul pentru a o activa.
Pentru IIS7, in marie parte se face acelasi lucru, dar dar nu se activeaza extensia. Se face dublu clic pe ISAPI şi CGI Restrictions si se adauga acolo.
- Instalam filtrul ISAPI deschizand dialogul Properties de pe site-ul nou creat, iar in cadrul tab-ului ISAPI Filters adaugam un nou filtru denumit isapi_redirect care pointeaza catre isapi_redirect.dll.
- In cadrul site-ului web nou creat, se defineste un virtual directory numit jakarta care pointeaza catre locatia conectorului, utilizand comanda New Virtual Directory disponibil la click dreapta pe site-ul web:
Odata ce aceste modificari au fost facute, se reporneste IIS.