해커즈뉴스 / 해커대학

Donation bitcoin(기부용 비트코인 주소)

 
1Pq3K39XM5xx4CifGKgppXeavtWNNHH7K4
 
기부하신 비트코인은 "보안 취약 계층"을 위해 사용되고 있습니다.
 
 

Donation bitcoin(기부용 비트코인 주소)

 
1Pq3K39XM5xx4CifGKgppXeavtWNNHH7K4
 
기부하신 비트코인은 "보안 취약 계층"을 위해 사용되고 있습니다.
 

공지

 

1. MS 엣지 브라우저에서의 경고창은 '윈도우 디펜더'를 끄시면 됩니다.

             '윈도우 디펜더 끄기'

2. 크롬 브라우저로 접속시 나오는 악성코드 경고창은 구글 크롬의 에러, 즉 오탐(탐지 오류)이므로 무시하시면 됩니다.

3. 이 사이트는 안전하며 깨끗하다는 것을 알려 드립니다.

4. 무고한 사이트들에 대한 공룡 기업 브라우저들의 무차별적인 '탐지 오류 횡포'가 사용자들의 정보 공유의 자유를 침해하고 있습니다. 이에 대응하여 이 기업들을 상대로 소송을 준비하고 있습니다.

 




설치

자료실

APACHE 팁
이름: 해커즈뉴스
WEB Server 읽고 쓰기 (WEB-DAV)  
1. 서론

WWW 은 주로 읽기전용의 서버이다. 그래서 웹서버를
개발하는 분들은 주로 ftp나 쉘 스크립트로 파일을
올리거나 작업을 한다. 물론 좋은 기능의 드림위버등을
사용할 수 있다.

그러나 Web-DAV를 사용하면 웹서버에 바로 파일을 복사(?)
할 수 있다. 이상한 이야기 처럼 들릴것이다.

Apache 1.3 에서는 이를 위해 별도의 모듈을 설치하여야
하고 Apache 2.0 에서는 기본 모듈로 포함되어 있다.
M$ IIS 4.0, 5.0 에서는 기본적으로 옵션만 바꿔주면 지원가능하다.

클라이언트는 윈도우즈 98이상에서의 WebFolder 라는 기능을
이용하면 윈도우에서 바로 접근이 가능하고 리눅스에서는
davfs 를 이용하여 mount 하면 nfs나 smb 처럼 로컬디스크 같이
작업이 가능하다.

이 팁은 간단한 WEB-DAV 서버설치 방법과 DAVFS 의 사용방법에 대해 논한다.

M$ 제품군인 IIS 서버나 웹폴드등에 대한 설명은 하지 않는다.

2. Web-DAV란 무엇인가?

http://www.webdav.org 라는 공식 홈페이지에 보면 다음과 같이
적혀 있다.

Briefly: WebDAV stands for "Web-based Distributed
Authoring and Versioning".
It is a set of extensions to the HTTP protocol which
allows users to collaboratively edit and manage files
on remote web servers.

즉 웹기반의 분산 저작도구및 버전관리 도구라는 이야기다.

버전 관리도구란 CVS처럼 여러사람이 떨어진 곳에서 작업을
할 경우 버전을 관리해준다는 이야기이고 저작도구란
파일을 을 복사하고 디렉토리를 만들고 뭐 그런것을
할수 있다는 이야기가 되겠다.

HTTP 의 확장으로 PROPFIND, PROFPATCH, MKCOL 등의 methods
등이 추가 되어 파일 읽고 쓰기를 가능하게 해준다.

필자의 개인적인 생각으로는 HTTP 가 WEB-DAV를 조만간에
흡수하고 모든 웹서버가 DAV를 지원할것으로 생각한다.

WEB-DAV 의 장점은 바로 WEB 에 있다. 즉 웹의 발전된
모든 기능을 사용할 수 있다는 것이다. 인증, SSL 그리고
무엇보다 많이 깔려 있는 웹서버들...

그리고 요즈음 추세인 XML을 이용한 프로토클이다.

3. WEB-DAV 설치하기.

3.1 서버 설치하기

apache 1.3x 버전에서는 mod_dav 를 별도로 설치하여야 한다.
자세한 사항은 http://www.webdav.org/mod_dav/ 에 가서 읽어보면
되겠다.

apache 2.0.x 버전에는 이 모듈이 기본적으로 설치되어 있으므로
이 모듈만 활성화 해주면 된다.

./configure --ebable-dav
make
make install

3.2 서버 세팅하기

서버세팅하는 방법은 매우 간단하다.
vi httpd.conf 한다음

원하는 태그안에
DAV ON
한줄만 적어 주면 된다.

만약 내 모든 WWW 서버 디렉토리를 읽고 쓰기로 만들려면

DAV on
Options FollowSymLinks
AllowOverride None


이렇게 하면 된다.

3.3 서버 접근제어

