Collabora: Nextcloud에서 실시간 온라인 오피스 문서 편집하기

시스템 환경


Collabora Online이란?


Libre Office는 마이크로소프트 워드, 파워포인트, 엑셀 등을 대체할 수 있도록 만들어진 오픈소스 문서 편집 오피스이다.
Collabora Online은 Libre Office의 온라인 버전 오피스 프로그램으로, Google Docs처럼 클라우드 기반으로 실시간 동기화가 지원된다.

온라인 오피스 프로그램은 한 글자를 입력할 때 마다 모든 것이 실시간으로 동기화되기 때문에 여러 사람과 함께 한 문서를 협업하여 작업할 때 굉장히 편리하다.
모든 것이 실시간으로 서버와 동기화되기 때문에 따로 저장버튼을 누르지 않아도 알아서 저장돼 작업 중간에 실수로 창을 닫거나 컴퓨터가 꺼져도 데이터는 안전하게 서버에 저장된다는 장점이 있다.

이러한 장점을 가진 Collabora Online은 Nextcloud와 연결하여 Google Docs를 대체할 수 있다.
완전히 무료이며, Nextcloud에서 문서 파일을 바로 웹에서 열어 편집할 수 있고, 모바일과 PC 모두 웹 브라우저만 있으면 열 수 있기 때문에 호환성 또한 뛰어나다.

설치하기


우선 Nextcloud 앱에서 Nextcloud Office 앱을 설치한다.

Collabora Nextcloud Office App

이 앱은 Collabora Online과 Nextcloud가 연결될 수 있게 해준다.
따라서 문서를 실시간으로 처리해 줄 소프트웨어를 따로 설치해야 한다.
설치 방법에는 아래 두 가지가 있다.

Nextcloud 공식 이미지를 사용하거나, 네이티브로 설치한 경우에는 여기를 참고한다.

Linuxserver 이미지를 사용하는 경우 Built-in CODE 앱 설치가 정상적으로 되지 않기 때문에 Collabora Online을 별도 도커로 설치해 연결해줘야 한다.
Linuxserver 이미지를 사용하는 경우 여기를 참고한다.

Nextcloud 공식 이미지 사용자

Collabora Built-in Server App

간단하다.
Nextcloud 앱 스토어에서 Collabora Online – Built-in CODE Server를 설치해준다.

설치 후 바로 설정하기로 넘어간다.

Linuxserver 이미지 사용자

컨테이너 생성하기


Portainer에서 컨테이너 새로 만들기를 클릭해 아래와 같이 구성해준다.

Collabora Portainer 1

포트는 9980:9980으로 맵핑해준다.

환경변수는 아래 스크립트를 붙여넣기 한다.
Advanced mode를 클릭하면 스크립트를 간편하게 붙여넣기할 수 있다.

Collabora Portainer 2
aliasgroup2=https://넥스트클라우드주소
dictionaries=ko_KR en_US
extra_params=--o:ssl.enable=true
password=비밀번호
username=아이디

dictionaries는 사전 언어 설정이다.
맞춤법 체크 등에 사용되는 사전 데이터로, 한국어와 영어만 설정한 상태이다.
사전 개수에 제한은 없지만 성능상의 이유로 최소한의 언어만 설정할 것을 추천한다.

비밀번호와 아이디는 Collabora 서버 웹 관리 콘솔에 접속할 때 필요한데, 콘솔에서 뭘 할 수 있는게 거의 없어서 자주 사용하지는 않는다.
비밀번호나 아이디 둘 중 하나라도 설정하지 않으면 관리 콘솔은 자동으로 비활성화된다.

환경변수 설정 후 Restart Policy를 Always로 설정해주고 Deploy를 눌러 컨테이너를 생성해준다.

리버스 프록시 설정하기


나는 Nginx Proxy Manager (이하 NPM)을 사용하고 있기 때문에 이것 기준으로 설명한다.

Collabora NPM 1

새로운 프록시를 생성해 위와 같이 설정해준다.

Collabora NPM 2

Custom locations에서 location에 슬래시 하나를 입력한 후 톱니바퀴를 눌러 다음 스크립트(Security Headers)를 복사해 붙여넣기 한다.
Cloudflare DNS를 사용하지 않는다면 real_ip_header X-Forwarded-For;는 지워도 좋다.

add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header 'Referrer-Policy' 'no-referrer';add_header Permissions-Policy "accelerometer=();ambient-light-sensor=(); autoplay=();camera=();encrypted-media=();focus-without-user-activation=(); geolocation=();gyroscope=();magnetometer=();microphone=();midi=();payment=();picture-in-picture=(); speaker=();sync-xhr=();usb=();vr=()";
real_ip_header X-Forwarded-For;
Collabora NPM 3

SSL 탭에서 사용할 인증서를 선택하고 하단에 있는 항목들에 모두 체크해준다.

모든 프록시 설정이 완료됐다면 Save를 눌러준다.

웹 브라우저로 Collabora 도메인에 접속했을 때 OK 문자열이 나오면 정상적으로 동작하는 중인 것이다.

설정하기


Nextcloud 관리자 설정에서 Nextcloud Office (또는 사무실) 탭에 들어간다.

Collabora Nextcloud 1

Nextcloud 앱 스토어에서 빌트인 서버를 설치했다면 두번째 Use the built-in CODE를 선택하고, 도커로 설치했다면 첫번째 Use your own server를 선택한다.

URL에 아까 설정한 Collabora 도메인을 https://~ 형식으로 입력해준 후, Disable certificate verification에 체크가 해제돼있는 것을 확인하고 save를 누른다.
연결이 정상적으로 됐다면 위 스크린샷 처럼 초록색 아이콘이 뜬다.

Collabora Nextcloud 2

혹시 모를 일을 방지하기 위해 아래로 스크롤을 내려 WOPI 요청 화이트리스트를 만들어준다.
자신의 서버 IP를 적어주면 된다.

사용하기

실시간으로 편집이 동기화되는 기능을 테스트했다.


Nextcloud 내의 문서 파일을 클릭하거나 새로운 문서를 만들면 Collabora Online 오피스로 열리게 된다.

위 동영상처럼 파일을 외부 링크로 공유한 후 편집을 허용해 놓으면 Nextcloud 계정이 없는 사람도 닉네임 입력 후 바로 문서 편집을 시작할 수 있다.
단, 접속자 한 명 당 메모리를 약 100MB 정도 차지하기 때문에 어느 정도 메모리에 여유가 있어야 많은 접속자를 감당할 수 있다.

편집 후 굳이 저장 버튼을 누르지 않아도 자동으로 저장이 되기 때문에 바로 창을 닫아도 된다는 편리함이 있다.

나는 지금까지 마이크로소프트 워드나 파워포인트를 PC에 전혀 설치하지 않고 Nextcloud Collabora 오피스 만으로 문서 작업을 하고 있다.
여태까지 경험 상 마이크로소프트 워드나 PPT와 호환이 잘 되지 않는다는 느낌은 받지 못했다.

단점이라면 항상 네트워크에 원활히 연결돼있어야 한다는 것인데, 네트워크에만 연결돼있으면 굳이 파일을 수정 후 옮기거나 이메일로 보내지 않아도 다른 기기에서 즉시 수정을 이어서 할 수 있어서 굉장히 편리하다.

Leave a Comment