Ubuntu 16.04 에 telegram-cli 설치 및 데몬실행 설정

텔레그램을 이용한 알림 전송은 이전 포스트와 같이 처리하면 가능하다. 다만 chat_id를 확인하고 등록해야만 하는데 이런 불편함을 없애보고자 telegram-cli 를 개발서버에 설치해 메세지 전송을 테스트하려고 telegram-cli를 아래와 같이 설치했다.

telegram-cli : https://github.com/vysheng/tg

위 내용대로 진행하면 이상없이 설치가 된다.. 아니 되어야 한다. 그런데 나의 경우 libssl-dev 설치 버전이 1.1 이이서 make 과정에서 openssl 관련 오류가 발생했다. openssl은 시스템 전반에 영향을 끼치는 것이라 버전을 바꾸기도 애매했는데 확인해보니 PHP를 설치하기 위해 ondrej/php ppa 를 이용한 경우에 1.1 버전이 설치되는 듯 했다. PHP를 제거하고 ppa를 제거한 후 우분투 16.04에서 기본 제공하는 php 7.0.x 버전을 설치하면 1.0 버전을 유지할 수 있어 컴파일 때 오류가 발생하지 않는다. 컴파일 완료 후 아래 명령을 통해 telegram-cli를 실행한다.

휴대폰 번호 인증 후 telegram-cli 를 통해 메세지를 전송할 수 있다. 간단한 사용법은 http://tech.whatap.io/2015/09/25/telegram-cli/ 참고.

원래 목적이 휴대폰 번호를 이용해 메세지를 전송하고 사내에서는 쉽게 이용할 수 있도록 하는 것이기 때문에 telegram-cli를 서버 데몬으로 실행할 수 있도록 추가 작업을 진행했다. 데몬으로 설정하는 것은 https://github.com/vysheng/tg/wiki/Running-Telegram-CLI-as-Daemon 를 참고해서 진행했다. 문서에 나온대로 진행할 경우 데몬 실행에 오류가 발생하기 때문에 마지막 과정에서 데몬실행 telegram-daemon 파일의 내용을 수정했다.

telegram-daemon 파일에 아래 내용을 추가한다.

데몬을 서비스로 등록하기 위해 아래 명령을 실행한다. 데몬의 포트를 변경하려면 위 스크립트 내용 중 2391 을 다른 포트번호로 변경한다. 참고 : https://github.com/vysheng/tg/issues/373#issuecomment-165580387

telegram-cli 데몬을 실행하기 위해 아래 명령을 실행한다. start 와 restart, stop, status 도 사용할 수 있다.

telegram-cli 데몬에 명령을 전달하기 위해 netcat 또는 telnet 을 이용할 수 있다. 아래 명령은 netcat을 이용한 것이다.

사용할 수 있는 명령은 https://github.com/vysheng/tg#messaging 를 참고한다.

편리

PHP와 MariaDB, jQuery 등을 사용해 게시판, 쇼핑몰 솔루션을 개발합니다. 그누보드5와 영카트5 개발에 참여 했습니다. Linux와 Nginx는 물론 WordPress, Git 등에도 관심이 많습니다. 자전거 타기 및 사진 촬영을 취미로 하고 있습니다.

Leave a Reply

Your email address will not be published. Required fields are marked *