기존의 서버 Access control 방법을 사용해서 해당하는
디렉토리의 Access control 할 수 있다. 이것이
Web-DAV 의 장점이라 할 수 있다. 기존의 익숙한, 이미 사용하고 있는
방법을 사용하면 된다.

특정한 METHOD만 일반에게 허용하고 Web-DAV에 관한 메소드만
Access Control 하고 싶으면 httpd.conf 의 테그에 대한
정보를 참조하라.

3.4 간단한 서버 시험

이제 간단한 세팅이 완료 되었으면 한번 시험해보자.
(서버만 시험해 보고 싶으면 http://simpware.com:8000/ 으로
해볼 수 있다.)

telnet my.dav.server 8080
Escape character is '^]'.
PROPFIND / HTTP/1.1
Host: localhost
Depth: 0

HTTP/1.1 207 Multi-Status
Date: Thu, 28 Jun 2001 12:18:04 GMT
Server: Apache/2.0.18 (Unix) DAV/2
Content-Length: 1093
Content-Type: text/xml; charset="utf-8"




/



1129023
1129023
Jim Whitehead


2001-06-28T11:05:44Z
Thu, 28 Jun 2001 11:05:44 GMT
"4635-1000-f1bcf200"











httpd/unix-directory

HTTP/1.1 200 OK




위와 비슷한 XML응답을 볼 수 있다면 일단 서버는 잘 동작한다.

4. DAVFS 를 이용한 마운트

이제 이 웹서버를 나의 리눅스 박스에서 마운트 해서 읽고
쓰기를 해보자.

4.1 DAVFS 설치준비

우선 커널 소스가 있어야 한다. VFS 를 사용한 커널 모듈을
컴파일하고 설치해야 하기 때문이다. 방법은 간단하다.

현재 davfs 버전은 kernel 2.4.x 환경에서 개발되어 있으므로
닭질을 하기 싫으면 kernel 2.4.x 를 받을것을 권장한다.

커널이 /usr/src/linux 에 있고 이 커널이 컴파일 되어 있고
이 컴파일된 2.4.x 버전으로 부팅되었다면 이제 davfs 모듈및
툴을 컴파일 할 준비가 되었다.


4.2 DAVFS 설치

우선 http://dav.sourceforge.net 에서 최신 버전의 davfs-x.x.x.tar.gz을
다운받은 다음 unzip , untar 한다.

그런다음 전통적인 설치 방법
./configure
make
make install

하면 된다. 마운트 관련 프로그램과 커널 모둘을 복사해야
하므로 make install 단계에서는 root 권한이 필요하다.

4.3 MOUNT

이제 커널 모듈과 마운트 관련 툴들이 설치 되었으면
앞에서 준비한 WEB-DAV 서버를 마운트 할 수 있다.

mount.davfs http://www.simpware.com:8000/ /dav

위와 같은 명령으로 http://www.simpware.com:8000/
의 서버를 /dav 디렉토리로 마운트 한다.

Access control 중이라면 -u 와 -p 를 사용하여 아이디와
비번을 지정한다.

즉 아이디 hunkim, 비번 1234 라면
mount.davfs http://www.simpware.com:8000/ /dav -uhunkim -p1234
처럼 하면 된다.

mount.davfs 는 /usr/local/sbin 디렉토리에 있으므로
PATH를 설정하거나 절대 path를 사용하면 되겠다.

알겠지만 mount는 root 만 할 수 있다.

5. 결론

5.1 다른 서버들, 클라이언트들

처음에 언급한것처럼 많은 Web-DAV서버와 클라이언트들이
개발되어 있다. 이는 본인들이 직접 삽질해보기 바란다.
http://www.webdav.org 는 처음 삽질하기에 좋은 곳이다.

5.2 DAVFS 문제해결

짜증나는 버그가 있거나 해결할 수 없는 문제가 발생하면
http://dav.sourceforge.net 에 버그를 올리거나
도움을 요청할 수 있다.

그러나, 이 프로젝트는 오픈소스이고 개발자는 매우 lazy 하므로
이 프로젝트에 참여하는것이 문제해결에 가장 빠를것이다.
                    수정/삭제     이전글 다음글    
번호제 목첨부조회
35   apache log파일을 이용한 count    2982
34   아파치 log file rotation    2924
33   아파치 mod_gzip 모듈 사용하기    3189
32   WEB Server 읽고 쓰기 (WEB-DAV)    4195
31   CODE RED 공격 로그에 남기지 말기    2964
30   무단 링크 방지하기    2819
29   CodeRed 아파치로그파일 지우기    3363
28   mod_rewrite 와 Virtual User Hosts    2986
27   Internet Explorer 6 에서 cookie 사용가능...    2735
26   apache 에서 '사이트 공사중' 표시하기    2709
25   IE6 P3P 에 대하여    3444
24   WEB Server와 DB 서버 분리해서 운영하기    3674

 
처음 이전 다음       목록