티스토리 뷰

회사 파일공유 서버를 최초 윈도우XP 파일 공유를 사용하고 있었는데
공유수 제한인 10개 문제와 파일을 1회에 1명만 열어 볼 수 있는 파일락 문제로
대안을 생각 하던 중 FTP와 WebDAV 방식을 생각하게 되었는데
결론적으로 다중유저의 파일 수정시의 신뢰성을 위해 수정시 파일락을 지원하는 WebDAV를 설정하기로 결정하였다.
서버는 버벅이는 IIS 6 보다는 Apache를 선택하였다.

윈도우용 Apache 2.x 는 http://www.apachelounge.com/download/ 에서 다운받는다.

C:\ 루트에 압축을 풀면 Apache24 와 같은 폴더가 나타난다.
C:\Apache 폴더로 이름을 변경하였다. (선택사항)

일단 환경 설정을 한다. 포트는 8008을 사용하기로 하고 설정하였다.

conf/httpd.conf

(텍스트 편집기에서 Apache24 를 모두 Apache로 치환하였다.)
아래 항목들의 주석 해제 및 설정

ServerRoot "c:/Apache"
Listen 8008

LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_lock_module modules/mod_dav_lock.so

ServerAdmin admin@example.com
ServerName 127.0.0.1:8008

Include conf/extra/httpd-dav.conf


conf/extra/httpd-dav.conf

이 파일 상단에 보면 httpd.conf 에서 주석 해제해야 할 modules 목록이 나온다.

Alias /uploads "d:/temp/uploads"

<Directory "d:/temp/uploads">
    Dav On

Order Allow,Deny
Allow from all

AuthType Digest
AuthName "WebDAV"

# You can use the htdigest program to create the password database:
#   htdigest -c "c:/Apache/user.passwd" DAV-upload admin

AuthUserFile "c:/Apache/users.htpasswd"
AuthGroupFile "c:/Apache/groups.htgroup"
AuthDigestProvider file

Options FollowSymLinks Indexes
Require valid-user

# 보편적 읽기 접근 허용, 쓰기는 admin 사용자에 한정.

    <RequireAny>

        Require method GET POST OPTIONS
        Require user admin

    </RequireAny>

</Directory>


다음으로, Apache 폴더 하위에 var 폴더를 만든다.

웹서버 시작

Win + R > cmd > bin/httpd.exe

오류가 있다면 위의 환경설정 파일들을 다시 고쳐본다.

접근 사용자 추가 

bin\htdigest.exe -c ..\users.htpasswd WebDAV myid@domain.com

C:\Apache\users.htpasswd 파일은 자동 생성된다.

사용자 추가를 마친 후 추가가 잘 되었는지 users.htpasswd 파일을 텍스트 편집기로 열어 검증한다.

이후부터는 -c 옵션을 빼고

bin\htdigest.exe ..\users.htpasswd WebDAV myid2@domain.com

와 같이 사용자를 추가하면 된다.

접근 사용자 그룹 설정

텍스트 편집기로 c:\Apache\groups.htgroup 파일을 생성하고 아래와 같은 형식으로 사용자 설정

admins: myid@domain.com admin2@domain.com
users: user1@domain.com user2@domain.com user1@domain2.com

각 사용자명은 공백으로 구분.

웹서버 재시작

bin/httpd.exe -k restart

아무 문제가 없다면 실행취소 하고 웹서버를 서비스로 실행하자.

윈도우 클라이언트에서 접속

Win + E > 탐색기가 뜨면 '네트워크' 마우스 오른쪽 > 네트워크 드라이브 연결
폴더: [입력란]

또는

Win + E > 탐색기가 뜨면 '내 컴퓨터' 오른쪽 창 빈곳에서 마우스 오른쪽 > 네트워크 위치 추가
인터넷 또는 네트워크 주소: [입력란]

에 웹서버 WebDAV 주소(에: http://mydomain.com)를 입력하고 [다음] > 계정 아이디와 암호 입력하고 [마침]

웹서버를 서비스로 등록&실행

bin/httpd.exe -k install

자동 시작되지 않은 경우
Win + R > services.msc 에서 Apache 2.x 서비스 실행


TIP1. 웹서비스 모니터링

bin/ApacheMonitor.exe 실행 후 서버 입력.

바로가기를 시작프로그램에 등록.


TIP2. 사용자 암호 변경

bin\htdigest.exe ..\users.htpasswd WebDAV myid@domain.com
Password: 변경할 암호 입력


TIP3. 사용자 삭제

bin\htpasswd -D ..\users.htpasswd user2@domain.com


댓글