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 까지 해놓고 다시옴....
참고한 사이트에서는 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 * DocumentRoot /var/www/web1/web/ Alias /webdav /var/www/web1/web <Location /webdav> </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 $ |
오... 잘되는것 같네요
일단 테스트였으니 삭제하고 외장하드를 연결해봐야겠습니다
참고:
댓글 영역