이제 DSM에서 제공하는 협업툴들을 설치 해 보겠습니다.
Synology Drive
패키지 센터에서 Drive 를 선택 합니다. Synology Drive 는 Desktop과 Mobile에서 파일을 sync해주는 클라우드 드라이브 시스템 입니다. Google Drive나 iCloud file service를 연상하시면 되겠습니다.

설치후 드라이브 관리 콘솔을 실행합니다.

팀 폴더를 선택하고 이전에 만들었던 share 라는 공유폴더를 선택하고 사용을 클릭 합니다. 버전 수를 선택하면 그 버전 수만큼 이전 버전을 자동으로 유지하여, 실수로 삭제하거나 변경했을때 파일을 되돌릴 수 있습니다. 이제 사용자들은 자신의 드라이브에서 팀폴더를 볼 수가 있게 됩니다.
사용자가 DSM(http://work.example.io:5000)에 로그인 하여 메뉴를 통해 drive를 실행해도 됩니다만 http://work.example.io:5000/drive 라고 북마크 해두고 바로 들어 올 수도 있습니다. 이렇게 하려면, 제어판에서 응용 프로그램 포탈을 선택 합니다.

Drive 항목을 더블클릭 하고 사용자 지정 별칭 활성화를 체크 하고 확인을 누릅니다. 이제 사용자들은 Drive로 바로 접속 할 수 있습니다.


Desktop App을 설치하면 NAS와 동일 폴더를 PC에 sync 할 수 있어 매우 편리합니다. https://www.synology.com/ko-kr/support/download/ 에서 NAS와 기종을 선택하고, 데스크톱 유틸리티 탭을 선택한 다음 Synology Drive(PC) 을 찾으신후 각 플랫폼에 맞게 다운받아 설치 하십시오. (Cloud Station Drive 가 아닙니다!) 또한 모바일 버전도 있습니다. 다음 QR을 스캔 하시면 다운받으실 수 있습니다.

주의.
데스크탑 드라이브를 이용하면 여러 PC에서 파일들을 공유 할 수 있어 매우 편리합니다만, 기업에서 사용하는데 있어서는 보안적인 고려사항이 있습니다. 사용자가 집의 개인 PC에 드라이브를 설치하여 sync 하면 회사에서 하는 모든 업무의 파일들이 자동으로 집의 PC에 Sync 되는 결과가 됩니다. 따라서 추가적인 문서보안 솔루션을 도입하여 집의 PC에서는 암호화된 파일을 열 수 없도록 하거나, 회사 외부에서의 Drive 접근을 방화벽 등을 이용하여 차단 하거나 하는 또 다른 방법이 필요합니다. 접근 로그를 이용하면, 누가 어디서 파일 가져 갔는지 추적 할 수 있긴 합니다만, 이미 누출된 이후 이므로 소용이 없을 수 있습니다.

Synology Office
Google docs 처럼 온라인 문서를 만들 수 있는 툴입니다. Template 기능도 제공하며, 그럭저럭 쓸만 합니다만, 한글 폰트를 지정할 수 없는등의 문제는 있습니다. 하지만 공동 작업이 가능하고, PC 에 오피스 프로그램이 없어도 되므로, 저희 내부에서의 문서작성 2 순위(1순위는 위키페이지)로 사용하고 있습니다. 패키지 센터에서 오피스를 선택하고 설치 합니다.

이제 사용자는 Synology Drive 를 통해서 온라인 문서를 생성하고, 공유 할 수 있습니다.




Synology Chat
슬랙과 비슷한 (심지어 슬랙의 데이터를 export 해와서 import 할 수도 있습니다) 커뮤니케이션 툴입니다. 게다가 web hook을 지원하므로 약간의 노력(?)만 있으면 앞으로 설치할 gitlab 에서의 이벤트(push)등이 있을때 chat으로 통지 받을 수 있습니다. 따라서 반드시 설치해야 할 툴이기도 하며, 웹, 데스크탑 App, 모바일 까지 모두 갖추고 있습니다. 또한 Bot 기능도 있어 얼마든지 확장 가능한 협업 솔루션이며, 저희는 메일보다는 chat을 훨씬 더 많이 사용하고 있습니다. 패키지 센터에서 Chat 을 선택하고 설치 해 줍니다.

설치가 완료 되면 Chat 관리 콘솔을 실행 합니다.

계정 유형을 LDAP 사용자로 바꾸어 줍니다.

이제 사용자들이 DSM을 통해서 Chat을 사용할 수 있습니다.

만약 사용자의 메뉴에 Chat 이 보이지 않는다면 권한을 설정해야 합니다. 제어판-사용권한-Chat을 선택 하고 편집을 누릅니다. 그룹탭을 선택하고 LDAP 그룹을 선택하고 허용할 그룹을 체크해 줍니다. 물론 개인별로도 지정 가능합니다. 또한 Drive 처럼 응용 프로그램 포털을 이용하면 http://work.example.io:5000/chat 과 같은 숏컷도 가능합니다.

Desktop App은 Slack의 그것과 유사합니다. https://www.synology.com/ko-kr/support/download/ 에서 NAS와 기종을 선택하고, 데스크톱 유틸리티 탭을 선택한 다음 Chat 을 찾으신후 각 플랫폼에 맞게 다운받아 설치 하십시오. 또한 모바일 버전도 있습니다. 다음 QR을 스캔 하시면 다운받으실 수 있습니다. 저는 주로 모바일 버전을 사용하며, 자리에서 일할때는 Desktop App을 사용합니다. Web버전은 거의 켜본적이 없네요 ^^

Note Station
Evernote 에 비할바는 못되지만, 무제한 용량(물론 디스크 용량 ^_^)에 무료이고, 사용자간 공유기능이 있어 아주 유용하게 사용할 수 있습니다. Chat 처럼 Desktop, Mobile 버전이 있어 Sync도 매우 편리하게 할 수 있습니다. 고유 포맷으로 export/import 할 수 있어, backup과 restore도 가능합니다. 패키지 센터에서 Note Station을 설치해 줍니다. 이제 사용자가 Note Station을 사용할 수 있습니다. 만약 보이지 않는다고 하면, 마찬가지로 사용 권한을 변경해 줍니다.

메모에 암호도 걸 수 있습니다. Todo 리스트 작성도 가능합니다.

Desktop App은 https://www.synology.com/ko-kr/support/download/ 에서 NAS와 기종을 선택하고, 데스크톱 유틸리티 탭을 선택한 다음 Synology Note Station Client 을 찾으신후 각 플랫폼에 맞게 다운받아 설치 하십시오. 또한 모바일 버전도 있습니다. 다음 QR을 스캔 하시면 다운받으실 수 있습니다.

Calendar
사내에서 일정을 공유하기 위한 Caldav 서버입니다. Desktop/Mobile 클라이언트는 특별히 제공하지 않으며 Caldav를 지원하는 모든 클라이언트에서 일정을 공유하고 sync할 수 있습니다. 저는 Mac의 캘린더와 아이폰의 캘린더에서 회사 일정을 구독해 두고 일정을 공유하고 있습니다. 외근이나 휴가를 캘린더에 꽂으면 전사가 공유할 수 있습니다.

이제 사용자가 Calendar을 사용할 수 있습니다. 만약 보이지 않는다고 하면, 마찬가지로 사용 권한을 변경해 줍니다. 또한 Drive 처럼 응용 프로그램 포털을 이용하면 http://work.example.io:5000/cal 과 같은 숏컷도 가능합니다.
이제 전사 공유 일정 캘린더를 추가 합니다. 설치후 DSM을 통해 Calendar를 실행하고, 우측 캘린더 옆의 미트볼 메뉴를 눌러줍니다. 생성을 선택합니다.

적당한 이름을 입력하고 공유탭을 선택 합니다. DSM사용자 에게 공유를 선택하여 추가 하고 (보통은 그룹단위를 추가 하실 것입니다.) 읽기/편집 권한을 줍니다. 이제 이 캘린더는 전사가 공유할 수 있습니다.

이제 캘린더의 적당한 곳을 클릭하여 일정을 꽂아 봅니다. “달력” 항목에 방금 생성한 “전사일정”을 선택해야 다른 구성원들도 볼 수 있을 것입니다.

캘린더를 sync 하려면 https://www.synology.com/ko-kr/knowledgebase/DSM/tutorial/Collaboration/How_to_Sync_Synology_Calendar_with_CalDAV_Clients 를 참조 하시면 됩니다. 다만 LDAP 유저의 경우 anakin@example.io 와 같이 LDAP계정을 full로 적어주어야 합니다.
Web Station
dev.example.io 의 메인페이지가 되어주고, dev.example.io/xxxxx로의 reverse proxy를 위한 Web Station도 설치해 줍니다. 개인 홈페이지를 구축 할 수도 있고 회사 홈페이지를 서비스 할 수도 있습니다.

설치되고 나면 Web Station을 실행하고, 일반 설정을 선택합니다. 백엔드 서버로 어떤것을 선택해도 상관없으나, 저희는 Nginx를 사용하기로 합니다. PHP 도 선택해 줍니다. 적용을 누르고 PHP 설정을 선택 합니다. 앞서 선택한 PHP버전의 프로파일을 선택 합니다. 편집을 누르고 아래 확장 부분에서 curl을 체크해 줍니다(향후 Chat과의 연동을 위해 필요합니다).

가상 호스트를 선택하고 생성을 클릭 합니다. dev.example.io 를 생성합니다. 이제 개발팀만의 웹서버가 생겼습니다. ^_^

PC에서 index.html 파일을 하나 만들고, File Station을 열어서 선택했던 디렉토리에 업로드 합니다(브라우저상에 드래그앤드랍 하시면 됩니다.) 그리고 브라우저 다른 창에서 dev.example.io 를 쳐서 업로드한 파일이 표시되면 성공입니다.

DDNS
NAS가 회사 내부에 있고, 회사 인터넷이 유동 IP를 사용하는 곳이라면, 외부에서 NAS에 들어오기 위해서는 DDNS 서비스를 이용해야 합니다(IP time 공유기등으로 DDNS를 이미 사용하고 계시다면 이 과정은 하지 않아도 됩니다)
제어판-외부 액세스 에서 DDNS 탭을 선택하고 추가를 누릅니다. 서비스 제공업체를 선택합니다. 보통의 경우는 Synology를 선택하면되는데, Synology 계정을 만들어야 합니다. 계정을 만들고 등록하면 회사 유동 IP가 변경되어도 외부에서 example.synology.me 로 접근할 수 있습니다. 회사 외부의 DNS에 CNAME으로 example.synolgy.me를 work.example.io 로 걸어놓으면 회사외부에서도 work.example.io 를 통해 NAS에 접근 할 수 있게 됩니다. 이렇게 해두어야 향후 Let’s Encrypt에서 인증서를 받을 수 있습니다.

하지만 이것은 브라우저 주소창에 work.exmaple.io를 쳤을때 NAS가 연결된 공유기 까지만 오게 할 수 있습니다. 공유기 뒤에 있는 NAS까지 연결되기 위해서는 공유기의 UPNP기능을 사용해야 합니다. 제어판-외부 액세스 에서 라우터 구성탭을 선택하고 라우터설정을 누릅니다.

라우터 설정에 실패한다면, UPNP를 지원하지 않는 공유기이고 수동으로 설정해야 합니다(해당 공유기 메뉴얼 참조). 라우터 구성에서 생성을 누르고 포트 몇개를 NAS쪽으로 돌려 줍니다. 인터넷을 통해 DSM에 접근하지 않을 거라면 관리 UI, File Statio… 는 체크하지 않아도 됩니다.

핸드폰에서 WiFi를 끄고 브라우저를 열어서 dev.example.io 를 쳤을때 아까 업로드했던 웹페이지가 표시되면 성공입니다.
무료 인증서
DSM을 최초 설치하면 자체 비공인 인증서가 들어있고, 이때문에 https로 접근할때 브라우저가 비공인 인증서에 대한 경고를 표시합니다. 다행이 Let’s Encrypt 곳에서 무료 인증서를 줍니다. 다만 만료일이 90일이기 때문에 90일 마다 교체 해야 하는 번거러움이 있습니다. 그래도 DSM은 자동으로 90일마다 교체를 해주기 때문에 특별히 해야 할 일은 없습니다. 따라서 저희도 Let’s Encrypt 인증서를 설치하고 모든 접근은 https로만 하기로 합니다.
인증서를 받으려면 제어판-보안에서 인증서탭을 선택 하고 추가 메뉴를 클릭 합니다. 새 인증서 추가를 해도 되고, 기존 인증서 교체를 해도 됩니다. 새 인증서 추가를 하면 나중에 어떤 서비스가 이 인증서를 사용할지를 설정을 별도로 해야 합니다. 여기서는 교체를 해보겠습니다. 인증서 생성에서 Let’s Encrypt에서 인증서 얻기를 선택 합니다.

주제 대체 이름에 접속하려는 모든 호스트 이름을 ;(세미콜론)으로 구분하여 전부 입력해 줍니다. 안타깝게도 와일드카드(*)는 안되는 군요. dev.example.io;work.example.io;wiki.example.io;git.example.io 를 입력해 줍니다. 성공하지 못했다면, 위에 말씀드린것처럼 외부에서 NAS로 접근을 할 수 없기 때문입니다. DDNS와 라우터 설정을 살펴 보십시오. 설치가 완료되었다면 제어판-보안 인증서 탭에서 보일 것이며, 브라우저로 https://dev.example.io 에 경고 없이 정상 접속 될것입니다. 갱신은 90일마다 NAS가 자동으로 수행 합니다.
아주 간혹 갱신에 실패 하는 경우가 있는데 라우터 설정의 UPNP가 잘못된 경우가 대부분 이었습니다(라우터를 모르고 교체 했다던가…).

5 comments