Debian 8에서 Lighttpd와 함께 WebDAV를 설치하는 방법(Jessie)

Debian 8에서 Lighttpd와 함께 WebDAV를 설치하는 방법(Jessie)

2022-10-19 last update

5 minutes reading storage web server lighttpd debian
이 가이드는 Debian 8(Jessie) 서버에서 Lighttpd로 WebDAV를 설정하는 방법을 설명합니다. WebDAV는 Web-based Distributed Authoring and Versioning의 약자이며 사용자가 FTP를 통해 다운로드/업로드할 필요가 없도록 Lighttpdd 서버에서 직접 파일을 편집할 수 있도록 하는 HTTP 프로토콜의 확장 세트입니다. 물론 WebDAV를 사용하여 파일을 업로드 및 다운로드할 수도 있습니다.

1 서문


저는 여기에서 IP 주소가 192.168.1.100인 데비안 8 서버를 사용하고 있습니다. 내 설정은 Debian minimal server tutorial 을 기반으로 하지만 아직 웹 서버를 실행하지 않는 데비안 시스템은 괜찮을 것입니다.

2 WebDAV 설치


다음과 같이 lighttpd(아직 설치되지 않은 경우), lighttpd WebDAV 모듈 및 apache2-utils 패키지(나중에 WebDAV 공유에 대한 암호 파일을 생성하는 데 필요한 도구 htpasswd 포함)를 설치할 수 있습니다.
apt-get -y install lighttpd lighttpd-mod-webdav apache2-utils
그런 다음/var/run/lighttpd 디렉토리가 www-data 사용자 및 그룹의 소유인지 확인해야 합니다. 이 디렉토리에는 WebDAV에 필요한 SQLite 데이터베이스가 포함됩니다.
chown www-data:www-data /var/run/lighttpd/
다음으로 mod_auth 및 mod_webdav 모듈을 활성화합니다.
lighty-enable-mod auth
lighty-enable-mod webdav
나중에 Lighttpd를 다시 로드합니다.
service lighttpd force-reload

3 가상 호스트 생성


이제/var/www/web1/web 디렉토리에 Lighttpd 가상 호스트(www.example.com)를 생성하겠습니다. WebDAV를 활성화하려는 가상 호스트가 이미 있는 경우 이 자습서를 상황에 맞게 조정해야 합니다.
먼저/var/www/web1/web 디렉토리를 만들고 lighttpd 사용자(www-data)를 해당 디렉토리의 소유자로 만듭니다.
mkdir -p /var/www/web1/web
chown www-data:www-data /var/www/web1/web
그런 다음/etc/lighttpd/lighttpd.conf를 열고 파일 끝에 다음 가상 호스트를 추가합니다.
nano /etc/lighttpd/lighttpd.conf
[...]
$HTTP["host"] == "www.example.com" {
  server.document-root = "/var/www/web1/web"
}
그런 다음 lighttpd를 다시 시작합니다.
service lighttpd restart

4 WebDAV용 가상 호스트 구성


이제 사용자 테스트를 사용하여 WebDAV 암호 파일/var/www/web1/passwd.dav를 생성합니다(존재하지 않는 경우 -c 스위치가 파일 생성):
htpasswd -c /var/www/web1/passwd.dav test
사용자 테스트를 위한 암호를 입력하라는 메시지가 표시됩니다.
(/var/www/web1/passwd.dav가 이미 존재하는 경우 -c 스위치를 사용하지 마십시오. 처음부터 파일을 다시 생성하므로 해당 파일의 모든 사용자를 잃게 됩니다!)
이제 root와 www-data 그룹의 구성원만 액세스할 수 있도록/var/www/web1/passwd.dav 파일의 권한을 변경합니다.
chown root:www-data /var/www/web1/passwd.dav
chmod 640 /var/www/web1/passwd.dav
이제/etc/lighttpd/lighttpd.conf에서 가상 호스트를 다음과 같이 수정합니다.
nano /etc/lighttpd/lighttpd.conf
$HTTP["host"] == "www.example.com" {
  server.document-root = "/var/www/web1/web"
  alias.url = ( "/webdav" => "/var/www/web1/web" )
  $HTTP["url"] =~ "^/webdav($|/)" {
    webdav.activate = "enable"
    webdav.is-readonly = "disable"
dir-listing.activate = "enable" webdav.sqlite-db-name = "/var/run/lighttpd/lighttpd.webdav_lock.db" 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를 호출할 때 WebDAV가 호출되지만 여전히 전체 문서 루트에 액세스할 수 있습니다. 호스트. 해당 가상 호스트의 다른 모든 URL은 여전히 ​​"일반"HTTP입니다.
나중에 Lighttpd를 다시 시작하십시오.
service lighttpd restart

5 WebDAV 테스트


이제 명령줄 WebDAV 클라이언트인 cadaver를 설치합니다.
apt-get -y install cadaver
WebDAV가 작동하는지 테스트하려면 다음을 입력하십시오.
cadaver http://www.example.com/webdav/
사용자 이름을 묻는 메시지가 표시되어야 합니다. test를 입력한 다음 사용자 테스트의 암호를 입력합니다. 모든 것이 잘되면 WebDAV가 정상적으로 작동하고 있음을 의미하는 액세스 권한이 부여되어야 합니다. 종료를 입력하여 WebDAV 셸을 종료합니다.
[email protected]:/home/administrator# 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.
[email protected]:/home/administrator#

6 링크


  • WebDAV: http://www.webdav.org/
  • Lighttpd: http://www.lighttpd.net/
  • 데비안: http://www.debian.org/