톰캣 5.5버전을 받아서 서비스를 시작하려고 bin 폴더 밑에 있는 tomcat5w.exe 실행시 오류


톰캣을 설치방식이 아닌, copy시 %TOMCAT_HOME%\bin\tomcat5w.exe 서비스 등록하기

 

bin/service.bat cmd 에서 아래실행

등록 : service.bat install tomcat5

삭제 : service.bat remove tomcat5

 

tomcat5w.exe 를 실행


'java IDE > tomcat' 카테고리의 다른 글

[tomcat] 콘솔에서 tomcat 실행하기  (0) 2013.04.10
Posted by airlueos
,

프로젝트를 이클립스를 통하지 않고 톰켓을 통해 구동시켜보자

이클립스를 통해서 실행 할 경우보다 훨씬 가벼운 구동 확인 가능!!


1. 해당 프로젝트를 톰캣이 설치된 경로 webapps 밑에 넣는다.

2. cmd 창을 띄워 톰캣을 구동 시킨다.

이때, JAVA_HOME이나 JRE_HOME이 지정되지 않으면 지정하라는 에러창이 나온다.


3. 톰캣 로그를 통해 실행 기록을 체크할 수 있다.


4. 실행파일로 생성한 다음 실행할 경우별도로 CATALINA_HOME 설정 필요

Posted by airlueos
,

1. 에러 메세지
    Cannot create a server using the selected type

2. 방법
    경로: .metadata/.plugins/org.eclipse.core.runtime/.setting 안에 있는

org.eclipse.wst.server.core.prefs
org.eclipse.jst.server.tomcat.core.prefs

        파일을 삭제한다.

Posted by airlueos
,

출처: http://blog.daum.net/question0921/766


■ 톰캣에 SSL 인증서 생성 방법

 

톰캣의 SSL 설정은 server.xml 설정파일에서 수정하며 된다. 우선 톰캣에 SSL설정을 지정하기 전에 인증서 생성 방식에 대해 알아보자. 톰캣은 인증서로 JKS(Java KeyStore) 포맷만 사용 가능하다. JKS는 PKCS11 형태와 PKCS12 형태의 key를 사용한다.(PKCS12는 국제 표준입니다.) 이 포맷은 자바의 JDK 의 Keytool 로 생성 가능하다.

 

keytool 을 사용하여 인증서를 생성하는 방법은 아래와 같다.

 

{자바 홈}/bin 이동

> keytool -genkey -alias tomcat -keyalg RSA

 

인증서는 Openssl로 생성할 수도 있고 여러 방법이 있다.

 

 

 

■ 톰캣에 SSL 보안서버 적용방법

 

톰캣에 SSL 적용 방법은 두 가지가 있다.

 

1. JSSE : 자바 실행 환경에서 SSL 적용(독자적인 톰캣 설정)

2. APR : Apache Portable Runtime. 아파치와 톰캣이 연동되어 있는 상태에서 아파치 인증서를 톰캣에서 사용하는 방법 

 

 아파치와 톰캣에 연동되어 있고 아파치에 SSL이 적용되어 있다면 톰캣도 아파치의 SSL 인증서를 사용하여 SSL를 구축할 수 있다. 이 방법은 다음과 같다. 

 

 

 

■ APR 을 적용한 server.xml 파일 수정

 

APR은 아파치와 톰캣이 연동되어 있을 때 사용하는 방법으로 아파치에 openssl 을 사용한 인증서를 SSL에 등록한 후 아파치에 SSL이 동작할 때 사용할 수 있다. APR은 아파치 인증서를 톰캣이 같이 사용하는 방법을 제공한다. 우선 APR은 필요한 패키지가 있다. 필요한 패키지는 "libapr1-dev" 패키지와 openssl에서 사용하는 "libssl-dev" 패키지가 설치되어 있어야 적용이 가능하다. 톰캣에 APR을 적용하여 SSL을 동작하게 하는 방법은 다음과 같다.

 

server.xml 파일을 연 후 </Engine> 태그위에 아래와 같이 작성한다. 이 때 <Listener>태그가 먼저 와야 인증서를 제대로 읽을 수 있다. <Connector> 태그에 SSLCertificateFile 속성에 crt 파일의 경로를 지정하고 SSLCertificateKeyFile 속성에 .key 파일의 경로를 지정한다.

 

    <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" SSLRandomSeed="builtin" />

    <Connector port="443" maxHttpHeaderSize="8192"

                maxThreads="150"

                enableLookups="false" disableUploadTimeout="true"

                acceptCount="100" scheme="https" secure="true"

                SSLEnabled="true"

                SSLCertificateFile="C:/server/Apache2.2/conf/ssl/my-server.crt"

                SSLCertificateKeyFile="C:/server/Apache2.2/conf/ssl/my-server.key"

    /> 

