기술 가이드

Fedora 9에서 lighttpd로 WebDAV 설정

4 min read 서버 업데이트됨 21 Oct 2025
Fedora 9에서 lighttpd로 WebDAV 설정
Fedora 9에서 lighttpd로 WebDAV 설정

이 가이드는 Fedora 9 서버에서 lighttpd의 mod_webdav를 활성화해 WebDAV(웹 기반 분산 저작 및 버전 관리)를 설정하는 단계별 절차를 제공합니다. 패키지 설치, 모듈 활성화, 가상호스트 생성, 디렉터리 권한 설정, 간단한 인증 파일 생성 및 기본 테스트와 문제해결 팁을 포함합니다.

전제

  • 예제에서는 IP 주소가 192.168.0.100인 Fedora 9 서버를 사용합니다.
  • 루트 권한 또는 sudo 권한이 필요합니다.
  • Fedora 9은 오래된 배포판이므로 가능하면 최신 배포판 사용을 권장합니다.

WebDAV란 한 줄 정의

WebDAV는 HTTP 확장의 집합으로, 사용자가 서버의 파일을 원격에서 열고 편집하거나 업로드/다운로드할 수 있게 합니다.

1 WebDAV 설치

다음 명령으로 lighttpd와 htpasswd 도구가 포함된 httpd-tools 패키지를 설치합니다:

yum install lighttpd httpd-tools

설치 후 lighttpd가 부팅 시 자동 시작하도록 시스템 시작 링크를 만들고 서비스를 시작합니다:

chkconfig --levels 235 lighttpd on  
/etc/init.d/lighttpd start

그다음 /etc/lighttpd/lighttpd.conf 파일을 열어 server.modules 항목에 mod_alias, mod_webdav, mod_auth를 추가합니다. 중요: mod_webdav가 mod_auth보다 먼저 나와야 합니다.

vi /etc/lighttpd/lighttpd.conf

