Nextcloud 설치에 대한 질문이 있어서 한번 더 예시로 가이드를 작성합니다.

앞서 NPM에 Proxy Host 등록했던 과정을 한번 더 Nextcloud로 실습해 보겠습니다.

Tip. 리눅스 console에서 command 실행 결과는 "접은 글"로 숨겨 놓았습니다.
       실행 결과에 대한 참고가 필요한 경우 "더보기"를 클릭해서 확인 할 수 있습니다.

Tip. vim 편집 내용은 표로 정리 하였는데, 표 안의 // 주석은 편집해야 할 위차나 설명이니
       // 까지 함께 copy & paste 하시면 에러 날 수 있으니 잘 필터링 해주세요.

 

3-4. Nextcloud 설치 및 Proxy Host 등록

1) 컨테이너 볼륨 디렉토리 생성

// 도커 NPM 설치 경로 생성

  • $ mkdir -pv ~/docker/nextcloud/
  • $ cd ~/docker/nextcloud/

 

// 볼륨 경로 생성

  • $ mkdir -pv ./volume/html
  • $ mkdir -pv ./volume/mysql

 

 

 

2) docker compose 작성

  • $ cd ~/docker/nextcloud/
  • $ vim docker-compose.yml
version: '2'
services:
  db:
    image: mariadb
    container_name: nextcloud_mariadb
    restart: unless-stopped
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
#    ports:
#      - 3306:3306
    volumes:
      - ./volume/mysql:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=<암호>
      - MYSQL_PASSWORD=<암호>
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
  app:
    image: nextcloud
    container_name: nextcloud
    restart: unless-stopped
#    ports:
#      - 8080:80
    links:
      - db
    volumes:
      - ./volume/html:/var/www/html

# Use same docker network with NPM
networks:
  default:
    external:
      name: nginx-proxy-manager

Tip. 앞서 설정한 NPM과 동일한 "nginx-proxy-manager" docker network를 사용할 경우
     ports에 포트 오픈을 명시할 필요가 없어 # 주석 처리해 두었습니다.
     NPM에서는 nextcloud container 이름으로 Proxy Host 연동이 가능하기 때문입니다.

주의! 만약 NPM과 동일한 "nginx-proxy-manager" docker network를 사용하지 않는 환경이라면
     이전에 알려진 방식대로 ports: 에 필요한 포트를 명시하여 포트 포워딩 설정을 해주셔야 합니다.

 

 

3) docker container 실행

  • $ sudo docker-compose up -d
  • $ sudo docker-compose ps
$ sudo docker-compose up -d
// 결과 화면 생략 (처음 설치 시 캡처하지 못함)

$ sudo docker-compose ps
      Name                     Command               State    Ports
---------------------------------------------------------------------
nextcloud           /entrypoint.sh apache2-for ...   Up      80/tcp
nextcloud_mariadb   docker-entrypoint.sh --tra ...   Up      3306/tcp

 

 

4) NPM 관리 페이지를 Proxy Host 등록

* START -> NPM 관리 페이지 접속 -> [Dashboard] -> [Proxy Hosts] -> 1) [Add Proxy Host]

-> [Details] 탭 -> 2), 3), 4), 5), 6), 7) 정보 입력
    - 2) Domain Names : "nextcloud.test1234.duckdns.org" 입력
    - Scheme : "http" 선택 (기본값)
    - 3) Forward Hostname / IP : "nextcloud" 입력 (docker-compose.yml 의 container_name: nextcloud ​매칭)
    - 4) Forward Port : "80" 입력
    - 5) "Cache Assets" 체크
    - 6) "Block Common Exploits" 체크
    - 7) "Websockets Supports" 체크

-> [SSL] 탭 -> 8), 9), 10), 11), 12), 13) 정보 입력 -> 14) [Save] -> Proxy Host 등록 완료
    - 8) SSL Certificate : "Request a new SSL Certificate" 선택
    - 9) "Force SSL" 체크
    - 10) "HTTP/2 Support" 체크
    - 11) "HSTS Enabled"  체크
    - 12) "HSTS Subdomains" 체크
    - 13) "I Agree to the Let's Encrypt Terms of Service" 체크

-> Proxy Host 등록 후 -> 15) 주소 클릭 -> https://nextcloud.test1234.duckdns.org 접속 확인 -> END

 

 

5) Nextcloud 관리자 계정 등록 및 DB 설정

* START -> Nextcloud 설치 후 첫 접속 시 -> 관리자 계정 등록 페이지 표시됨 -> 16), 17), 18), 19) 정보 입력 
  - 16) 관리자 계정 ID/PW 입력
  - 17) 데이터 폴더 "/var/www/html/data" 기본값 유지
  - 18) "MySQL/MariaDB" 선택
  - 19) DB 정보 입력

-> 20) [설치] 클릭 -> "Installing ..." 수행

-> 22) 추천되는 앱 -> [추천 앱 설치] or [취소] 선택 (가이드는 추천 앱 설치로 진행)

 

 

6) Nextcloud 접속

-> 추천 앱 설치 후, Welcome 팝업 표시됨 -> 다음 계속 누르고

-> 23) [Start using Nextcloud] 선택 -> END

 

한번 더 nextcloud 설치하고 docker network로 NPM 연동하는 방법을 실습하셨으니
Proxy Host와 SSL 인증서 적용되어 https:// 로 보안 경고 없이 잘 접속되실 거라 예상됩니다.

이상으로 가이드를 마치겠습니다.

 

FINISH

 

PS. 본 포스팅이 도움이 되셨다면 소중한 리플로 후기 공유해주세요. 광고 클릭도 큰 도움이 됩니다.

 

+ Recent posts