단점/불편한 점이 많아서 사용하지 않는 중.
기본 스토로지를 사용하되 s3에 백업하는 방식으로 구성이 더 나을 것 같다.
NextCloud 는 기본적으로 시스템의 디렉토리를 사용하지만,
추가로 External Storage Support 기능을 사용해서 FTP, S3 등등 외부 저장소를 마운트하여 사용할 수 있다.
처음엔 이렇게 연결하려고 했는데, 뭔가 안되어서 찾다보니, S3자체를 NextCloud의 주 저장소로 사용하는 방법이 있어서 그냥 그걸 사용해보기로 했음.
참고로 지금 하려는 주 저장소가 아니라 외부저장소로써 S3를 사용할 경우
(1) 사용자마다 S3 연결을 직접하지 못하고 관리자가 해줘야함
(2) 저장공간 사용 제약을 할 수 없음
(3) NextCloud의 공유 기능을 사용할 수 없음
요런 3가지 단점이 있다고 한다.
참고로 Amazon S3 뿐만 아니라 S3와 비슷한 object storage 류들도 사용이 가능하다고 함.
또한 S3와 연결된다고 해서 S3에서 직접 파일 브라우징을 할 순 없다고 한다. 파일 자체는 있지만 메타데이터가 없어서...
기존 설치된 NextCloud를 옮길 수도 없다. 새로 설치해야 됨.
nextcloud/config/config.php 파일 설정에
'objectstore' => array(
'class' => '\\OC\\Files\\ObjectStore\\S3',
'arguments' => array(
'bucket' => '버킷이름',
'autocreate' => true,
'key' => 'IAM Access Key',
'secret' => 'IAM Secret',
'use_ssl' => true,
'region' => 'AWS 리전, 서울이면 ap-northeast-2'
),
),
요 부분을 추가해두고 설치를 진행하면 된다.
이미 진행된 인스턴스가 있을 경우 nextcloud/data 폴더와 DB 테이블들을 날려버리고, config.php에 installed: true 라인 지우고, 마지막으로 config 폴더에 CAN_INSTALL 파일을 생성하고 접속하면 다시 설정부터 진행할 수 있다.
S3를 주 저장소로 할 경우 php의 파일 업로드 제한에 영향을 받지 않는 것 같다. 아마 S3 API 로 바로 업로드 시키는 듯?
+ File lock 비활성화
NextCloud 는 공유된 파일을 2명 이상의 사용자가 동시에 편집해서 꼬이는 문제를 방지하기 위해 File locking 기능을 사용한다.
DB, 혹은 설정된 mem cache 에 lock 정보를 가지고 있고, 30분마다 cron이 지워주는 방식으로 작동한다는데, S3를 사용할 경우 끄는걸 권장한다는 듯? ( https://autoize.com/s3-compatible-storage-for-nextcloud/ )
일단 당장 내가 lock 으로 인한 문제를 발견해서(생성되고 파일을 빠르게 지울경우 뭔가 이상하게 lock 이 걸려서 파일 삭제가 안됨..) 그냥 꺼버렸음.
config.php에
'filelocking.enabled' => false,
를 추가해주면 된다.
'Linux, Server, Web' 카테고리의 다른 글
AWS SES + Postfix + Dovecot 메일 서버 구축하기 (1) | 2021.08.12 |
---|---|
최신 java에서 iDRAC Virtual Console 연결하기 (2) | 2021.01.18 |
Ubuntu 18.04 + NextCloud 설치 (0) | 2020.08.17 |
OpenSSL X.509 인증서 정리 (HTTPS, TLS) (0) | 2019.12.19 |
AWS EC2 부팅시 Route53 레코드 자동 설정하기 (2) | 2019.09.23 |