[2013-08-09 업데이트]
내용 중에 권한설정 부분이 누락된 것이 있어서 급히 보충하였습니다.
특정디렉토리에서 읽기/쓰기가 가능하도록 설정하는 부분입니다.
2번 항목을 참고하세요.
웹서버도 설치를 했으므로 이제 원래 목적인 WebDAV를 지원하는 스마트폰 앱(nplayer 등)에서 동영상 등을 볼 수 있도록 WebDAV도 설정을 해보자.
WebDAV(Web Distributed Authoring and Versioning)은 NFS(Netwrok File System)나 SMB(Samba)같은 것을 대신해 웹상에서 읽기와 쓰기가 가능한 HTTP의 확장기능으로 웹상에서 파일전송이 가능하다.
※ 참고 : https://wiki.archlinux.org/index.php/WebDAV
http://cafe.naver.com/pogolinux/1049
http://tldp.org/HOWTO/Apache-WebDAV-LDAP-HOWTO/
0. WebDAV vs FTP
잠시 이해를 돕기 위해 WebDAV와 FTP의 차이점에 대해 인터넷 상의 글을 옮겨본다.
1. WebDAV는 하나의 TCP 연결을 사용하기 때문에 방화벽, NAT와 프록시 등을 우회하기 위한 설정이 쉽다.
2. 크기가 작은 파일들을 다량으로 전송할 때는 각각의 파일에 대한 연결을 만들 필요가 없기 때문에 FTP에 비해 조금 빠르다.
3. gzip 압축은 HTTP를 위한 표준이지만 FTP에서는 아니다.
4. HTTP는 FTP에서는 정의되지 않은 다양한 인증방법이 있다. 예를 들어, NTLM과 Kerberos 인증은 HTTP와 FTP에서는 공용이지만 FTP에서는 서버와 클라이언트가 모두 사용하지 않는 한 이용이 어렵다.
5. WebDAV는 부분 전송을 지원하고 FTP에서는 부분전송이 어렵다.
하지만 SFTP(SSH File Transfer Protocol)는 위에서 말한 WebDAV의 장점들 뿐 아니라 WebDAV보다 좀더 풍부한 특징들이 있어 관리자나 개발자들이 선호하는 경향이 있다.
1. 설정하기
선행되어야 할 것은 HTTP 프로토콜을 이용하는 것이므로 당연히 웹서버(여기서는 아파치 서버)가 구축되어 있어야 한다.
아래 설치안내에서 아파치 서버 부분만 이용해도 된다.
포고플러그 시리즈4에 아치리눅스 사용하기 (8) - 아파치 웹서버+DB+PHP+phpMyAdmin 설치하기
httpd.conf를 열어 ServerRoot "/etc/httpd" 라고 되어 있는 부분 다음 정도에 아래 내용을 추가한 뒤 저장 후 빠져나온다.
nano /etc/httpd/conf/httpd.conf
#WebDAV
DAVLockDB /home/httpd/DAV/DAVLock
Alias /dav "[내 외장하드 경로]"<Directory "[내 외장하드 경로]">DAV OnAllowOverride NoneOptions Indexes FollowSymLinksIndexOptions NameWidth=* #웹브라우저에서 접속 시 긴 파일명 등도 제대로 보인다.Order allow,denyAllow from allAddDefaultCharset utf-8 #한글표시가 제대로 되도록 한다.IndexOptions Charset=utf-8 #한글표시가 제대로 되도록 한다.</Directory>
ps -ef | grep httpdroot 29173 1 0 Aug08 ? 00:00:05 /usr/bin/httpd -k starthttp 29174 29173 0 Aug08 ? 00:00:00 /usr/bin/httpd -k starthttp 29175 29173 0 Aug08 ? 00:00:03 /usr/bin/httpd -k starthttp 29176 29173 0 Aug08 ? 00:00:01 /usr/bin/httpd -k starthttp 29177 29173 0 Aug08 ? 00:00:01 /usr/bin/httpd -k starthttp 29178 29173 0 Aug08 ? 00:00:02 /usr/bin/httpd -k starthttp 29179 29173 0 Aug08 ? 00:00:03 /usr/bin/httpd -k starthttp 29180 29173 0 Aug08 ? 00:00:02 /usr/bin/httpd -k starthttp 29183 29173 0 Aug08 ? 00:00:03 /usr/bin/httpd -k starthttp 29184 29173 0 Aug08 ? 00:00:02 /usr/bin/httpd -k starthttp 29185 29173 0 Aug08 ? 00:00:02 /usr/bin/httpd -k starthttp 29186 29173 0 Aug08 ? 00:00:02 /usr/bin/httpd -k startroot 32606 32427 0 10:04 pts/0 00:00:00 grep httpd
mkdir -p /home/httpd/DAVchown -R http:http /home/httpd/DAV #쓰기가 가능해진다.
mkdir -p [외장하드 경로]/davchmod -R 755 [외장하드 경로]/davchown -R nobody.nobody [외장하드 경로]/davsystemctl restart httpd
nano /etc/httpd/conf/extra/httpd-default.conf#ServerTokens FullServerTokens Prod#ServerSignature OnServerSignature Offsystemctl restart httpd
htpasswd -c /etc/httpd/conf/passwd webdav (webdav에는 원하는 사용자명을 넣으면 된다.)
nano /etc/httpd/conf/httpd.conf<Directory "[내 외장하드 경로]">DAV OnAllowOverride NoneOptions Indexes FollowSymLinksIndexOptions NameWidth=*Order allow,denyAllow from allAddDefaultCharset utf-8IndexOptions Charset=utf-8AuthName "WebDAV" (WebDAV는 원하는 문구로 수정가능)AuthType Basic (plain 인증방식에서는 Basic을 digest 인증방식에서는 Digest 사용)AuthUserFile /etc/httpd/conf/passwdRequire user webdav (앞서 만든 사용자명과 일치시켜준다.)</Directory>systemctl restart httpd
'리눅스 > 포고플러그' 카테고리의 다른 글
포고플러그 시리즈4에 아치리눅스 사용하기 (10) - 그누보드 설치하기 (0) | 2022.10.04 |
---|---|
포고플러그 시리즈4에 아치리눅스 사용하기 (4-1) - transmission 감시폴더 및 외부 업로드방법 (0) | 2022.10.04 |
포고플러그 시리즈4에 아치리눅스 사용하기 (8) - 아파치 웹서버+mySQL+PHP+phpMyAdmin 설치하기 (0) | 2022.10.04 |
포고플러그 시리즈4에 아치리눅스 사용하기 (7) - 부팅 USB 메모리 백업해두기 (0) | 2022.10.04 |
포고플러그 시리즈4에 아치리눅스 사용하기 (6) - htop 및 webmin 설치하기 (0) | 2022.10.04 |