시놀로지 6.0 텔레그램으로 알림 받기 (Synology/Xpenology DSM 6.0 SMS message by Telegram)

DSM 6.0 이상 버전에서 xpebot (https://github.com/acidpop/xpebot) 을 적용하게 되면 다운로드 완료 시점에서 상태 정보가 “에러” 로 표시된다.

DSM 6.0부터는 각 Application 별로 계정이 따로 존재하고, postgresql DB 에서도 계정별로 권한이 주어져 있기때문에 기존 Trigger 와 sql function 이 내부적으로 permission denied 오류가 발생하게 된다.

DSM 6.0 에서는 xpebot 만 git으로 받고 실행 한다고 해서 알림을 받을수는 없다.

1. Download Staion 설치 및 설정.
DSM 6.0 이후 버젼에 Download Station 이 설치되어 있어야 한다.
DownloadStation 을 설치 하고 다운로드 받을 대상 폴더와 감시 폴더를 각각 설정한다.

synology6_smstelegram01
주의 : 다른 시스템의 디스크를 Mount 한 디렉토리는 감시 폴더 작동이 제대로 안된다.

 

2. GitServer 설치.
패키지 센터를 열고 GitServer 를 설치 한다.

synology6_smstelegram02

 

3. Python 설치.
패키지 센터를 열고 개발자 도구 메뉴를 클릭한 다음 Python3 와 Python Module 을 설치 한다.

synology6_smstelegram03

 

4. 사용자 설정.
제어판 -> 사용자 메뉴를 클릭한 다음
고급 탭으로 이동한다.
그후 스크롤을 가장 아래로 내려보면 사용자 홈 서비스 활성화 버튼이 있는데 해당 부분을 체크 하고 확인 버튼을 누른다.

synology6_smstelegram04

 

5. SSH 서비스 활성화.
제어판 -> 터미널 및 SNMP 메뉴를 클릭한 다음
SSH 서비스 활성화 버튼을 체크하고 “적용” 버튼을 클릭한다.

synology6_smstelegram05

 

6. SSH 접속.
SSH 에 접속 할 수 있는 툴을 실행한다.

  1. Putty : Putty download
  2. XShell : Xshell download

Putty 또는 ssh 접속 툴을 이용하여 NAS 의 ip 를 적고 port 는 22 번으로 접속한다. (5번에서 port 를 변경 하였다면 변경한 port 로 접속)
ID : DSM 로그인 ID (Admin Group 에 속해 있어야 함)
PW : DSM 로그인 ID 의 Password

 

7. Download Station 계정 변경하기
ssh 접속된 상태에서 다음 명령으로 root 계정으로 전환 할 수 있다.

sudo -i

위 명령을 실행 하면 Password 를 물어 보는데
DSM 로그인 ID 의 Password 를 입력 하면 된다.
whoami 명령을 이용해서 root 라고 표시 된다면 root 로 로그인 된것이다.
다음 명령으로 계정 정보를 변경 해야 한다.

vim /etc/passwd

위 명령을 수행하면 아래와 같은 화면을 볼수 있다.

anonymous:x:21:21::/nonexist:/usr/bin/nologin
avahi:x:84:84::/:/bin/false
dbus:x:81:81::/:/usr/bin/nologin
dovecot:x:143:143::/dev/null:/usr/bin/nologin
DownloadStation:x:125560:125560::/var/packages/DownloadStation/target:/usr/bin/nologin
ftp:x:21:21::/nonexist:/usr/bin/nologin
guest:x:1025:100:Guest:/nonexist:/usr/bin/nologin
http:x:1023:1023::/var/services/web:/bin/false
ldap:x:439:439::/var/lib/openldap:/usr/bin/nologin

이 부분을 다음과 같은 변경 한다.
커서를 수정 하려는 곳으로 이동 후에 i 키를 누르고 /bin/sh 를 입력한다.
필요 없는 부분은 delete 키를 이용해서 지운다.

anonymous:x:21:21::/nonexist:/usr/bin/nologin
avahi:x:84:84::/:/bin/false
dbus:x:81:81::/:/usr/bin/nologin
dovecot:x:143:143::/dev/null:/usr/bin/nologin
DownloadStation:x:125560:125560::/var/packages/DownloadStation/target:/bin/sh
ftp:x:21:21::/nonexist:/usr/bin/nologin
guest:x:1025:100:Guest:/nonexist:/usr/bin/nologin
http:x:1023:1023::/var/services/web:/bin/false
ldap:x:439:439::/var/lib/openldap:/usr/bin/nologin

/usr/bin/nologin -> /bin/sh.
수정 완료 후 ESC 키를 한번 누르고 :wq (콜론 wq) 명령을 입력하고 엔터를 치면 수정 된다.

 

8. DownloadStation 계정으로 로그인하기
/etc/passwd 수정이 끝났다면 다음 명령으로 DownloadStation 계정으로 로그인 할 수 있다.

su – DownloadStation

위 명령을 수행 하고 whoami 명령을 이용해서 DownloadStation 계정으로 로그인 되었는지 확인 한다.

9. 알림을 받을 Table 및 트리거 생성하기.
DownloadStation 계정으로 로그인 되었다면 아래 명령을 이용해서 postgresql 에 접속 한다.

psql -U DownloadStation -d download

명령을 수행 하면 다음과 같은 화면을 볼 수 있다.

psql (9.3.6)
Type “help” for help.
download=#

위 상태에서 다음 Query 문을 이용하여 Table, Function, Trigger 를 생성한다.
다음 순서 대로 Query 문을 복사/붙여넣기 한다. (Query file : DOWNLOAD )

1. Create Table.

synology6_smstelegram06

 

2. Create OR Replace function

synology6_smstelegram07

 

3. Create Trigger

synology6_smstelegram08

Query 가 성공적으로 끝났다면 \q 를 입력하면 psql 이 종료 된다.

10. root 계정으로 전환 후 xpebot 설치 하기
exit 명령을 이용해서 root 계정으로 다시 돌아온다.
혹시 root 계정으로 돌아오지 않는다면 ssh 접속을 종료하고 다시 접속하여 sudo -i 명령을 이용해 root 계정으로 로그인한다.
다음 명령을 이용해서 사용자 홈 경로로 이동한다.

cd /volume/homes/admin

위 명령에서 admin 은 자신의 dsm 로그인 ID 이다. 각자 ID에 맞게 수정해서 수행한다.
xpebot 설치는 다음 명령을 차례대로 수행한다.

synology6_smstelegram09

bot.sh 파일을 열어 3번째 줄의 admin 부분을 자신의 계정으로 변경한다.
xpebot.cfg 파일을 열어 각각의 정보를 변경한다.

  1. NOTY_CHAT_ID 는 Downlaod Staion 에서 다운로드 진행 현황 알림을 받을 사용자의 Chat ID 값을 입력한다.
  2. DSM_ID 는 자신의 DSM ID 를 입력한다.
  3. BOT_TOKEN 은 Telegram 의 Bot Father 에서 /newbot 을 요청하여 BOT 생성 후 자신의 BOT TOKEN 값을 입력한다.
  4. VALID_USER 는 인증된 사용자의 chat_id 값을 입력한다. 여러명일 경우 ,(콤마)를 이용해 구분한다.
  5. NAVER_API 섹션에 발급 받은 CLIENT_ID_KEY 값과 CLIENT_SECRET_KEY 값을 입력한다.
  6. RSS_NEWS 섹션에 보고 싶은 뉴스의 RSS 주소를 입력한다.
  7. DATA 섹션에 data.go.kr 에서 발급 받은 서비스 키를 입력한다

수정이 완료 되었다면 다음 명령어로 bot 을 실행 하거나 중지 시킬 수 있다.

./bot.sh start

./bot.sh stop

./bot.sh restart

./bot.sh chk

Download Station 계정으로 로그인 하고 Table, Function , Trigger 까지만 생성이 되었다면 https://github.com/acidpop/xpebot
github 에 있는 내용대로 하면 된다.

 

원본 참고 : http://blog.acidpop.kr/240?srchid=BR1http://blog.acidpop.kr/240

댓글 남기기