상세 컨텐츠

본문 제목

037. Raspberry Pi 라즈베리 파이 - WEBDAV 설치

raspberrypi/raspbian

by ZelKun 2018. 11. 7. 00:24

본문

반응형


NAS 안쓰는 지라 필요가 없었지만 (onedrive, dropbox, email 충분했는데)

DevonThink 잘안쓰긴해도 어느덧 10G정도되니 DB 백업하기가 만만치 않아지고 있어

cloud 백업 옵션중 WEBDAV 보여 설치해서 사용해보기로 했습니다

 

Apache에서 webdav 지원한다니 apache 설치해 줍니다

참고한 사이트들을 보면 lighttpd apache 나뉘는데

어짜피 전에했던거 복구할라면 apache 해야되니 apache 진행했습니다

복구를안해놔서 뭐할라면 다새로 깔아야하는 신세...

 

업데이트 하고 apache 설치

sudo apt-get update && sudo apt-get upgrade -y

sudo apt-get install -y apache2

 

webdav 사용을 위한 설정을 할려고했더니...

apache 설치하고 설정할게 많음...이라 쓰고 뒤로는 귀찮다고 읽는다

일단 apache2 설치하고 mod_jk 까지 해놓고 다시옴....

 

  • apache 모듈확인

참고한 사이트에서는 apachectl -D DUMP_MODULES | grep dav 실행해서 설정확인을 하니 따라해줍니다

pi@rasp-dev:~ $ apachectl -D DUMP_MODULES | grep dav

pi@rasp-dev:~ $ 

아무것도 안나옴...

일단 하라는데로 해봅니다

sudo a2enmod dav_fs

pi@rasp-dev:~ $ sudo a2enmod dav_fs

Considering dependency dav for dav_fs:

Enabling module dav.

Enabling module dav_fs.

To activate the new configuration, you need to run:

  systemctl restart apache2

pi@rasp-dev:~ $ apachectl -D DUMP_MODULES | grep dav

 dav_module (shared)

 dav_fs_module (shared)

pi@rasp-dev:~ $ sudo apachectl restart

뭔가 나오네요 재시작도 하라니 해줍니다

 

그리고 파일이 저장될 디렉토리를 만들어서 www-data 계정에 위임합니다

외장하드에 연결할거지만 일단 테스트니

외장하드에 파티션도 나눠야하고 할게많아지는군...

일단 /mnt 위치에 webdav 디렉토리를 만들어줬습니다

pi@rasp-dev:~ $ sudo mkdir /mnt/webdav

pi@rasp-dev:~ $ ls -la /mnt

total 140

drwxr-xr-x  4 root root   4096 Oct 28 21:29 .

drwxr-xr-x 22 root root   4096 Jun 27 10:31 ..

drwxrwxrwx  1 root root 131072 Jan  1  1970 svn

drwxr-xr-x  2 root root   4096 Oct 28 21:29 webdav

pi@rasp-dev:~ $ 

timemachine, git, svn 존재했던 과거와는달리... svn 복구해놨다는...

 

pi@rasp-dev:~ $ sudo chown -R www-data. /mnt/webdav/

pi@rasp-dev:~ $ ls -al /mnt

total 140

drwxr-xr-x  4 root     root       4096 Oct 28 21:29 .

drwxr-xr-x 22 root     root       4096 Jun 27 10:31 ..

drwxrwxrwx  1 root     root     131072 Jan  1  1970 svn

drwxr-xr-x  2 www-data www-data   4096 Oct 28 21:29 webdav

pi@rasp-dev:~ $ 

외장하드연결하면 root 속할 webdav 디렉토리

 

그리고 아파치 패스워드 설정도 하라니 해줍니다

htpasswd -c /mnt/webdav/webdav.pwd 사용할ID

pi@rasp-dev:~ $ sudo htpasswd -c /mnt/webdav/passwd.dav pi

New password: 

Re-type new password: 

Adding password for user pi

pi@rasp-dev:~ $ sudo chown www-data /mnt/webdav/passwd.dav

일단 pi 만들어 봅니다

 

 

