이번에는 라즈베리파이에 Google드라이브,N 드라이브등과 비슷한 역할을 도와주는 Nextcloud를 구축해보도록하겠다.
구축하기 앞서 환경 구축이 필요한데 미리 써놓은 글들을 참고해서 셋팅해주면된다.
이번에도 마찬가지로 Docker이미지를 이용해서 할것이기 때문에 hub.docker.com에서 nectcloud를 검색해주자.
앞서 mariadb와 마찬가지로 linuxserver/nextcloud 를이용하도록 하겠다.
사용법을 확인해보면 -e ,-v 옵션이 보이는데 이는 컨테이너 생성시에 추가로 설정해주면된다.
단, -v 옵션을 볼륨 매칭이기때문에 미리 터미널상에서 디렉터리 생성이필요하다.
볼륨매칭용 디렉터리 생성하기(터미널)
mkdir -p /data/data
mkdir -p /data/config
Nextcloud 컨테이너 생성하기
Containers > Add Container
이제부터 중요하니 하나하나 잘 따라오면된다.
처음부터
이름 / 이미지 / 네트워크 포트 [ 원하는포트 ] : 443
아래 Advanced 셋팅
Volumes 2개 추가
Env 3개 추가
이건 재부팅시 자동으로 시작할 것인지 선택
다 완료되면 Deploy 누르면된다.
여기까지했으면 nextcloud db를 생성해야한다.
MariaDB 셋팅하기
컨테이너로 들어가서 mariadb의 콘솔창으로 접속하자
그럼 터미널 환경으로 넘어가는데 mysql 명령어로 db 접속 후 nextcloud 전용 db 및 계정을 만들어보자
mysql
create database nextcloud;
create user ‘dalso’@’%’ identified by ‘password’;
grant all privileges on nextcloud.* to dalso@’%’;
flush privileges;
nextcloud 웹 설치하기
완료되면 웹으로 https://라즈베리파이 IP로 접속하자
여기서 기본으로 SQLite가 되어있는데 이걸 MariaDB로 변경하자
그리고 위에서 생성한 DB 정보를 입력, 데이터베이스 호스트는 mariadb의 내부 IP를 입력해주면된다. 컨테이너에서 확인가능 172.17.x.x
설치완료를 누르면 뺑글뻉글 도는데 꽤 오래걸린다.
타임아웃이 떠도 겁먹지마라 좀있으면 된다
시간이 조금 지나고 웹으로 다시 접속해보면 로그인창이 뜬다
완료
Nextcloud를 활성화 한 지 하루만에 International server error를 뱉으며 멈추는 현상이 발생했습니다.
혹시 도움을 좀 주실 수 있으신가요?
Nginx나 아파치의 access로그 와 error 로그에 뭐라고 나오는지 알아야 도움드릴수있을거같아요
리눅스는 완전 초보인데… 어디서 확인할 수 있나요?
아파치는 깔려 있지 않은 것 같고, nginx 로그도 딱히 이상한 부분이 보이는 것 같지는 않습니다.
1.nginx error log
2020/03/26 21:21:07 [emerg] 24278#24278: invalid IPv6 address in upstream “[192.168.0.100]:30080” in /etc/nginx/sites-enabled/openmediavault-webgui:39
2.nginx access log
127.0.0.1 – – [26/Mar/2020:08:56:59 +0000] “GET / HTTP/1.1” 200 612 “-” “Monit/5.26.0”
192.168.0.10 – – [27/Apr/2020:19:39:22 +0900] “GET /webdav HTTP/1.0” 200 4411 “-” “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36”
192.168.0.10 – – [27/Apr/2020:19:39:41 +0900] “GET /webdav/?sabreAction=asset&assetName=favicon.ico HTTP/1.0” 200 4286 “http://kseongu.iptime.org/webdav” “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36”
192.168.0.10 – – [27/Apr/2020:19:39:49 +0900] “GET /webdav HTTP/1.0” 200 4411 “-” “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36”
192.168.0.10 – – [27/Apr/2020:19:39:49 +0900] “GET /webdav/?sabreAction=asset&assetName=favicon.ico HTTP/1.0” 200 4286 “http://kseongu.iptime.org/webdav” “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36”
라즈베리파이 3 B+을 이용하여 블로그에서 알려주신 대로 Nextcloud를 구축하였습니다. 이전에OMV와 webdav는 다른 분의 블로그를 참고하여 설정하였었구요. cups 또한 구축이 되어 있는 상태입니다. 처음 Nextcloud를 구동하였을 때는 멀쩡히 동작하였고, 약 100mb 정도의 파일 또한 정상적으로 올라갔습니다. 그 후, 관리자가 아닌 계정을 하나 생성하고 관리자 계정과 해당 계정에 저장 공간을 무제한으로 지정, 그 후 일체 다른 것을 건들지 않았습니다.
그런 후 오늘 오후쯤 접속을 시도해 보니 International server error가 발생, 그 후 portainer에서 mariadb가 활성화되지 않은 것을 확인했습니다. 그 후 다시 활성화 시킨 후 mariadb와 nextcloud를 refresh한 이후에도 계속 접속이 되고 있지 않는 상태입니다.
음…
Https로 접속한건 맞으시죠??
설마 그걸 실수했을리가요…
애초에 https로밖에 접속이 안되죠.. http로 접속하면 nginx에서 잘못된 접근이라고 뜨니까요…
흠.. 내부 서버 에러같은경우 원인이 다양해서..
직접 눈으로 안보면.. 확인하기 어려울것같습니다 ㅠㅠ
도커 안의 모든 컨테이너를 지우고 다시 구축하면 정상 작동할까요? 어차피 아직 중요한 건 안 해서 괜찮은데…
네 일단 그 방법이.. 그나마 해결책인것 같습니다.
https://blog.dalso.org/google-cloud-platform-2/nas-project/9109
https://blog.dalso.org/google-cloud-platform-2/nas-project/9151
docker가 아닌 php,mariadb를 이용해서 구축하는게.. 안정성 측면에서는 더 나은것같습니다
혹시 해결 하셨나요? 라즈베리파이에 꽂은 sd카드 용량이 가득 차면 그럴 수도 있어요.
필요시 portainer의 로그 부분도 남기겠습니다.
좋은게시글 잘 봤습니다.