나는 현재 OMV6를 사용중이고, docker 를 사용하여 nextcloud 를 올린 상태이다.
Nextcloud 초기 설정 시 /data 경로를 외부 하드로 해놓았고,
SSH로 OMV에 접속시 srv/dev-***/로 마운트된 하드에 들어가 nextcloud 파일에 접근할 수가 있다.
nextcloud 경로에 들어가면
admin
user1
user2
.
.
와 같이 계정별로 폴더가 생성되어 있고, 경로 내에 files 에 클라우드 데이터가 저장되어 있다.
이 때 SSH상에서 파일을 직접 files 내에 옮겨도 web UI나 어플 내에서 해당 파일이 보이지 않았다.
이를 해결하기 위해 occ (Own Cloud Command)라는 명령어를 사용하여 스캔을 한번 해줘야 한다.
하지만 인터넷 뒤져보면 다 /var/www/html/occ 로 들어가라는데... 없다.
occ를 찾을수가 없다.
아마 이는 리눅스 서버에서 직접적으로 nextcloud를 올린 경우인 것 같고,
docker를 사용하면 container로 관리가 되기 때문에 컨테이너에서 작업을 해줘야 할 것 같았다.
컨테이너에서도 사람들이 가보라는 경로에는 없었다.
portainer를 접속해 컨테이너 커맨드 입력 페이지로 간다.
connect
sudo find / -name "occ"
/app/www/src/occ
/app/www/public/occ
두가지가 있는데, 일단 파일의 내용은 똑같다.
나는 src/occ로 실행하였다.
/app/www/src 로 가서, sudo occ files:scan -all을 입력하면
nextcloud 내 모든 계정에 대해 scan을 돌린다.
⚠️주의 : ssh로 복사한 파일의 권한이 nobody abc 로 되어 있어야 한다.
나는 SSH를 루트 계정으로 로그인 하여 파일을 옮겼기 때문에 root root로 되어있었다.
파일을 /data/계정/files 에 옮기고, 아래 명령어로 소유권 변환을 해준다.
sudo chown nobody:abc ./* -R
(SSH root 로 접근 시 chown nobody:users 로 하면 container cmd에서 nobody:abc로 보인다.)
이후에 스캔 돌려야 정상적으로 스캔된다.
권한 안맞으면 해당 파일들은 스캔되지 않음.
www-data 어쩌구 저쩌구.. 다 필요 없었다.
그 이유에 대해선 천천히 생각해 볼 예정이지만
드이어 ssh로 테스트 용도로 옮겼던 이미지 파일이 제대로 뜨는것을 확인했을땐
정말 기뻤다.
이 글이 많은 OMV/Nextcloud 사용자들에게 닫기를.
24.03.22 추가
cmd line 에서 작업 시 두가지 방법이 있음
1. SSH, root
2. container(portainer)