톰캣을 이용해 webDAV를 설정하는 방법을 포스팅 해보겠다. 크게 어렵지는 않다.



★ 톰캣 설치



기타 포스팅을 참고하여 리눅스에 설치한다. 단지 압축파일을 받아 해제하면 되는 수준이다. 버전은 6.0.36을 사용하였다.




★ Web Application 설정파일 추가



%TOMCAT_HOME%/conf/Catalina/localhost 밑에 webDAV.xml 파일을 아래 내용으로 생성한다. 경로는 본인의 환경에 맞게 설정한다.

<?xml version="1.0" encoding="UTF-8" ?>
<Context path="/webDAV" docBase="d:/javaDE/apache-tomcat-6.0.29/webDAV" debug="0" reloadable="true" privileged="true" />




★ 톰캣의 user 추가



%TOMCAT_HOME%/conf/tomcat-users.xml 파일을 열어 다음과 같이 추가해준다. webDAV 접근시 필요한 계정이다.

<role rolename="webdav"/>
<user username="사용자명" password="패스워드" roles="webdav"/>




★ 한글 폴더명을 사용하기 위한 인코딩 변경



%TOMCAT_HOME%/conf/server.xml 파일을 열어 <Connector> 태그를 찾아 다음과 같이 인코딩을 추가한다.

<Connector port="xxxx" protocol="HTTP/1.1"\
               connectionTimeout="20000"
               redirectPort="8443"
               URIEncoding="UTF-8" />




★ webDAV로 사용될 폴더 추가



webDAV로 사용될 폴더를 임의로 생성한다. 여기서는 %TOMCAT_HOME% 폴더 밑에 webDAV라는 폴더를 생성하도록 한다. 그리고 %TOMCAT_HOME%/webDAV 폴더 밑에 WEB-INF 라는 폴더도 생성한다. 다음과 같이 폴더구조가 생겨야 한다.

%TOMCAT_HOME%/webDAV/WEB-INF




★ web.xml 파일 복사



%TOMCAT_HOME%/webapps/ROOT/WEB-INF 밑에 web.xml 파일을 복사하여 %TOMCAT_HOME%/webDAV/WEB-INF 폴더에 넣는다.




★ web.xml 파일 수정



%TOMCAT_HOME%/webDAV/WEB-INF/web.xml 파일을 vi에디터로 열어 다음 내용을 추가한다. <web-app> 태그의 자식노드로 추가되어야 한다.

    <servlet>
        <servlet-name>webdav</servlet-name>
        <servlet-class>org.apache.catalina.servlets.WebdavServlet</servlet-class>
        <init-param>
            <param-name>debug</param-name>
            <param-value>0</param-value>
        </init-param>
        <init-param>
            <param-name>listings</param-name>
            <param-value>true</param-value>
        </init-param> 
        <!-- Read-Write Access Settings --> 
        <init-param>
            <param-name>readonly</param-name>
            <param-value>false</param-value>
        </init-param>
    </servlet> 
    <!-- URL Mapping --> 
    <servlet-mapping>
        <servlet-name>webdav</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
    
    <login-config>
        <auth-method>BASIC</auth-method>
        <realm-name>Login for webDAV!</realm-name>
    </login-config>

    <security-constraint>
        <web-resource-collection>
            <web-resource-name>webDAV</web-resource-name>
            <url-pattern>/*</url-pattern>
            <http-method>PROPFIND</http-method>
            <http-method>PROPPATCH</http-method>
            <http-method>COPY</http-method>
            <http-method>MOVE</http-method>
            <http-method>LOCK</http-method>
            <http-method>UNLOCK</http-method>
            <http-method>GET</http-method>
            <http-method>POST</http-method>
        </web-resource-collection>
        <auth-constraint>
            <role-name>webdav</role-name>
        </auth-constraint>
    </security-constraint>

    <security-role>
        <description>WebDAV User</description>
        <role-name>webdav</role-name>
    </security-role>





★ 톰캣 시작 및 접속 테스트



%TOMCAT_HOME%/bin/startup.sh 를 실행하여 톰캣을 기동하고 웹브라우져에서 http://서버IP/webDAV로 접속해본다.

저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Life 스토리


티스토리 툴바