본문 바로가기

라즈베리파이

OMV5(OpenMediaVault 5)에 NextCloud 설치하기 3 - 외장HDD 데이터 접근

지난번 게시글에서는 docker 환경에서 NextCloud를 설치해 보았다.

https://blog.codesarang.com/28

 

OMV5(OpenMediaVault 5)에 NextCloud 설치하기 2

NextCloud 설치 및 운영을 위해서는 데이터베이스 시스템이 필요하다. 이를 위해, 지난 포스팅에서 docker 기반으로 mariadb 설치 방법에 대해 설명한 바 있다. https://codesarang.tistory.com/27 OMV5(OpenMedia..

blog.codesarang.com

라즈베리파이에서 OMV를 설치해 사용할 경우, 보통 데이터를 외장 HDD에 저장하게 되는데, 지난번 설정으로는 외장 HDD에 접근하는 것이 한계가 있다.

 

이번 포스팅에서는 NextCloud에서 호스트 머신(라즈베리파이)에 연결된 외장HDD에 어떻게 접근할 수 있는지 설명하도록 하겠다.

 

1. 컨테이너 설정정보 변경

우선 컨테이너 리스트를 보면 아래 그림처럼 동작중인 docker 컨테이너를 확인할 수 있다. 여기서 지난번 설치한 NextCloud 컨테이너를 클릭하여 상태정보로 진입한다.

 

아래 화면에서 설정정보 수정을 위해 "Duplicate/Edit" 버튼을 클릭한다.

 

그리고 아래로 스크롤하여 "Volumes" 탭을 클릭, 아래 그림처럼 새로운 볼륨을 추가해 준다.

 

이때 컨테이너에 입력하는 패스(여기서는 /external)은 컨테이너 안에 생성되는 경로를 의미한다. 따라서 아래처럼 추가해 주면 NextCloud docker 컨테이너에 기존에는 없었던 /external 이라는 폴더가 생성된다.

 

또한, "Volume"/"Bind" 선택 버튼이 있는데 "Volume"은 가상 디스크의 개념이며, "Bind"는 호스트 머신의 저장영역을 공유하는 개념이다. 여기서는 외장 HDD에 접근할 것이므로, "Bind"를 선택한다.

 

세번째로 host 경로를 선택하게 되는데, 호스트 머신에 외장 HDD가 마운트된 경로(여기서는 /srv/dev-disk-by-label-HDD)를 입력한다.

 

이제 "Env" 탭으로 이동한다. Env 탭은 docker 컨테이너 실행시 환경변수를 지정하는 곳이다. 일반적으로 외장 HDD에 SMB로 공유된 폴더의 경우 "누구나 쓸수 있는 폴더"로 환경설정을 하게된다. 이럴 경우 보통 사용자의 경우 nobody이며 소속 그룹은 users의 권한을 갖게 된다.

따라서, 아래처럼 PUID(사용자#) 및 PGID(그룹#) 환경변수에 각각 nobody 사용자의 번호(65534), user 그룹 번호(100)을 입력하도록 한다. 또한, 시간대 영열(TZ)을 "Asia/Seoul"로 설정한다. 

그리고 "Deploy the container" 버튼을 클릭함으로서 설정이 완료되었다.

 

 

만일 어떻게 사용자/그룹에 대한 정보를 확인하는지 궁금할 경우 아래처럼 확인할 수 있다. 물론, 그냥 넘어가도 상관은 없다. 

확인 방법은 우선, 공유 폴더에 SMB로 접근해 아무 파일이나 생성하도록 한다. 그리고, SSH로 접근, 해당 위치에 파일 권한을 확인한다. 그런 다음, /etc/passwd 및 /etc/group 파일에서 사용자 및 그룹에 대한 번호를 확인할 수 있다.

 

 

2. NextCloud 환경 설정

이제 다시 NextCloud로 돌아와 설정메뉴에서 "Apps" 메뉴를 클릭한다. 그리고 아래쪽으로 스크롤하여 "External storage support" 앱을 찾아 "Enable" 시켜 준다.

 

만일, "Apps" 메뉴를 선택했을 경우 아래와 같은 에러가 발생하는 경우가 있다.

 

NextCloud 컨테이너의 Console로 접근하여 아래 명령을 수행해 주도록 한다.

# chown -R 65534:100 /data

사용자/그룹 권한을 중간에 변경하는 바람에 기존 파일에 대한 접근 권한을 상실하여 생기는 문제로 생각된다.

 

어쨋든, 권한설정 변경후 다시 "External storage support" 앱을 찾아 "Enable" 시켜 주고, NextCloud 아이콘을 클릭하면 아래 그림처럼 "External storages" 메뉴가 추가 된것을 확인할 수 있다. 현재는 아무런 외장 장치가 추가되지 않은 상태이다.

 

이제 다시 "Settings" 메뉴를 선택하고, "Administration"의 "External storages" 메뉴를 클릭하면 외장 저장장치 추가 화면을 확인할 수 있다.

 

여기에 폴더 이름(여기서는 HDD)과 아까 추가한 볼륨 이름(/external)을 입력하고 추가 버튼을 누른다.

 

이제 다시 "External storages" 메뉴를 클릭하면 아래처럼 HDD 폴더가 생긴것을 확인할 수 있다.

 

들어가보면 OVM5에서 SMB로 공유한 폴더들이 보이고

 

공유폴더 아래 자유롭게 폴더 생성 및 파일 업로드/다운로드 등이 가능해진다.

 

또한, 웹에서 업로드한 파일들을 SMB로 접속할 경우에도 정상적으로 접근할 수 있다.