기술 가이드

lighttpd에서 WebDAV용 가상 호스트 구성

3 min read 서버 업데이트됨 21 Sep 2025
lighttpd에서 WebDAV용 가상 호스트 설정
lighttpd에서 WebDAV용 가상 호스트 설정

개요

이 문서는 /var/www/web1 경로를 WebDAV 공유로 노출하기 위해 lighttpd의 가상 호스트를 구성하는 방법을 설명합니다. 주요 작업은 다음과 같습니다: WebDAV 사용자 인증 파일 생성, 파일 권한 설정, vhost 설정 변경, lighttpd 재시작, 클라이언트 연결 테스트.

Important: 아래 명령은 루트 권한으로 실행해야 합니다.

4 WebDAV를 위한 가상 호스트 구성

먼저 WebDAV 인증에 사용할 비밀번호 파일을 생성합니다. 사용자 test를 추가할 때 -c 스위치를 사용하면 파일이 없을 때 새로 생성됩니다:

htpasswd -c /var/www/web1/passwd.dav test

명령 실행 후 test 사용자의 비밀번호를 묻는 프롬프트가 표시됩니다. 기존 passwd.dav 파일이 이미 있다면 -c 스위치를 사용하지 마십시오. -c는 파일을 처음부터 다시 생성하므로 기존 사용자 목록이 모두 사라집니다.

Important: 파일을 덮어쓰지 않도록 -c 사용 여부를 확인하세요.

다음으로 /var/www/web1/passwd.dav 파일의 소유권과 권한을 변경해 루트와 lighttpd 그룹 구성원만 접근할 수 있게 합니다:

chown root:lighttpd /var/www/web1/passwd.dav  
chmod 640 /var/www/web1/passwd.dav

그런 다음 vhost 설정을 편집합니다:

vi /etc/lighttpd/lighttpd.conf

아래와 같이 vhost 블록을 추가하거나 수정합니다:

| [...] $HTTP["host"] == "www.example.com" { server.document-root = "/var/www/web1/web" alias.url = ( "/webdav" => "/var/www/web1/web" ) $HTTP["url"] =~ "^/webdav($|/)" { dir-listing.activate = "enable" webdav.activate = "enable" webdav.is-readonly = "disable" auth.backend = "htpasswd" auth.backend.htpasswd.userfile = "/var/www/web1/passwd.dav" auth.require = ( "" => ( "method" => "basic", "realm" => "webdav", "require" => "valid-user" ) ) } } |

alias.url 지시어와 $HTTP[“url”] 정규식은 /webdav 경로로 접근할 때만 WebDAV 기능을 활성화합니다. vhost의 다른 URL은 기존의 일반 HTTP로 동작합니다.

vhost 변경 후 lighttpd를 재시작합니다:

/etc/init.d/lighttpd restart

Note: 시스템에 따라 서비스 재시작 명령이 다를 수 있습니다(systemd 사용 시 systemctl restart lighttpd).

5 WebDAV 테스트

명령줄 WebDAV 클라이언트인 cadaver를 설치합니다 (예: Fedora/Red Hat 계열):

yum install cadaver

WebDAV 동작 테스트:

cadaver http://www.example.com/webdav/

프로그램이 사용자 이름을 물으면 test와 비밀번호를 입력합니다. 접근 허가가 되면 WebDAV 셸 접속이 허용됩니다. 종료하려면 quit를 입력합니다:

[root@server1 ~]# cadaver http://www.example.com/webdav/  
Authentication required for webdav on server `www.example.com':  
Username: test  
Password:  
dav:/webdav/> quit  
Connection to `www.example.com' closed.  
[root@server1 ~]#

성공하면 위와 같은 흐름을 확인할 수 있습니다.

6 Windows XP에서 WebDAV 공유 연결

자세한 설명은 원문 가이드를 참고하세요. WebDAV URL에 포트를 명시하면 Windows XP가 일반 사용자 이름(예: test)을 올바르게 처리하는 경우가 많습니다. 예를 들어:

http://www.example.com:80/webdav