</Engine> 

 

실제 수정한 내용 

 

주의할 점은 <Listener> 태그가 앞에 와야 crt 파일과 key 파일로 지정한 경로를 제대로 읽을 수 있다.

 

위와 같이 설정을 마쳤다면 URL 주소의 프로토콜 값을 "http:" 와 "https:"를 사용하여 같은 페이지를 요청하여 인증서 방식이 동작하면 설정이 완료된 것이다.

'java IDE > apache' 카테고리의 다른 글

[apache] Apache2 + Open SSL 설정  (0) 2013.04.03
[apache] 톰캣, SSL연동  (0) 2013.04.02
[apache] SSL 설정  (0) 2013.04.02
[apache] 톰캣 연동설정  (0) 2013.04.02
[apache] 설치  (0) 2013.04.02
Posted by airlueos
,

출처: http://blog.daum.net/question0921/


아파치에 PHP 모듈이 등록되어 있고, JSP를 사용하기 위해 톰캣이 설치되어 있다고 가정한 후 설명한다. 아파치와 톰캣을 연동하기 위해서는 mod_jk.so 모듈을 아파치에 등록한 후 톰캣이 필요한 경우 톰캣에 요청 처리를 위임하는 방법으로 동작한다. mod_jk.so 모듈을 아파치에 등록하면 URL 요청을 분석하여 해당 URL에 톰캣에서 지정한 경우 톰캣에서 요청을 위임 받아 처리하는 방법이다.

 

 

설치 환경

Apache 2.2 버전  /  Tomcat 6.0 버전

 

설치 방법은 두 가지가 있다.

1. 톰캣 auto-configure 방식

2. 아파치 httpd.conf 설정 파일에 직접 모듈을 등록하는 방법 

 

 

 

* mod_jk.so 파일 다운로드

 

 위의 사이트로 접속한 후 해당 운영체제를 선택한다. so 파일을 다운로드 할 때 아파치 서버의 버전을 확인하고 해당 아파치 서버 버전의 so 파일을 다운로드해야 한다. 아파치 서버 버전이 다른 so 파일은 모듈을 등록해도 아파치 서버가 읽지 않는다. 이 때 아파치 서버는 "The requested operation has failed" 에러를 출력한다. 에러 로그를 볼 때는 아파치의 "test configure" 실행파일을 실행하면 된다.

 

 

 

1. 톰캣 auto-configure 방식

 

 톰캣 ${톰캣 경로}/conf/server.xml  파일을 열어 <Engine ... ></Engine>태그 사이에 다음과 같이 모듈을 등록한다.

 

<Engine name="Catalina" defaultHost="localhost">

    <Listener className="org.apache.jk.config.ApacheConfig" modJk="C:/server/Apache2.2/modules/mod_jk.so"/>
</Engine>

 

 <Listener> 태그를 추가한 후 톰캣을 다시 실행한다. 톰캣을 다시 실행한 후 " ${톰캣 경로}/conf/ "에 /auto 와 /jk 디렉토리가 생성된다. /auto 디렉토리에서 mod_jk.conf 파일을 /jk 디렉토리로 복사한다.

 

 

mod_jk.conf 파일 내용

########## Auto generated on Mon Apr 05 15:05:08 KST 2010##########

<IfModule !mod_jk.c>
    LoadModule jk_module "C:/server/Apache2.2/modules/mod_jk.so"
</IfModule>


