IMG-LOGO
공지사항 :

Nextcloud + Collabora / OnlyOffice

lmkfox - 2025-05-26 07:00:49 289 Views 0 Comment

Nextcloud + Collabora / OnlyOffice 설치 및 연동 가이드

1. 전체 구성 개요

1.1 주요 구성 요소

  • Nextcloud: 파일 공유 및 클라우드 협업 서버

  • Collabora Online: LibreOffice 기반 온라인 문서 편집기

  • OnlyOffice Document Server: MS Office 호환 온라인 문서 편집기

  • Docker + Docker Compose: 배포 환경

  • Nginx Reverse Proxy + HTTPS: 웹 보안과 도메인 구성

1.2 선택 기준

항목

Collabora

OnlyOffice

MS Office 호환성

낮음

높음

LibreOffice 기반 호환성

매우 높음

낮음

서버 자원 소모

낮음

높음

설치 난이도

보통

높음

오픈소스 자유도

높음

제한적 (Enterprise 기능 분리됨)


2. 사전 요구사항

  • Ubuntu 22.04 LTS

  • 도메인 (예: cloud.example.com, office.example.com)

  • DNS 설정 완료

  • 포트 오픈: 80, 443

  • Docker, Docker Compose 설치

설치 명령:

sudo apt update && sudo apt install docker.io docker-compose -y


3. Nextcloud 설치 (Docker Compose)

3.1 docker-compose.yml 예시

version: '3'

services:
  nextcloud:
    image: nextcloud
    container_name: nextcloud
    restart: always
    ports:
      - 8080:80
    volumes:
      - nextcloud_data:/var/www/html
    depends_on:
      - db

  db:
    image: mariadb
    container_name: nextcloud-db
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: rootpass
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: ncuser
      MYSQL_PASSWORD: ncpass
    volumes:
      - db_data:/var/lib/mysql

volumes:
  nextcloud_data:
  db_data:

3.2 실행

docker-compose up -d

3.3 웹 설정

  • 브라우저에서 http://<서버-IP>:8080 접속

  • 관리자 계정 생성

  • 데이터베이스 설정:

    • 사용자: ncuser

    • 비밀번호: ncpass

    • DB명: nextcloud

    • 호스트: db


4. HTTPS 및 리버스 프록시 구성 (Nginx + Certbot)

Nginx 설정 예시 (/etc/nginx/sites-available/nextcloud.conf):

server {
    listen 80;
    server_name cloud.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name cloud.example.com;

    ssl_certificate /etc/letsencrypt/live/cloud.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/cloud.example.com/privkey.pem;

    location / {
        proxy_pass http://localhost:8080;
        include proxy_params;
        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
    }
}


5. Collabora Online 설치 및 연동

5.1 설치 (Docker)

docker run -t -d -p 9980:9980 \
  --name collabora \
  --restart always \
  -e "domain=cloud\\.example\\.com" \
  -e "username=admin" -e "password=secret" \
  --cap-add MKNOD collabora/code

  • domain은 Nextcloud 도메인을 이스케이프 처리해서 입력

5.2 Nginx 리버스 프록시 설정

server {
  listen 443 ssl;
  server_name office.example.com;

  ssl_certificate /etc/letsencrypt/live/office.example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/office.example.com/privkey.pem;

  location / {
    proxy_pass https://localhost:9980;
    proxy_ssl_verify off;
    proxy_set_header Host $http_host;
  }
}

5.3 Nextcloud에서 설정

  1. Nextcloud 로그인

  2. Apps > Office & Text에서 “Collabora Online” 앱 설치

  3. 설정 > Collabora 메뉴에서

    https://office.example.com 입력 후 저장


6. OnlyOffice 설치 및 연동

6.1 설치 (Docker)

docker run -i -t -d -p 8443:443 \
  --name onlyoffice \
  --restart always \
  onlyoffice/documentserver

6.2 Nginx 리버스 프록시 설정

server {
  listen 443 ssl;
  server_name onlyoffice.example.com;

  ssl_certificate /etc/letsencrypt/live/onlyoffice.example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/onlyoffice.example.com/privkey.pem;

  location / {
    proxy_pass https://localhost:8443/;
    proxy_set_header Host $host;
    proxy_ssl_verify off;
  }
}

6.3 Nextcloud 설정

  1. 앱 설치: “OnlyOffice”

  2. 설정 > OnlyOffice 메뉴에서

    https://onlyoffice.example.com 입력 후 저장


7. 보안 설정

  • HTTPS 필수

  • trusted_domains 설정: config/config.php에 도메인 추가

  • 방화벽 제한: ufw allow 80,443/tcp

  • fail2ban, WAF 설정 추천


8. 성능 및 확장

설정

추천

Redis 캐시

redis-server 설치 후 Nextcloud 설정에 추가

APCu

PHP opcode 캐시로 권장

외부 스토리지

S3, WebDAV, SMB 등 연동 가능

LDAP/AD 연동

엔터프라이즈 환경에 필수

백업

rsync + mysqldump 또는 Docker 볼륨 백업 스크립트 구성


9. 결론 및 선택 팁

  • 일반 사용자/기업 환경에서는 OnlyOffice가 Office 호환성 면에서 유리

  • 교육 기관이나 오픈소스 지향 환경에서는 Collabora가 적합

  • Nextcloud는 기능 확장성과 통합성이 뛰어나며, 선택한 문서 서버에 따라 문서 편집 경험이 다름

  • Nginx + Let’s Encrypt를 통한 HTTPS 리버스 프록시 구성이 안정성과 확장성 면에서 가장 권장됨


댓글