| [...] server.modules = ( # "mod_rewrite", # "mod_redirect", "mod_alias", "mod_access", # "mod_cml", # "mod_trigger_b4_dl", "mod_webdav", "mod_auth", # "mod_status", # "mod_setenv", # "mod_fastcgi", # "mod_proxy", # "mod_simple_vhost", # "mod_evhost", # "mod_userdir", # "mod_cgi", # "mod_compress", # "mod_ssi", # "mod_usertrack", # "mod_expire", # "mod_secdownload", # "mod_rrdtool", "mod_accesslog" ) [...] |

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

/etc/init.d/lighttpd restart

Important: mod_webdav가 활성화되어 있어야 WebDAV 관련 설정이 작동합니다.

2 가상호스트 생성 (예제)

이제 예제 도메인 www.example.com을 위한 vhost를 생성합니다. 실제 환경에서는 이미 있는 vhost에 WebDAV를 추가하면 됩니다.

서버 문서 루트 디렉터리를 만들고 소유권을 lighttpd 사용자로 변경합니다:

mkdir -p /var/www/web1/web  
chown lighttpd:lighttpd /var/www/web1/web

다음으로 /etc/lighttpd/lighttpd.conf 끝 부분에 vhost를 추가합니다:

vi /etc/lighttpd/lighttpd.conf

| [...] $HTTP["host"] == "www.example.com" { server.document-root = "/var/www/web1/web" } |

변경 사항을 적용하려면 lighttpd를 다시 시작합니다:

/etc/init.d/lighttpd restart

3 WebDAV 활성화(권장 구성 항목)

vhost 수준이나 URL 조건 내에서 mod_webdav를 활성화해야 합니다. 예를 들어 vhost 블록 안에 아래와 같이 추가할 수 있습니다:

$HTTP["host"] == "www.example.com" {
  server.document-root = "/var/www/web1/web"
  webdav.activate = "enable"
}

참고: 구성 키 이름은 lighttpd의 버전에 따라 다를 수 있습니다. 구성 테스트 시 /var/log/lighttpd/error.log를 확인하세요.

4 WebDAV 접근 제어 (기본 인증)

WebDAV 공유에 대한 인증을 추가하려면 htpasswd로 암호 파일을 생성하고 lighttpd 설정에서 참조합니다.

사용자와 암호 파일을 생성하는 방법(예: 사용자 alice):

htpasswd -c /etc/lighttpd/webdav.password alice

-c 옵션은 파일을 새로 만듭니다. 기존 파일에 사용자를 추가하려면 -c를 빼고 실행합니다:

htpasswd /etc/lighttpd/webdav.password bob

lighttpd 설정 예시 (vhost 내부에 추가):

$HTTP["host"] == "www.example.com" {
  server.document-root = "/var/www/web1/web"
  webdav.activate = "enable"
  "auth.backend" = "plain"
  "auth.backend.plain.userfile" = "/etc/lighttpd/webdav.password"
  "auth.require" = (
    "/" => (
      "method"  => "basic",
      "realm"   => "WebDAV",
      "require" => "valid-user"
    )
  )
}

중요: 위 auth 설정의 정확한 구문은 lighttpd 버전에 따라 다를 수 있습니다. 설정 적용 후 에러 로그를 확인하고 서비스 재시작을 잊지 마세요.

/etc/init.d/lighttpd restart

5 파일 권한 및 소유권

WebDAV를 통해 파일 업로드/편집이 가능하려면 문서 루트의 소유권과 권한이 올바르게 설정되어야 합니다. 예제에서는 이미 lighttpd:lighttpd 소유로 설정했습니다.

추가 권장 명령:

chown -R lighttpd:lighttpd /var/www/web1/web
chmod -R 750 /var/www/web1/web

필요에 따라 디렉터리별로 그룹 쓰기 권한을 부여하거나 ACL을 사용하세요.

6 테스트 및 문제해결

  • 클라이언트: cadaver(콘솔 WebDAV 클라이언트), OS 내장 WebDAV 연결(예: Windows 네트워크 드라이브 연결), 또는 웹 브라우저(제한적) 사용.
  • 간단한 테스트(예: PROPFIND 요청)에는 curl을 사용할 수 있습니다:
curl -u alice -X PROPFIND http://www.example.com/
  • 로그 확인: /var/log/lighttpd/error.log 및 access.log를 확인하세요.
  • 모듈이 로드되지 않았거나 설정 구문 오류가 있으면 lighttpd가 시작되지 않거나 에러를 기록합니다.

문제가 발생하면 다음을 점검하세요:

  • server.modules에 mod_webdav가 포함되어 있는가?
  • mod_webdav가 mod_auth보다 먼저 나오는가?
  • vhost 블록 내에 webdav.activate 설정이 있는가?
  • 권한 및 소유권이 올바른가?
  • 인증 파일의 경로와 형식이 올바른가?

7 보안 권장사항

  • 가능한 경우 HTTPS(SSL/TLS)를 통해 WebDAV를 제공하세요. WebDAV는 인증 정보를 평문으로 전송할 수 있습니다.
  • Fedora 9은 매우 오래된 배포판입니다. 최신 보안 업데이트와 지원을 위해 최신 배포판으로 마이그레이션을 권장합니다.
  • 사용자별 접근 제어가 필요하면 디렉터리별 auth.require를 사용하거나 백엔드를 LDAP/DB로 전환을 검토하세요.

대안 및 추가 고려사항

  • Apache(httpd)는 WebDAV 지원이 잘 되어 있어 복잡한 권한/인증을 다루기 쉽습니다.
  • Nginx는 기본적으로 WebDAV의 일부 기능을 제공하지만 쓰기 기능에 제한이 있을 수 있으므로 모듈/설정 검토가 필요합니다.
  • 대규모/협업 환경에서는 전용 파일 동기화/공유 솔루션(예: Nextcloud 등)을 고려하세요.

관리자/개발자 체크리스트

  • lighttpd 및 httpd-tools 설치
  • server.modules에 mod_webdav 추가(위치 확인)
  • vhost에 webdav.activate 설정 추가
  • 문서 루트 소유권/권한 설정
  • /etc/lighttpd/webdav.password 생성 및 검증
  • HTTPS 구성(가능하면)
  • 기능 테스트(curl, cadaver, 클라이언트)
  • 로그 모니터링 및 문제 해결

용어집 (한 줄)

  • WebDAV: HTTP 확장을 사용해 원격에서 파일을 편집하고 관리하는 프로토콜입니다.

요약

이 문서는 Fedora 9에서 lighttpd로 WebDAV를 설정하는 기본 절차를 다룹니다. 핵심 단계는 패키지 설치, server.modules에 mod_webdav 추가, 가상호스트에 webdav.activate 설정, 문서 루트 권한 정리, htpasswd로 인증 구성, 그리고 HTTPS를 통한 보안 강화입니다. 문제가 발생하면 로그와 모듈 순서, 파일 권한을 먼저 확인하세요.

발표용 요약(한 문장): Fedora 9에서 lighttpd의 WebDAV를 활성화하려면 mod_webdav를 로드하고 vhost에 webdav.activate를 설정한 뒤 인증·권한·HTTPS를 점검하세요.

공유하기: X/Twitter Facebook LinkedIn Telegram
저자
편집

유사한 자료

Debian 11에 Podman 설치 및 사용하기
컨테이너

Debian 11에 Podman 설치 및 사용하기

Apt-Pinning 간단 소개 — Debian 패키지 우선순위 설정
시스템 관리

Apt-Pinning 간단 소개 — Debian 패키지 우선순위 설정

OptiScaler로 FSR 4 주입: 설치·설정·문제해결 가이드
그래픽 가이드

OptiScaler로 FSR 4 주입: 설치·설정·문제해결 가이드

Debian Etch에 Dansguardian+Squid(NTLM) 구성
네트워크

Debian Etch에 Dansguardian+Squid(NTLM) 구성

안드로이드 SD카드 설치 오류(Error -18) 완전 해결
안드로이드 오류

안드로이드 SD카드 설치 오류(Error -18) 완전 해결

KNetAttach로 원격 네트워크 폴더 연결하기
네트워킹

KNetAttach로 원격 네트워크 폴더 연결하기