IT
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 리버스 프록시 구성이 안정성과 확장성 면에서 가장 권장됨
댓글
아직 댓글이 없습니다.
로그인 후 댓글을 남길 수 있습니다.