이제 apache site 설정을 변경해야하는데 /* 전부 tomcat으로 보냈더니

rewrite 설정을 어떻게 해야하나 막막해지기 시작...

 

  • 아래는 참고사이트에서 제공한 설정

NameVirtualHost *
<VirtualHost *>
        ServerAdmin webmaster@localhost

DocumentRoot /var/www/web1/web/
        <Directory /var/www/web1/web/>
                Options Indexes MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

Alias /webdav /var/www/web1/web

<Location /webdav>
           DAV On
           AuthType Basic
           AuthName "webdav"
           AuthUserFile /var/www/web1/passwd.dav
           Require valid-user
       </Location>

</VirtualHost>

 

고민할것 없이 port 하나더 추가하기로

81 포트를 ports.conf 써넣어줍니다

/etc/apache2/ports.conf

pi@rasp-dev:/etc/apache2 $ sudo vim ports.conf

 

# If you just change the port or add more ports here, you will likely also

# have to change the VirtualHost statement in

# /etc/apache2/sites-enabled/000-default.conf

 

Listen 80

Listen 81

 

<IfModule ssl_module>

        Listen 443

</IfModule>

 

<IfModule mod_gnutls.c>

        Listen 443

</IfModule>

 

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

~                                                                                                                                          5,1           All

그리로 webdav.conf 만들고 내용을 수정합니다

기존 설정파일을 복사해서 수정하는걸 추천..

pi@rasp-dev:/etc/apache2/sites-enabled $ ls

000-default.conf.bk  rasp-dev.conf  webdav.conf

pi@rasp-dev:/etc/apache2/sites-enabled $ sudo vim webdav.conf 

 

 

  1 <VirtualHost *:81>

  2         # The ServerName directive sets the request scheme, hostname and por    t that

  3         # the server uses to identify itself. This is used when creating

  4         # redirection URLs. In the context of virtual hosts, the ServerName

  5         # specifies what hostname must appear in the request's Host: header     to

  6         # match this virtual host. For the default virtual host (this file)     this

  7         # value is not decisive as it is used as a last resort host regardle    ss.

  8         # However, you must set it for any further virtual host explicitly.

  9         #ServerName www.example.com

 10         ServerName rasp-dev

 11         ServerAdmin pi@rasp-dev

 12 

 13         DocumentRoot /mnt/webdav/

 14         <Directory /mnt/webdav/>

 15                 Options Indexes MultiViews

 16                 AllowOverride None

 17                 Order allow,deny

 18                 allow from all

 19         </Directory>

 20 

 21         Alias /webdav /mnt/webdav

 22         <Location />

 23 #        <Location /webdav>

 24            DAV On

 25            AuthType Basic

 26            AuthName "webdav"

 27            AuthUserFile /mnt/webdav/passwd.dav

 28            Require valid-user

 29        </Location>

 30 

:set nu                                                       25,1          25%

 

DocumentRoot, Directory 새로만든 디렉토리로 변경

포트를 추가해서 Alias 크게 의미가 없습니다

기본포트를 같이 쓰면 몰라도...

 

그럼 재시작 하기전에 새로만든 설정을 site-enabled 링크로 추가해줍니다

pi@rasp-dev:~ $ cd /etc/apache2/sites-available/

pi@rasp-dev:/etc/apache2/sites-available $ ls -al

total 24

drwxr-xr-x 2 root root 4096 Oct 28 21:05 .

drwxr-xr-x 8 root root 4096 Oct 28 21:25 ..

-rw-r--r-- 1 root root 1332 Sep 20  2017 000-default.conf

-rw-r--r-- 1 root root 6338 Apr  6  2018 default-ssl.conf

-rw-r--r-- 1 root root 1399 Oct 28 21:04 rasp-dev.conf

pi@rasp-dev:/etc/apache2/sites-available $ sudo cp rasp-dev.conf webdav.conf

pi@rasp-dev:/etc/apache2/sites-available $ sudo vim webdav.conf 

pi@rasp-dev:/etc/apache2/sites-available $ cd ../sites-enabled/

pi@rasp-dev:/etc/apache2/sites-enabled $ sudo ln -s ../sites-available/webdav.conf 

pi@rasp-dev:/etc/apache2/sites-enabled $ sudo apachectl restart

pi@rasp-dev:/etc/apache2/sites-enabled $ 

 

파이에 접속하면 (http://pi_ipaddress)


기본 80 톰켓으로


81 포트로는 webdav 잘나오네요

 


index.html 추가해줬더니 hello 표시

참고로 Alias 추가해놔서 /webdav/ 접속해도 동일화면

 


index.html 삭제하니 파일리스트가 나오는데

패스워드파일이 떡하니 있네요 경로를 바꿔줘야겠네요

 

대충 설정은 끝난것 같으니 목표였던 DEVONthink 연결테스트를 해봅니다

pi@rasp-dev:/mnt/webdav $ df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/root       7.2G  5.7G  1.2G  84% /

devtmpfs        460M     0  460M   0% /dev

tmpfs           464M  4.0K  464M   1% /dev/shm

tmpfs           464M   18M  446M   4% /run

tmpfs           5.0M  4.0K  5.0M   1% /run/lock

tmpfs           464M     0  464M   0% /sys/fs/cgroup

/dev/mmcblk0p1   43M   22M   21M  52% /boot

/dev/sda1       466G   13G  454G   3% /mnt/svn

tmpfs            93M     0   93M   0% /run/user/1000

pi@rasp-dev:/mnt/webdav $ ls -al

total 12

drwxr-xr-x 3 www-data www-data 4096 Oct 29 00:50 .

drwxr-xr-x 4 root     root     4096 Oct 28 21:29 ..

drwxr-xr-x 3 www-data www-data 4096 Oct 29 00:50 devon.dtCloud

pi@rasp-dev:/mnt/webdav $ df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/root       7.2G  5.9G  920M  87% /

devtmpfs        460M     0  460M   0% /dev

tmpfs           464M  4.0K  464M   1% /dev/shm

tmpfs           464M   18M  446M   4% /run

tmpfs           5.0M   12K  5.0M   1% /run/lock

tmpfs           464M     0  464M   0% /sys/fs/cgroup

/dev/mmcblk0p1   43M   22M   21M  52% /boot

/dev/sda1       466G   13G  454G   3% /mnt/svn

tmpfs            93M     0   93M   0% /run/user/1000

pi@rasp-dev:/mnt/webdav $ sudo rm -rf devon.dtCloud/

pi@rasp-dev:/mnt/webdav $ 

... 잘되는것 같네요

일단 테스트였으니 삭제하고 외장하드를 연결해봐야겠습니다

 

참고:


반응형

관련글 더보기

댓글 영역