ISS 웹서버연동부록 C. 쓰리래빗츠와웹서버를연동하려면아파치톰캣커넥터를사용합니다. 쓰리래빗츠가아파치톰캣을이용 하기때문입니다. 윈도우 8 을기준으로설명합니다. 윈도우버전에따라 IIS 관리자화면이다릅니다. C.1 isapi_redirect.dll 설치 1 설치에필요한파일을받습니다. IIS 와연동하려면 isapi_redirect.dll 를설치합니다. 설치파일은아파치톰캣커넥터페이지에서 받습니다. 1 링크를이용하여사용하는 OS 에맞는파일을받습니다. 아파치톰캣커넉터는 1.2.40 버전을예로듭니다. 1
윈도우는 32 비트, 64 비트에따라다른파일을받습니다. 그림 C-1 64 비트일때받는파일 그림 C-2 32 비트일때받는파일 2 isapi_redirect.dll 을복사합니다. 받은압축파일을풀어서 isapi_redirect.dll 을쓰리래빗츠설치위치아래 iss 디렉터리 ( 기본설치 시 C:\3rabbitz\iis) 로복사합니다. iss 디렉터리는설치후별도로만들어야합니다. 관리의편리성을위하여 iss 연동과관련된파일은쓰리래빗츠설치위치아래 iss 디렉터 리 ( 기본설치시 C:\3rabbitz\iis) 에함께있도록합니다. C.2 isapi_redirect.dll 설정 1 isapi_redirect.dll 가위치한디렉터리에다음디렉터리및파일을만듭니다. 디렉터리 logs 파일 isapi_redirect.properties 2 ISS 웹서버연동
uriworkermap.properties workers.properties 그림 C-3 isapi_redirect.dll 사용에필요한파일및디렉터리 예시에사용된파일은여기에서다운받습니다. 예시의내용을실제환경에맞게수정합니 다. 자세한내용은공식사이트문서를참고합니다. 2 isapi_redirect.properties 내용을입력합니다. 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=/3rabbitz/isapi_redirect.dll Full path to the log file for the ISAPI Redirector log_file=c:\3rabbitz\iis\logs\isapi_redirect.%y-%m-%d.log Log level (debug, info, warn, error or trace) log_level=info Rotate the log file every day log_rotationtime=86400 Full path to the workers.properties file worker_file=c:\3rabbitz\iis\workers.properties Full path to the uriworkermap.properties file isapi_redirect.dll 설정 3
worker_mount_file=c:\3rabbitz\iis\uriworkermap.properties extension_uri=/3rabbitz/isapi_redirect.dll 에사용된 3rabbitz 값은다음단계 에서사용됩니다. 3 uriworkermap.properties 내용을입력합니다. Include default /*=ajp13_worker Exclude the static files!/resource/*=*!/resource/*=* 설정으로인하여 static 파일은 ISS 웹서버가바로처리하게됩니다. 4 workers.properties 내용을입력합니다. 윈도우에설치했을때는 workers.java_home 값에 JDK 가아닌 JRE 경로가포함되어도괜 찮습니다. 윈도우시스템속성의환경변수에있는 JRE_HOME 또는 JAVA_HOME 값을입력합 니다. 으로시작하는문장들은설정에영향을미치지않는주석입니다. workers.properties - This file is a simplified version of the workers.properties supplied with the upstream sources. The jni inprocess worker (not build in the debian package) section and the ajp12 (deprecated) section are removed. As a general note, the characters $( and ) are used internally to define macros. Do not use them in your own configuration!!! Whenever you see a set of lines such as: 4 ISS 웹서버연동
x=value y=$(x)\something the final value for y will be value\something Normaly all you will need to do is un-comment and modify the first three properties, i.e. workers.tomcat_home, workers.java_home and ps. Most of the configuration is derived from these. When you are done updating workers.tomcat_home, workers.java_home and ps you should have 3 workers configured: - An ajp13 worker that connects to localhost:8009 - A load balancer worker OPTIONS ( very important for jni mode ) workers.tomcat_home should point to the location where you installed tomcat. This is where you have your conf, webapps and lib directories. workers.tomcat_home=c:\3rabbitz\tomcat 1 workers.java_home should point to your Java installation. Normally you should have a bin and lib directories beneath it. workers.java_home=c:\program Files\Java\jdk1.7.0_55 2 You should configure your environment slash... ps=\ on NT and / on UNIX 1. 쓰리래빗츠가설치된경로아래의 tomcat 디렉터리를입력합니다. 2. JDK 가설치된위치를입력합니다. JRE 를이용하여설치한경우시스템속성의환경변수에있는 JRE_HOME 경로를입 력합니다. isapi_redirect.dll 설정 5
and maybe something different elsewhere. ps=\ ------ ADVANCED MODE ------------------------------------------------ --------------------------------------------------------------------- ------ worker list ------------------------------------------ --------------------------------------------------------------------- The workers that your plugins should create and work with worker.list=ajp13_worker ------ ajp13_worker WORKER DEFINITION ------------------------------ --------------------------------------------------------------------- Defining a worker named ajp13_worker and of type ajp13 Note that the name and the type do not have to match. worker.ajp13_worker.port=8009 worker.ajp13_worker.host=localhost worker.ajp13_worker.type=ajp13 Specifies the load balance factor when used with a load balancing worker. Note: ----> lbfactor must be > 0 ----> Low lbfactor means less work done by the worker. 6 ISS 웹서버연동
worker.ajp13_worker.lbfactor=1 Specify the size of the open connection cache. worker.ajp13_worker.cachesize ------ DEFAULT LOAD BALANCER WORKER DEFINITION ---------------------- --------------------------------------------------------------------- The loadbalancer (type lb) workers perform wighted round-robin load balancing with sticky sessions. Note: ----> If a worker dies, the load balancer will check its state once in a while. Until then all work is redirected to peer workers. worker.loadbalancer.type=lb worker.loadbalancer.balance_workers=ajp13_worker 설정값에대한자세한설명은아파치톰캣커넥트공식문서를참고하세요. C.3 ISS 관리자설정 isapi_redirect.dll 를 IIS 에서사용하기위해 ISS( 인터넷정보서비스 ) 관리자를이용하여다음처럼설정 합니다. 1 웹사이트를추가합니다. ISS 관리자설정 7
1 사이트선택후마우스우클릭메뉴에서웹사이트추가를선택합니다. 2 사이트이름은 3rabbitz로입력합니다. 응용프로그램풀은자동으로만들어집니다. 3 실제경로는쓰리래빗츠설치위치아래 web 디렉터리 ( 기본설치시 C:\3rabbitz\web) 를입력합니다. 4 호스트이름은사용할서브도메인명이있다면서브도메인명을포함하여입력합니다. 웹서버로들어오는모든서브도메인을쓰리래빗츠와연결하려면공란으로남겨둡니다. 한서버에서홈페이지와매뉴얼페이지를모두운영하고자할때서브도메인을이용합니 다. 'www.3rabbitz.com -> 홈페이지 ', 'doc.3rabbitz.com -> 쓰리래빗츠 ' 와같이서 비스하려면호스트이름에 'doc.3rabbitz.com' 를입력해야합니다. 8 ISS 웹서버연동
2 가상디렉터리를추가합니다. 5 웹사이트선택하고마우스우클릭메뉴에서가상디렉터리추가기능을선택합니다. 6 별칭에는 isapi_redirect.properties 파일의 extension_uri=/3rabbitz/isapi_redirec t.dll 에서사용된 3rabbitz를입력합니다. 7 실제경로는 isapi_redirect.dll 가위치한디렉터리를입력합니다. 별칭과실제경로는 isapi_redirect.dll 를설치, 설정할때사용한값을이용합니다. 특 별한이유가없다면예시와같이입력합니다. 3 가상디렉터리를선택하고 8 처리기매핑을더블클릭합니다. ISS 관리자설정 9
4 9 ISAPI-dll 을선택하고 10 기능사용권한편집을선택한후 11 실행권한을부여합니다. 10 ISS 웹서버연동
'ISAPI-dll' 항목이활성화되지않은경우 < 제어판 프로그램 프로그램및기능 Wind ow 기능켜기 / 끄기 > 메뉴를이용하여 ISAPI 필터, ISAPI 확장기능을켭니다. 이기능을추가하지않으면다음단계의 'ISAPI 및 CGI 제한 ' 및 'ISAPI 필터 ' 설정도할수없습니다. 5 12 좌측메뉴에서서버를선택하고 13 'ISAPI 및 CGI 제한 ' 을선택합니다. ISS 관리자설정 11
6 14 추가버튼을클릭하여 15 새로운 'ISAPI 및 CGI 제한 ' 을만듭니다. ISAPI 또는 CGI 경로는 isapi_redirect.dll 를선택하고설명은 3rabbitz 3 를입력합니다. 3. 다른이름을입력하여도괜찮습니다. 12 ISS 웹서버연동
7 16 좌측메뉴의서버를선택하고 17 'ISAPI 필터 ' 를선택합니다. 8 18 추가버튼을클릭하여 19 새로운 'ISAPI 필터 ' 를만듭니다. 필터이름은 3rabbitz 을실행파일은 isapi_redirect.dll 를입력합니다. ISS 관리자설정 13
9 ISS 를재시작합니다. 서버를재시작하면사이트는재시작됩니다. 그러나응용프로그램풀은별도로시작하여 야합니다. C.4 톰캣설정 3RABBITZ_HOME 은쓰리래빗츠를설치한디렉터리를지칭합니다. 3RABBITZ_HOME/tomcat/conf/server.xml 파일을열어서다음과같이내용을바꿉니다. <Server port="5791" shutdown="shutdown"> <Service name="catalina"> <Connector port="8009" protocol="ajp/1.3" redirectport="8443" URIEncoding="UTF-8" /> <!-- <Connector port="1975" protocol="http/1.1" connectiontimeout="20000" redirectport="8443" URIEncoding="UTF-8" /> --> <!-- 이하생략 --> </Service> </Server> 1 AJP/1.3 설정을위한 Connector 의주석을풉니다. 14 ISS 웹서버연동
work.properties 를설정할때 8009 포트번호를바꿨다면바뀐번호를사용합니다. 2 HTTP/1.1 를위한 Connector 를주석으로막습니다. 웹서버를거치지않고 1975 포트로쓰리래빗츠에접근하는것도허용하려면주석으로바 꾸지않습니다. 3 쓰리래빗츠를다시시작합니다. 쓰리래빗츠를다시시작할때변경한내용을사용합니다. 톰캣설정 15