Webdav 및 가상호스트 설정하기

앞서 설정한 FTP와 유사하지만 HTTP(HTTPS)를 사용한 전송방식인 Webdav를 구현해보도록 하겠다.

FTP를 사용해도 대부분의 파일전송과 서비스를 이용하는데 크게 무리는 없겠지만

HTTPS를 이용한 보안접속을 통한다면 좀 더 안전한 파일공유 수정을 할 수 있다고 생각된다.

Webdav에 대한 자세한 정보

차세대 프로토콜 WebDAV 가능성

Webdav 위키백과

우선적으로 Webdav를 구현하기 위해서는 아파치 웹서버가 필요하다.

sudo apt-get install apache2

명령을 입력해주면 간단하게 Apache2를 설치할 수 있다.

그 후

sudo a2enmod dav_fs

명령을 통해 dav_fs를 활성화 시켜주고

sudo /etc/init.d/apache2 restart

명령으로 Apache 서버를 재시작 시켜준다.

그 후 webdav에 접속할 유저 명단을 만들어 주어야하는데

htpasswd -c /etc/apache2/webdav.pwd <유저이름>

명령을 통해 webdav.pwd를 만들 수 있고 유저를 추가하기 위해서는

htpasswd /etc/apache2/webdav.pwd <유저이름>

명령을 이용하면 유저를 계속해서 추가해나갈 수 있다.

유저목록을 모두 생성했다면

cd /etc/apache2/sites-available
sudo vim webdav.conf

명령을 통해 webdav 설정파일을 만들어 준다. 그 후 아래의 코드를 참고해 Samba설정과 유사하게 각각의 폴더를 설정한다.

<VirtualHost *:80>
 ServerName webdav.test.com
 DocumentRoot /ShareDirectory

 <Directory /ShareDirectory>
 <Limit GET PROPFIND OPTIONS REPORT>
 Require valid-user
 </Limit>
 </Directory>

 <Directory /ShareDirectory/only-admin-rw>
 <Limit GET PROPFIND OPTIONS REPORT>
 Require user admin
 </Limit>
 <LimitExcept GET PROPFIND OPTIONS REPORT>
 Require user admin
 </LimitExcept>
 </Directory>

 <Directory /ShareDirectory/user-ro>
 <Limit GET PROPFIND OPTIONS REPORT>
 Require valid-user
 </Limit>
 <LimitExcept GET PROPFIND OPTIONS REPORT>
 Require user admin
 </LimitExcept>
 </Directory>

 <Directory /ShareDirectory/user-rw>
 <Limit GET PROPFIND OPTIONS REPORT>
 Require valid-user
 </Limit>
 <LimitExcept GET PROPFIND OPTIONS REPORT>
 Require valid-user
 </LimitExcept>
 </Directory>

 <Location />
 DAV On
 AuthType Basic
 AuthName "WebDAV"
 AuthUserFile webdav.pwd
 </Location>
</VirtualHost>
<webdav 설정 설명>

설정을 모두 마쳤다면

sudo apensite webdav
sudo /etc/init.d/apache2 restart

명령을 통해 webdav를 활성화시켜주고 apache서버를 재시작해주면 기본적인 webdav설정은 모두 끝마쳤다.

하지만 webdav와 nextcloud등의 다양한 기능들을 설정하기위해 설정한 가상호스트를 사용하기 위해 도메인관리서비스(DNSZi, DNSEver 등..)을 통해서 CNAME을 설정해야 한다.

이를 통해 XXX.test.com과 같은 도메인으로 test.com에 바로 연결할 수 있다.

하나의 주소를 통해서 모든 기능에 대해 접속을 한다면 구분이 힘들뿐만 아니라 추후에 접속할때에도 포트설정등에 번거로움이 있다.

그래서 Apache2를 이용해서 가상호스트를 설정하여 사용하도록 한다. (위에서 볼 수 있는 webdav.con내의 ServerName 설정을 통해서)

가상호스트를 이용한다면 접속한 도메인에 따라서 동일한 서버에서도 다른 여러개의 사이트를 구현할 수 있다.

이를 통해서 가상호스트를 구현해 하나의 NAS를 이용해 다양한 서비스를 구현할 수 있다.

<CNAME 설정>

위와 같이 설정을 하면 XXX.test.com을 입력하면 test.com으로 연결되는 것을 확인 할 수 있다. (ping이나 서비스등을 이용해 쉽게 확인할 수 있다.)

만약 적용되지 않았다면 DNS서버에 적용될때까지 기다리면 접속되는 것을 확인할 수 있다.

webdav를 통해 확인하려면 webdav용 클라이언트를 사용하거나 wget, curl명령을 이용해 확인해야한다.

다음팟플레이어가 설치되어있다면 alt+F12를 눌러 간단하게 webdav를 통해 접속해볼 수 있다.

[ezcc]

One thought on “Webdav 및 가상호스트 설정하기

답글 남기기

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.