로그인 회원가입
모두인포
전체IT경제사회생활스포츠시사여행연애

Nextcloud + Collabora / OnlyOffice

lmkfox · 2025-05-26 · 조회 0
Nextcloud + Collabora / OnlyOffice
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에서 설정 - Nextcloud 로그인 - Apps > Office & Text에서 “Collabora Online” 앱 설치 - 설정 > 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 설정 - 앱 설치: “OnlyOffice” - 설정 > 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 리버스 프록시 구성이 안정성과 확장성 면에서 가장 권장됨

댓글

아직 댓글이 없습니다.

로그인 후 댓글을 남길 수 있습니다.