라즈베리 파이 4B에 NAS 운용을 위한 OMV6 (openmediavault Ver. 6)를 설치하고 기본 설정 및 SMB, SFTP 서비스를 이용하여 파일을 업로드하고 다운로드하는 과정을 소개한 바 있다.
그런데 NAS에서 파일 업로드 및 다운로드 시 가장 널리 사용되는 프로토콜은 일반적으로 sFTP와 WebDAV로 알려져 있다. 그런 반면에 OMV6는 Webdav를 기본적으로 포함된 플러그인(=번들 프로그램)으로는 지원하지 않는다. (참고 : 과거 OMV4까지는 기본 플러그인으로 지원했던 것으로 알려져 있음)
따라서, OMV 6에서 WebDAV 프로토콜을 이용하려면, 시스템 메뉴의 하나인 omv-extras에서 지원하는 Docker와 Portainer 메뉴를 활용하여, 외부의 컨테이너화된 프로그램 이미지를 가져다 설치하여야 사용이 가능하다.
본 글에서는 omv-extra에 있는 portainer 메뉴를 활용하여 (이를 활성화시키려면 Docker도 설치해야 함) 인터넷에(특히 Dockerhub site) 있는 WebDAV 지원프로그램을 가져와 설치하는 과정을 쉽게 따라할수 있도록 단계별로 매우 상세하게 소개한다.
(참고- OMV에 portainer Docker 및 portainer 설치에 대한 자세한 내용은 다음 링크로 접속되는 이전 글을 참조하기 바란다.)
omv-extra에서 Porttainer 화면에 들어간다.
admin과 생성한 12자리 password를 이용하여 로그인한다. 다음 화면이 나오면 연필 모양의 편집 메뉴를 선택해 준다.
라즈베리 파이의 ip 주소를 입력하고, “Update Environment”를 눌러 저장해 준다.
(중요 – 이 ip 주소를 넣어주지 않으면, 인터넷에서 docker image를 불러올 수가 없다. 반드시 필요하다)
연결 메뉴를 눌러준다.
다음 화면으로 바뀌면, Container 메뉴를 선택해 준다.
다음과 같이 설치된 Container들의 목록이 나타나는데, 우측 상단의 “Add container”를 선택해 준다.
다음과 같이 외부의 Dockerhub에서 가져올 내용과, 부여할 이름을 지정하는 화면이 나온다.
이름은 자신이 원하는 대로 부여한다. 예를 들어 WebDAV 등으로 적으면 된다. image 부분은 Docker hub에서 해당 이름을 찾아 적어야 한다.
이미지를 찾는 방법은 위의 image 이름을 적는 곳 바로 밑의 “Simple Mode”부분을 클릭하면 다음과 같이 “Advanced Mode”로 변경되면서, Search 기능이 활성화된다. 이 상태에서 찾을 키워드로 “webdav”를 입력하고 오늘 쪽 Search 버튼을 누른다.
자동으로 Dockerhub 사이트가 열리고, 해당 키워드로 검색한 결과가 표시된다. 라즈베리에 설치해야 하므로, 왼쪽의 architect에서 ARM을 선택해 주면 다음과 같은 결과가 나온다. 이 중 다운로드 수가 많은 것을 선택하면 된다.
이를 선택해 주고 다음 부분에서 라즈베리용 이미지 이름을 확인하여 복사한다 (“:arm” 부분이 반드시 포함되어야 한다.)
다시 portainer로 돌아와, 확인한 이미지 이름을 적어주고, 아래에 있는 “Deply the container”를 선택해 준다.
Container가 성공적으로 설치되었다는 안내를 볼 수 있고, MyWebDAV라는 이름으로 WEBDAV 설치된 것을 확인할 수 있다. 이 상태를 자세히 보면 아직 port는 표시되지 않아 추가 설정이 필요함을 알 수 있다.
여기서, 세부 설정을 위해 설치한 MyWebDAV를 선택하면
다음 화면이 나오는데, 끝의 Edit 메뉴를 선택해 주고
나오는 화면의 아랫부분에 있는 Advanced Container Setting 메뉴로 간다.
이 중에 Volume 부분으로 가서, Webdav로 파일을 업로드하거나 다운로드할 때 사용할 공유 폴더를 지정해 준다. Volume을 선택하면 공유 폴더 중 선택할 수도 있으나, 알아보기 어려우므로, 다음과 같이 Bind를 선택하고, host 부분에 폴더 이름을 복사해와 붙여 넣고, 읽고 쓰기를 위해 “Writable”로 선택해 준다.
참고로 공유 폴더의 절대경로명은 다음과 같이 OMV6의 공유 폴더 메뉴에서 다음과 같이 복사하여 붙여 넣어주면 된다.
다음은 Env 탭으로 가서, 다음과 같이 user name과 password를 만들어 지정해 준다.
아래 화면에 user name과 password를 넣는 부분이 처음에는 없는데, 이는 “+Add and env…”버튼을 누르면 하나씩 추가된다.
Restart Policy는 다음과 같이 Always로 지정해 준다.
다음은 포트 번호 지정하는 것이다.
다음 화면에서 가장 상단에 있는 작은 메뉴(+publish a new network port)를 선택해 준다.
그러면 다음 화면처럼 port 번호를 지정할 수 있게 되고, 여기에 사용할 port 번호를 넣어준다.
이렇게 세부 설정까지 모두 마쳤다. 다음과 같이 “Deply the container”를 선택해 주면, 그간의 설정 내용이 반영된다.
확인 과정을 거친 후 10여 초의 시간이 지난 후 다음과 같이 설정 내용들이 반영된 Container list가 나타난다. 오른쪽 port 번호가 지정된 것을 확인할 수 있다.
Client에서 접속하기
Client로 사용하는 다른 PC에서 RaiDrive에서 드라이브를 추가하고 다음과 같이 설정해 준다.
확인 과정을 거친 후 10여 초의 시간이 지난 후 다음과 같이 설정 내용들이 반영된 Container list가 나타난다. 오른쪽 port 번호가 지정된 것을 확인할 수 있다.
설정 시 IP 주소는 라즈베리의 IP(외부 접속이 아니라면), 포트 번호는 Container에서 세부항목 지정에서 지정해 준 포트 번호를 지정한다. 폴더는 그냥 빈칸으로 두면 된다. 의 차이 컨테이너 내부에서 지정한 폴더로 매핑되기 때문이다. (참고 – 그러나 기본 플러그인으로 설정하는 SFTP는 별도로 매핑되는 것이 없기 때문에, 이 부분에서 폴더를 “test”처럼 정확하게 기재해 주어야 한다)
설정 내용을 확인해 주고, 실행시켜주면
다음과 같이 변하고
자동으로 Webdav에서 연결하도록 설정해 놓은 test 폴더가 열리고 내용을 보여주게 된다.
(간혹 이 단계에서 protocol version으로 인한 오류가 발생하는 경우는 위의 RaiDrive 접속 설정 단계에서 ip 주소 바로 옆에 있는 http 또는 https를 라즈베리 본체와 다르게 지정하는 경우에 발생한다. 만일 https로 되어 있다면 일단 http로 변경하면 해결된다.)
폴더 내에 있는 파일의 삭제 및 추가 모두 가능하였다.
삭제 후 화면이다.
업로드도 시험해 보았는데,
업로드가 잘 완료되었다.
이렇게 Portainer를 이용하여, Dockerhub로부터 Webdav protocol 이미지를 가져와 설치하고, Client로 RaiDrive를 사용하여 업로드 및 다운로드를 해 보았다.