일부 환경에서는 포트를 명시하지 않으면 Windows XP가 NTLM 형식의 사용자명(예: www.example.com\test)을 요구할 수 있습니다. 포트 포함 URL을 시도해 보세요.

7 GNOME(리눅스)에서 WebDAV 연결

GNOME(파일 관리자)을 이용한 연결 방법도 별도의 가이드에서 설명되어 있습니다. 일반적으로 ‘서버에 연결’에서 WebDAV URL을 입력하고 인증 정보를 제공하면 마운트됩니다.

8 참고 링크


추가: 문제 해결 체크리스트

  • 인증 실패(401)
    • /var/www/web1/passwd.dav 파일이 올바른 위치인지 확인
    • 파일 소유권과 권한이 root:lighttpd, 640인지 확인
    • lighttpd가 읽기 권한을 가진 그룹으로 실행 중인지 확인
  • 접근 권한 문제
    • vhost의 server.document-root와 alias.url 경로가 정확한지 확인
    • selinux가 활성화된 경우(예: Enforcing) 관련 컨텍스트를 허용하도록 설정하거나 점검
  • 디렉터리 목록이나 업로드 불가
    • webdav.is-readonly 설정이 “disable”로 되어 있는지 확인
    • 웹서버 로그(/var/log/lighttpd/)에서 관련 에러 확인

역할별 체크리스트

  • 시스템 관리자
    • passwd.dav 생성과 권한 설정 수행
    • lighttpd vhost 구성 및 재시작
    • 방화벽/SELinux 설정 검토
  • Windows 사용자
    • 포트 포함 URL로 연결 시도
    • 필요 시 자격증명 관리자에서 서버 자격증명 제거 후 재시도
  • 리눅스(GNOME) 사용자
    • 파일 관리자에서 ‘서버에 연결’을 통해 URL 입력
    • 명령줄에서는 cadaver로 연결 테스트

간단한 절차 요약

  1. htpasswd로 비밀번호 파일 생성(이미 있으면 -c 사용 금지)
  2. chown/chmod로 파일 권한 설정
  3. lighttpd.conf에서 vhost 및 /webdav 블록 추가
  4. 서비스 재시작
  5. cadaver 등으로 접속 테스트

짧은 용어 정리

  • WebDAV: HTTP 기반의 원격 웹 파일 관리 확장
  • htpasswd: Apache 계열에서 사용하는 사용자 비밀번호 파일 생성 도구
  • cadaver: 명령줄 WebDAV 클라이언트
  • lighttpd: 경량 웹 서버

Notes: 이 가이드는 보안 설정의 기본을 다루며, 운영 환경에서는 TLS(HTTPS) 사용과 더 강력한 인증/권한 정책 적용을 권장합니다.

요약

  • /var/www/web1/passwd.dav를 htpasswd로 생성하고 권한을 적절히 설정하세요.
  • vhost에서 alias.url 및 WebDAV 블록을 추가해 /webdav 경로에 대해 WebDAV를 활성화하세요.
  • cadaver로 동작을 확인하고, Windows XP 연결 시 포트를 명시해 보세요.
공유하기: X/Twitter Facebook LinkedIn Telegram
저자
편집

유사한 자료

컴퓨터에 USB 포트 추가하는 방법
하드웨어

컴퓨터에 USB 포트 추가하는 방법

Photoshop 프로그램 오류 해결 가이드
그래픽 도구

Photoshop 프로그램 오류 해결 가이드

lighttpd에서 WebDAV용 가상 호스트 설정
서버

lighttpd에서 WebDAV용 가상 호스트 설정

YouTube 검색 기록 보기·삭제·자동삭제 가이드
프라이버시

YouTube 검색 기록 보기·삭제·자동삭제 가이드

스냅챗에서 사라진 스테릭 복구 방법
앱 가이드

스냅챗에서 사라진 스테릭 복구 방법

Clonezilla로 CentOS 7 디스크 이미지 생성 및 암호화
시스템 백업

Clonezilla로 CentOS 7 디스크 이미지 생성 및 암호화