작성자 PG의 글

WebDAV(Web Distributed Authoring and Versioning)는 http를 이용해 웹서버에 저장되어 있는 파일을 여러 사용자가 편집하기 위해 고안된 프로토콜입니다.

실제로는 FTP 대용으로 많이 사용되고 있으며 운영체제에서 별도의 프로그램 없이도 WebDAV를 사용할 수 있기 때문에 시놀로지등의 NAS에서도 많이 활용하는 기능중 하나입니다.

NGINX 역시 WebDAV를 지원하며 다음과 같이 설정할 수 있습니다.

설정 환경 : 우분투 16.04 LTS

설정 전 준비

root@TUTORIAL:/# dpkg -l | grep nginx
ii nginx-common 1.10.3-0ubuntu0.16.04.2 all small, powerful, scalable web/proxy server - common files
ii nginx-full 1.10.3-0ubuntu0.16.04.2 amd64 nginx web/proxy server (standard version)
root@TUTORIAL:/#

WebDAV 설정에 앞서 설치한 NGINX 패키지의 종류를 확인해야 합니다.

NGINX는 core, common, light, full, extras 패치지로 나뉘는데 WebDAV를 사용하기 위해서는 full 또는 extras 패키지가 설치되어 있어야 합니다.

dpkg -l | grep nginx 명령어로 NGINX의 어떤 패키지가 설치되어 있는지 확인할 수 있습니다.

만일 NGINX를 컴파일로 설치했다면 위 모듈을 추가해 재컴파일 후 설치해야 합니다.

apt-get install openssl

그리고 WebDAV로 접속할 사용자 비밀번호의 암호화를 위해서 openssl 패키지가 필요합니다. 만일 설치되어 있지 않다면 위 명령어를 통해 openssl을 설치합니다.

사용자 디렉토리 설정

WebDAV를 이용해 공유할 디렉토리를 설정합니다. 디렉토리 위치는 어디든 상관없지만 www-data 유저 및 그룹에 대한 사용 권한을 가지고 있어야 합니다.

root@TUTORIAL:/home/pg# mkdir webdav
root@TUTORIAL:/home/pg# chown www-data:www-data webdav/
root@TUTORIAL:/home/pg# ll
total 32
drwxr-xr-x 4 pg       pg       4096 Apr 14 20:35 ./
drwxr-xr-x 3 root     root     4096 Dec 29 21:12 ../
-rw------- 1 pg       pg        155 Feb  4 12:19 .bash_history
-rw-r--r-- 1 pg       pg        220 Dec 29 21:12 .bash_logout
-rw-r--r-- 1 pg       pg       3771 Dec 29 21:12 .bashrc
drwx------ 2 pg       pg       4096 Dec 29 21:15 .cache/
-rw-r--r-- 1 pg       pg        655 Dec 29 21:12 .profile
-rw-r--r-- 1 pg       pg          0 Dec 29 21:16 .sudo_as_admin_successful
drwxr-xr-x 2 www-data www-data 4096 Apr 12 20:35 webdav/

예로 리눅스 사용자 기본 폴더인 /home/리눅스계정 하위에 webdav 디렉토리를 mkdir로 생성한 다음 chown 명령어로 www-data 사용자 및 그룹에 대한 권한을 설정합니다.

WebDAV 사용자 접근 권한 설정

echo "계정이름:$(openssl passwd -crypt 비밀번호)" >> /etc/nginx/.passwd.list

WebDAV 디렉토리에 접근 가능한 계정과 비밀번호를 설정합니다.

리눅스 계정과는 별개로 작동하며 위 명령어로 openssl을 통해 사용자 비밀번호를 암호화 할 수 있습니다.

지정한 계정과 암호 정보는 /etc/nginx 디렉토리에 .htpasswd 이름으로 저장됩니다.

NGINX WebDAV 설정

