TOMCAT SERVLET MAPPING

Web 2009. 3. 12. 09:37

tomcat - web.xml

<servlet>
<servlet-name>invoker</servlet-name>
<servlet-class>
org.apache.catalina.servlets.InvokerServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/sevlet/*</url-pattern>
</servlet-mapping>

서블릿 매핑에 대한 web.xml 구분입니다.

- 100라인 주석해제 (또는 115라인이다.)

<servlet>
<servlet-name>invoker</servlet-name>
<servlet-class>
org.apache.catalina.servlets.InvokerServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>

- 340라인 주석해제(또는 366라인)

<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>

Context 추가 (기본 경로를 변경 할 경우 - 추가는 잘 모르겠음...)

  • C:\Tomcat 5.5\conf\Catalina\localhostROOT.xml (반드시 대문자)파일 추가
  • ROOT.xml에 작성된 내용이 이 사이트의 루트 디렉터리이다.
  • ROOT.xml 의 내용은 아래 내용을 복사해 넣는다. (path 는 일단 상관없다. 먼지 머르겠다.)

<?xml version='1.0' encoding='utf-8'?>
<Context crossContext="true" docBase="C:\Documents and Settings\l\My Documents\my\Study_JSP" path="" reloadable="true">
</Context>

추가하는 방법 : 서비스이름.xml로 위의 파일을 만들면된다.

- server.xml에 다음부분을 추가만 했다.

<Host name="localhost" appBase="webapps"

unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">

<Context docBase="d:/Java/MyJSP" path="/MyJSP" reloadable="true"/>

context BaseDoc 설정하기

기본은 conf > server.xml 에 추가

넷빈은 conf/Catalina/localhost/ 안에 각각의 서비스명으로 xml 파일 만들고 그 안에 각각의 context BaseDoc 설정

[출처] 톰캣설치 및 서블릿 세팅하기|작성자 없음

    만약 모든 요청을 8080 대신 HTTP의 기본 포트인 80으로 서비스하고 싶다면

    TOMCAT_HOME/conf/server.xml 파일을 다음과 같이 수정하고 톰캣을 재시작해야 한다.

    다음을 <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->

    <Connector className="org.apache.catalina.connector.http.HttpConnector" port="8080" minProcessors="5" maxProcessors="75" acceptCount="10" debug="0"/> 에서

    <!-- Define a non-SSL HTTP/1.1 Connector on port 80 -->

    <Connector className="org.apache.catalina.connector.http.HttpConnector" port="80" minProcessors="5" maxProcessors="75" acceptCount="10" debug="0"/> 로 변경하자.

    [출처] 톰캣 사용하기 III - 톰캣(tomcat) 설치와 설정|작성자 웃음바다

    tomcat - server.xml

    설치 후위 파일을 열어 220라인에 다음을 추가

    <Context docBase="d:/Java/MyJSP" path="/MyJSP" />

    파일 변경시톰캣 리로드 안하게 설정하려면 아래와 같이 true를 추가 ( 단, 성능은 좀 떨어지게 된다.)

    <Context docBase="d:/Java/MyJSP" path="/MyJSP" reloadable="true"/>

    [3-6-1] content.xml

    대상파일 : tomcat 설치 폴더 안의 conf 폴더 안에 있는 content.xml

    XML 파일 수정 전

    XML 파일 수정 후

    content.xml 안의 Context 안에 reloadable="true"를 입력

    [3-6-2] web.xml

    대상파일 : tomcat 설치 폴더 안의 conf 폴더 안에 있는 web.xml

    CTRL+F나 편집 - 찾기에서 invoker로 검색

    제일 위의 사각형은 invoker 검색시 첨 나오는 단어, 아래의 2가지 사각형은

    이xml 파일에서 수정해야 될 내용이며 이 2가지를 지워준다.

    삭제 후 web.xml 의 내용

    편집 - 이동 메뉴를 통해 366번째 줄로 이동.

    366번째 줄과 371번째 줄에 있는 주석을 지워준다. 지우기 전

    지운 후 화면 web.xml 설정 완료



    , .
    번 :

    C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\Catalina\localhost 폴더에 ROOT.xml 파일 생성후 아래꺼 복사해 넣기

    <?xml version="1.0" ENCODING="UTF-8"?>
    <Context path="" docBase="C:\HCS\Web" debug="0" privileged="true" reloadable="true">
    <Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="localhost_log." suffix=".txt" timestamp="true"/>
    </Context>

    2번 ;

    C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\server.xml 파일 126~128번 줄 지우고 아래 꺼 붙여넣기

    <Host name="localhost" appBase="C:\HCS\Web"
    unpackWARs="true" autoDeploy="true"
    xmlValidation="false" xmlNamespaceAware="false">

    <Context path="" docBase="C:\HCS\Web" debug="0" reloadable="true">
    <Logger className="org.apache.catalina.logger.FileLogger" prefix="tmjtest_log." suffix=".txt" timestamp="true"/>
    </Context>

    참고 ;

    C:\HCS\Web -> 이부분은 내가 작업하고픈 변경할 root 디렉토리

    , .
    • 관리자 유저생성
    톰켓홈/conf/tomcat-users.xml 을 수정해서

    터미널창에서 아래와 같이 입력하고나서..
    sudo gedit /톰켓홈/conf/tomcat-users.xml

    <tomcat-users>

    <role rolename="manager"/>

    <user username="admin" password="tltmdlsvh" roles="manager"/>


    </tomcat-users>
    위의 진한부분을 입력하고 저장한다..

    • WEB Application 만들기

    터미널창에서 아래와 같이 입력하고나서..
    sudo gedit /톰켓홈/conf/server.xml

    아래와 처럼 수정한다.
    <Host name="localhost" appBase="/home/webapps"
    unpackWARs="true" autoDeploy="true"
    xmlValidation="false" xmlNamespaceAware="false">

    <Context path="/test" docBase="test" reloadable="true"/>
    </Host>


    이제 톰켓홈/webapps/root 를 /home/webapps/ 로
    /webapps/root/web-inf 를 /home/webapps/test/ 로 copy 한후

    톰켓을 restart 하고 테스트해보면 된다.

    [출처] 톰켓6 (tomcat6) 관리자 유저 생성하기|작성자 웃음바다

    , .

    centos5 geoip patch하기

    Security 2008. 7. 30. 03:06

    centos 5 용 geoip 패치 방법 및 커널 커스텀 rpm
    간략버젼입니다.
    참조에 있는 URL 들을 보시면 됩니다. 단지 기억하기 위한 한글버젼입니다.

    참조:http://irdeal.tistory.com/5 CentOS 커널 rpm 빌드하기
    위의 글의 원본이자 업데이트 본은
    http://wiki.centos.org/HowTos/Custom_Kernel 입니다.

    참조:http://www.debian-administration.org/articles/518 Country-based packet filtering with iptables

    1. yum groupinstall "Development Tools"
    2. yum install kernel-devel
    3. yum install rpm-build rpm-libs

    이정도로 개발툴은 대충 끝납니다.
    커널소스rpm 이 깔렸는지 확인합니다.

    /usr/src/redhat/SPECS 디렉에 가서 다음과 같이 실행합니다.
    rpmbuild -bp --target=`uname -m` kernel.spec
    그러면 /usr/src/redhat/BUILD 디렉토리에 커널소스가 풀리고 패치가 적용됩니다.

    커널을 rpm 으로 만들기 위해서 일단 기존의 디렉토리들을 백업해둡니다. ( 패치 파일로 만들기 위해 )

    그럼 이제 geoip 를 위해서 소스를 받아봅니다.
    커널을 위한 p-o-m 패치와 iptables 를 새로 컴파일 해야합니다.
    http://ftp.netfilter.org/pub/patch-o-matic-ng/snapshot/ 여기서 p-o-m 을 받습니다.
    http://ftp.netfilter.org/pub/iptables/ 여기서 iptables를 받습니다.

    적절한 디렉토리에 둘다 소스를 풉니다.
    p-o-m 을 먼저 깝니다. 디렉토리에 진입후에
    KERNEL_DIR=< \
    IPTABLES_DIR=< \
    ./runme --download
    를 해줍니다. ( 이부분이 현재 바뀐 부분입니다. )
    그러면 geoip등의 패치를 웹에서 받아서 패치 해줍니다.
    ( download 하지 않을 경우엔 geoip는 패치 안됩니다. )
    위와같이 하고 --download 대신에 geoip 를 넣어서 geoip 를 패치해줍니다.

    rpm용 커널의 설정파일을 복사합니다.
    cd /usr/src/redhat/BUILD/kernel-버젼/linux-버젼
    cp /usr/src/redhat/SOURCES/kernel-버젼-아키텍쳐.config .config

    커널을 설정합니다.
    make menuconfig
    위의 부분에서 geoip 만 모듈로 해주었습니다.

    패치파일을 만듭니다. diff 사용법은 검색하면 많이 나옵니다.

    그리고 .config 파일의 제일 윗 부분에 다음과 같이 적습니다.
    # i386 <-- 64비트가 아닌경우
    # x86_64 <-- 64비트인 경우만

    그리고 아까의 rpm 설정을 반대로 소스에 복사해줍니다.
    cp /usr/src/redhat/BUILD/kernel-버젼/linux-버젼/.config /usr/src/redhat/SOURCES/kernel-버젼-아키텍쳐.config

    spec 파일을 수정해줍니다.
    /usr/src/redhat/SPECS/kernel.spec 파일을 수정해줍니다.
    커널 버젼등의 수정은 알아서 하실것이고.
    패치파일을 잘 등록합니다. -__-;;; ( 너무 무책임한가.. )
    단 이때 spec에서 #define buildxen 0 로 해줍니다.
    xen에는 p-o-m 이든 뭔가 안맞는거 같은데.. 필요가 없어서 고려 않해봤습니다.

    rpmbuild -ba --target=`uname -m` kernel.spec

    으로 빌드하면 됩니다.

    출처 : http://kldp.org/node/82983

    참고 : http://www.maxmind.com/download/geoip/database/

    'Security' 카테고리의 다른 글

    웹 해킹 서버 분석과 웹쉘 대응방법 1편  (0) 2009.04.05
    Tomcat 보안 개요  (0) 2009.03.12
    MySQL DB 보안(1)  (0) 2007.06.11
    FreeBSD 보안 하드닝 Tip  (0) 2007.06.11
    SSH 보안설정  (0) 2007.06.11
    , .