WebDAV는 아직 죽지 않았다

2 weeks ago 10

  • 파일 저장을 위해 S3 중심의 인프라가 사실상 표준이 되었지만, 개인 프로젝트나 자가 호스팅 환경에서는 WebDAV가 여전히 유용한 대안으로 제시됨
  • 작성자는 S3의 복잡성과 종속성에 피로감을 느끼고, 단순한 인증 기반 파일 저장소로 WebDAV를 다시 활용하기 시작했다고 설명
  • WebDAV는 MacOS Finder, Windows Explorer, rclone, curl 등 다양한 도구에서 기본 지원되어 접근성이 높음
  • Apache, Nginx, Caddy 등 주요 웹서버에서 간단한 설정으로 개인별 비공개 디렉터리를 구성할 수 있으며, LDAP 인증 등과도 연동 가능
  • 클라우드 종속을 벗어나 자체 파일 관리 인프라를 단순하게 유지하려는 개발자에게 WebDAV는 여전히 실용적 선택지임

S3 중심 파일 저장의 문제점

  • FTP는 사라졌고, SFTP는 SSH 및 유닉스 인증에 과도하게 의존하는 구조로 불편함
    • AWS S3가 사실상 업계 표준이 되면서 대부분의 웹앱이 S3 연결을 전제로 설계됨
    • 이는 Amazon에는 유리하지만 다른 사용자에게는 불편을 초래함
  • 개인 프로젝트나 자가 호스팅 환경에서는 S3의 복잡한 기능이 불필요하며, 단순히 인증된 파일 저장소만 있으면 충분함
    • 작성자는 S3 사용을 중단하고 WebDAV로 전환했으며, 다른 개발자들도 같은 선택을 고려하길 권장

WebDAV가 적합한 사용자와 요구사항

  • WebDAV는 파일 시스템 수준의 HTTP 접근이 필요한 개인 사용자나 소규모 프로젝트에 적합
    • 필요 기능: 인증, 파일 쓰기, 효율적 동기화, 기본 비공개 설정, 손쉬운 공개 전환
    • 불필요 기능: 고급 ACL, 서명 URL, 버전 관리, 계층형 스토리지, 수명 주기 규칙, 쿼터 등
  • 이러한 요구는 대부분의 개인 개발자에게 공감되는 부분이며, OpenStack Swift, CEPH, Minio 같은 복잡한 시스템을 운영할 필요가 없음
  • 특히 Minio가 최근 관리 UI를 대폭 제거하고 JSON 정책 파일을 수동 작성하도록 변경하면서, 단순한 파일 저장 목적에는 비효율적임

WebDAV 접근성과 도구 지원

  • WebDAV는 다양한 운영체제와 도구에서 기본 지원
    • MacOS Finder: “서버에 연결” 메뉴에서 https://... 입력
    • Windows Explorer: “네트워크 드라이브 연결” 또는 “웹사이트 연결” 기능
    • CLI 및 앱: rclone, curl, CyberDuck, WinSCP, Filezilla
  • 많은 이들이 WebDAV를 구식으로 여기지만, 실제로는 대부분의 웹서버에서 기본 지원
    • Apache, Nginx, Caddy, Lighttpd, IIS 등에서 손쉽게 활성화 가능
    • OwnCloud, NextCloud 등에서도 WebDAV 기반 접근을 사용

WebDAV의 실제 활용 예시

  • WebDAV는 이미 CardDAV, CalDAV 형태로 연락처 및 캘린더 동기화에 사용되고 있음
    • 즉, 사용자는 자신도 모르게 WebDAV 기반 서비스를 일상적으로 이용 중
  • 작성자는 Apache 기반으로 WebDAV를 구성했으며, LDAP 인증을 연동해 사용자별 개인 디렉터리 접근을 구현
    • Caddy는 사용자별 디렉터리 분리를 더 간단히 설정할 수 있으나, Apache도 충분히 가능
    • Apache 설정은 다소 복잡하지만, 다중 사용자 환경에서 프라이버시를 보장할 수 있음

Apache 기반 WebDAV 설정 예시

  • Apache에서 필요한 모듈: mod_dav, mod_dav_fs, mod_dav_lock
    • 오래된 클라이언트 호환을 위한 BrowserMatch 설정 포함
  • 주요 설정 요소
    • DavLockDB, DavMinTimeout, DavDepthInfinity 등으로 WebDAV 동작 제어
    • AuthType Basic, AuthBasicProvider ldap 등을 통해 LDAP 인증 연동
    • RewriteEngine을 이용해 로그인한 사용자가 자신의 디렉터리만 접근하도록 제한
  • /usr/local/www/webdav 하위에 사용자명과 동일한 디렉터리를 생성하면, 해당 사용자는 인증 후 자신의 공간을 이용 가능

WebDAV 활용 사례와 확장 가능성

  • 작성자는 WebDAV를 다음과 같은 앱과 함께 사용 중
    • Joplin: 자체 서버에 노트를 동기화하는 앱
    • Keepassium: iOS/MacOS용 Keepass 클라이언트
    • VLC, Infuse: 미디어 스트리밍 및 재생
    • rclone: 정적 블로그 게시용 파일 동기화 (NFS/SMB보다 빠르고 VPN 불필요)
  • 또한 Altmount라는 새로운 프로젝트를 발견
    • Usenet에 게시된 콘텐츠를 다운로드 없이 “마운트”해 직접 접근 가능
    • 고속 Us

Read Entire Article