<VirtualHost localhost>
    ServerName localhost

    JkMount /manager ajp13
    JkMount /manager/* ajp13

    JkMount /docs ajp13
    JkMount /docs/* ajp13

    JkMount /examples ajp13
    JkMount /examples/* ajp13

    JkMount /host-manager ajp13
    JkMount /host-manager/* ajp13
</VirtualHost>

 

 mod_jk.conf 파일을 보면 요청 URL의 매핑을 정의하고 있다. 매핑 URL 주소 뒤에 ajp13이라는 값은 리다이렉트시 어떤 톰캣 컨터이너를 선택하는가를 결정하는 것이다. ajp12는 톰캣 3버전이고 ajp13은 톰캣 4버전~5버전까지이다. 앞의 URL 값이 들어온다면 리다이렉트 시킨다는 것이다.

 

 

톰캣을 재 시작한 후 아파치 설정 파일 수정 ( mod_jk.so 파일을 아파치에 등록 )

${아파치 경로}/conf/httpd.conf

 

아파치 설정 파일의 맨 마지막에 생성된 mod_jk.conf 설정 파일을 등록

<IfModule ssl_module>
    SSLRandomSeed startup builtin
    SSLRandomSeed connect builtin
</IfModule>

 

Include C:\server\tomcat-6.0.26\conf\jk\mod_jk.conf

 

 모듈을 등록했으면 아파치를 다시 시작한다. 이 때 에러가 발생하지 않고 정상적으로 동작한다면 아파치와 톰캣은 연동이 된 것이고 mod_jk.conf 파일에서 지정한 URL값으로 들어오는 요청은 톰캣 컨테이너가 처리하게 된다.

 

worker.properties  파일 작성 ( ${톰캣 경로}/conf/jk )

## workers.properties register ##

workers.tomcat_home = C:\server\tomcat-6.0.26
workers.java_home = C:\server\Java\jdk1.6.0_19

 

worker.list = ajp13
worker.ajp13.port = 8009
worker.ajp13.host = localhost
worker.ajp13.type = ajp13

 

/*.jsp = worker1

 

톰캣과 아파치를 재 시작하여 제대로 연동이 되었나 확인해 본다.

 

 

 

 이 때 루트 경로를 공유하고자 할 경우가 있다. 즉, 아파치 PHP 루트 경로와 톰캣 JSP 루트 경로를 같이 사용하여 .php 일 경우 PHP 루트 경로를 기준으로 문서를 요청할 수 있고 .jsp 인 경우 톰캣의 루트 경로를 기준으로 문서를 요청할 수 있게 만들고 싶다면아파치 웹 서버의 루트 경로를 .jsp 톰캣의 루트 경로를 지정해야 하며 mod_jk.conf 파일에 jk 모듈을 사용하지 않을 시 경로를 지정해 주어야 한다.

 

# All URL goes to tomcat except the one containing /home
  <VirtualHost *:80>
      ServerName testxxx.mysys
      DocumentRoot /www/testxxx/htdocs

  # Use SetEnvIf to st no-jk when /home/ is encountered
      SetEnvIf Request_URI "/home/*" no-jk

  # Now /home will goes to /home/dataxxx/
      Alias /home /home/dataxxx/

      <Directory "/home/dataxxx">
          Options Indexes MultiViews
          AllowOverride None
          Order allow,deny
          Allow from all
      </Directory>

      JkMount /* myssys-xxx

  </VirtualHost>

 

 즉, jk 모듈을 사용하는 모듈을 기본 문서 루트로 잡고 jk모듈을 사용하지 않는 경우(PHP)는 가상으로 문서를 요청하게 해야 한다.

'java IDE > apache' 카테고리의 다른 글

[apache] Apache2 + Open SSL 설정  (0) 2013.04.03
[apache] 톰캣 연동 후 아파치 SSL 인증서로 톰캣 SSL 연동  (0) 2013.04.02
[apache] SSL 설정  (0) 2013.04.02
[apache] 톰캣 연동설정  (0) 2013.04.02
[apache] 설치  (0) 2013.04.02
Posted by airlueos
,

출처: http://blog.daum.net/question0921/


아파치에 PHP 모듈이 등록되어 있고, JSP를 사용하기 위해 톰캣이 설치되어 있다고 가정한 후 설명한다. 아파치와 톰캣을 연동하기 위해서는 mod_jk.so 모듈을 아파치에 등록한 후 톰캣이 필요한 경우 톰캣에 요청 처리를 위임하는 방법으로 동작한다. mod_jk.so 모듈을 아파치에 등록하면 URL 요청을 분석하여 해당 URL에 톰캣에서 지정한 경우 톰캣에서 요청을 위임 받아 처리하는 방법이다.

 

 

설치 환경

Apache 2.2 버전  /  Tomcat 6.0 버전

 

설치 방법은 두 가지가 있다.

1. 톰캣 auto-configure 방식

2. 아파치 httpd.conf 설정 파일에 직접 모듈을 등록하는 방법 

 

 

 

* mod_jk.so 파일 다운로드

 

 위의 사이트로 접속한 후 해당 운영체제를 선택한다. so 파일을 다운로드 할 때 아파치 서버의 버전을 확인하고 해당 아파치 서버 버전의 so 파일을 다운로드해야 한다. 아파치 서버 버전이 다른 so 파일은 모듈을 등록해도 아파치 서버가 읽지 않는다. 이 때 아파치 서버는 "The requested operation has failed" 에러를 출력한다. 에러 로그를 볼 때는 아파치의 "test configure" 실행파일을 실행하면 된다.

 

 

 

1. 톰캣 auto-configure 방식

 

 톰캣 ${톰캣 경로}/conf/server.xml  파일을 열어 <Engine ... ></Engine>태그 사이에 다음과 같이 모듈을 등록한다.

 

<Engine name="Catalina" defaultHost="localhost">

    <Listener className="org.apache.jk.config.ApacheConfig" modJk="C:/server/Apache2.2/modules/mod_jk.so"/>
</Engine>

 

 <Listener> 태그를 추가한 후 톰캣을 다시 실행한다. 톰캣을 다시 실행한 후 " ${톰캣 경로}/conf/ "에 /auto 와 /jk 디렉토리가 생성된다. /auto 디렉토리에서 mod_jk.conf 파일을 /jk 디렉토리로 복사한다.

 

 

mod_jk.conf 파일 내용

########## Auto generated on Mon Apr 05 15:05:08 KST 2010##########

<IfModule !mod_jk.c>
    LoadModule jk_module "C:/server/Apache2.2/modules/mod_jk.so"
</IfModule>


<VirtualHost localhost>
    ServerName localhost

    JkMount /manager ajp13
    JkMount /manager/* ajp13

    JkMount /docs ajp13
    JkMount /docs/* ajp13

    JkMount /examples ajp13
    JkMount /examples/* ajp13

    JkMount /host-manager ajp13
    JkMount /host-manager/* ajp13
</VirtualHost>

 

 mod_jk.conf 파일을 보면 요청 URL의 매핑을 정의하고 있다. 매핑 URL 주소 뒤에 ajp13이라는 값은 리다이렉트시 어떤 톰캣 컨터이너를 선택하는가를 결정하는 것이다. ajp12는 톰캣 3버전이고 ajp13은 톰캣 4버전~5버전까지이다. 앞의 URL 값이 들어온다면 리다이렉트 시킨다는 것이다.

 

 

톰캣을 재 시작한 후 아파치 설정 파일 수정 ( mod_jk.so 파일을 아파치에 등록 )

${아파치 경로}/conf/httpd.conf

 

아파치 설정 파일의 맨 마지막에 생성된 mod_jk.conf 설정 파일을 등록

<IfModule ssl_module>
    SSLRandomSeed startup builtin
    SSLRandomSeed connect builtin
</IfModule>

 

Include C:\server\tomcat-6.0.26\conf\jk\mod_jk.conf

 

 모듈을 등록했으면 아파치를 다시 시작한다. 이 때 에러가 발생하지 않고 정상적으로 동작한다면 아파치와 톰캣은 연동이 된 것이고 mod_jk.conf 파일에서 지정한 URL값으로 들어오는 요청은 톰캣 컨테이너가 처리하게 된다.

 

worker.properties  파일 작성 ( ${톰캣 경로}/conf/jk )

## workers.properties register ##

workers.tomcat_home = C:\server\tomcat-6.0.26
workers.java_home = C:\server\Java\jdk1.6.0_19

 

worker.list = ajp13
worker.ajp13.port = 8009
worker.ajp13.host = localhost
worker.ajp13.type = ajp13

 

/*.jsp = worker1

 

톰캣과 아파치를 재 시작하여 제대로 연동이 되었나 확인해 본다.

 

 

 

 이 때 루트 경로를 공유하고자 할 경우가 있다. 즉, 아파치 PHP 루트 경로와 톰캣 JSP 루트 경로를 같이 사용하여 .php 일 경우 PHP 루트 경로를 기준으로 문서를 요청할 수 있고 .jsp 인 경우 톰캣의 루트 경로를 기준으로 문서를 요청할 수 있게 만들고 싶다면아파치 웹 서버의 루트 경로를 .jsp 톰캣의 루트 경로를 지정해야 하며 mod_jk.conf 파일에 jk 모듈을 사용하지 않을 시 경로를 지정해 주어야 한다.

 

# All URL goes to tomcat except the one containing /home
  <VirtualHost *:80>
      ServerName testxxx.mysys
      DocumentRoot /www/testxxx/htdocs

  # Use SetEnvIf to st no-jk when /home/ is encountered
      SetEnvIf Request_URI "/home/*" no-jk

  # Now /home will goes to /home/dataxxx/
      Alias /home /home/dataxxx/

      <Directory "/home/dataxxx">
          Options Indexes MultiViews
          AllowOverride None
          Order allow,deny
          Allow from all
      </Directory>

      JkMount /* myssys-xxx

  </VirtualHost>

 

 즉, jk 모듈을 사용하는 모듈을 기본 문서 루트로 잡고 jk모듈을 사용하지 않는 경우(PHP)는 가상으로 문서를 요청하게 해야 한다.


'java IDE > apache' 카테고리의 다른 글

[apache] Apache2 + Open SSL 설정  (0) 2013.04.03
[apache] 톰캣 연동 후 아파치 SSL 인증서로 톰캣 SSL 연동  (0) 2013.04.02
[apache] 톰캣, SSL연동  (0) 2013.04.02
[apache] SSL 설정  (0) 2013.04.02
[apache] 설치  (0) 2013.04.02
Posted by airlueos
,