앞서 설정한 FTP와 유사하지만 HTTP(HTTPS)를 사용한 전송방식인 Webdav를 구현해보도록 하겠다.
FTP를 사용해도 대부분의 파일전송과 서비스를 이용하는데 크게 무리는 없겠지만
HTTPS를 이용한 보안접속을 통한다면 좀 더 안전한 파일공유 수정을 할 수 있다고 생각된다.
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>
설정을 모두 마쳤다면
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를 이용해 다양한 서비스를 구현할 수 있다.
위와 같이 설정을 하면 XXX.test.com을 입력하면 test.com으로 연결되는 것을 확인 할 수 있다. (ping이나 서비스등을 이용해 쉽게 확인할 수 있다.)
만약 적용되지 않았다면 DNS서버에 적용될때까지 기다리면 접속되는 것을 확인할 수 있다.
webdav를 통해 확인하려면 webdav용 클라이언트를 사용하거나 wget, curl명령을 이용해 확인해야한다.
다음팟플레이어가 설치되어있다면 alt+F12를 눌러 간단하게 webdav를 통해 접속해볼 수 있다.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
One thought on “Webdav 및 가상호스트 설정하기”