location /webdav {
        charset utf-8;
        alias /home/pg/webdav;
        autoindex on;
        auth_basic "WebDAV Page";
        auth_basic_user_file /etc/nginx/.passwd.list;
        dav_methods PUT DELETE MKCOL COPY MOVE;
        dav_ext_methods PROPFIND OPTIONS;
        dav_access user:rw group:rw;
        client_max_body_size 0;
        create_full_put_path on;
}

이제 NGINX를 WebDAV 프로토콜로 사용할 수 있게 설정합니다. sites-available/default 설정 파일의 server { } 블럭 안에 위 location 설정 코드를 추가합니다.

수정을 완료한 다음 service nginx reload 명령어로 NGINX를 재시작 합니다.

WebDAV 접속

RaiDrive를 이용해 NGINX WebDAV에 접속

http://IP주소/webdav 를 넷드라이브레이드라이브를 통해 네트워크 드라이브로 연결한 다음 파일을 업로드하거나 다운로드할 수 있습니다.

nginx title 03
NGINX WebDAV 설정 방법
WebDAV(Web Distributed Authoring and Versioning)는 http를 이용해 웹서버에 저장되어 있는 파일을 여러 사용자가 편집하기 위해 고안된 프로토콜입니다. 실제로는 FTP 대용으로…
iphone screen record title
[iOS 11] 아이폰 화면 녹화 설정 방법
이전 포스트에서 맥(Mac)을 아이폰에 연결한 다음 퀵타임 플레이어의 미러링으로 아이폰 화면을 녹화하는 방법에 대해 알아본 적이 있는데요. iOS11에서는 맥 없이도…
malltail amazon title
아마존 직구 배대지 몰테일 이용 방법
아마존에서 물건을 구매하는 경우 한국으로 직배송 되는 제품이 있지만 대부분은 미국 내에서만 배송이 가능하기 때문에 한국에서 물건을 받아보려면 배송대행지(이하 배대지)를…
galaxy a8 2018 apps title
갤럭시 A8(2018) 아이콘 크기 조절 방법
갤럭시A8(2018)은 플래그쉽 모델인 갤럭시S 시리즈, 갤럭시 노트 시리즈에 비해 저렴한 가격에 출시되어 젊은 친구들 뿐만 아니라 부모님에게 효도폰으로 구입하는 분들도…
galaxy a8 2018 touch sensitive title
갤럭시 A8(2018) 터치 민감도 설정 방법
스마트폰을 새로 구입하면 액정을 보호하기 위해 보호 필름을 입히게 되는데요. 강화유리 같이 두꺼운 보호 필름 같은 경우 아무래도 두께가 있기…
win7 install title
윈도우7 gpedit.msc 다운로드 및 설치 방법
윈도우7 홈 프리미엄 버전에서는 기본적으로 로컬그룹정책편집기(gpedit.msc)를 사용할 수 없습니다. 본래 로컬그룹정책편집기는 여러 사용자가 로그인해 사용하거나 Active Directory 도메인에 가입되어 있을때…
windows nginx php setting title
윈도우 NGINX PHP 연동 및 서비스 등록 방법
이전 포스트에서 윈도우에 NGINX를 설치하고 서비스에 등록하는 방법까지 알아봤는데요. NGINX를 개발 환경 또는 웹서버 환경으로 만들기 위해서 PHP를 설치해야 하는…
galaxy a8 hide apps title
갤럭시 A8(2018) 어플 숨기기 설정 방법
스마트폰은 사용자가 필요한 여러 어플을 구글 플레이 스토어에서 설치해 사용할 수 있는데요. 기본적으로 스마트폰은 개인이 사용하는 물건이지만 상황에 따라서 여자친구나…
galaxy A8 2018 Always On Display title
갤럭시 A8(2018) Always On Display 설정 방법
갤럭시S7에 처음 추가된 화면 정보 기능인 Always On Display는 대기상태에서 시간과 날짜, 카카오톡 알림등 사용자가 굳이 화면을 켜지 않고서도 간단한 정보를 알려주는…