미니톡 서버프로그램 설치
미니톡 서버프로그램을 설치하기 위해서는 ROOT 권한을 가진 서버가 필요합니다.
또한 미니톡 서버프로그램은 Node.js 12.x 및 MongoDB 3.x 버전이 추가적으로 필요합니다.
Node.js 설치
Node.js 는 https://nodejs.org 홈페이지를 참고하여 자신의 시스템에 맞는 방법으로 설치하여 주시면 됩니다.
Node.js 12.x LTS 버전을 설치하면 되며, 이 매뉴얼 문서에서는 리눅스시스템(Ubuntu)에서 가장 일반적인 방법으로 설치하는 방법에 대해 설명합니다.
Node.js 버전은 매뉴얼 작성시점을 기준으로 최신버전인 v12.18.4 버전을 기준으로 설명합니다.
SSH 을 사용하여 ROOT 계정으로 서버에 접속합니다.
아래의 명령어로 Node.js 설치합니다.
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs
MongoDB 설치
MongoDB 는 https://www.mongodb.com 홈페이지를 참고하여 자신의 시스템에 맞는 방법으로 설치하여 주시면 됩니다.
MongoDB 3.x 버전을 설치하면 되며, 이 매뉴얼 문서에서는 리눅스시스템(Ubuntu)에서 가장 일반적인 방법으로 설치하는 방법에 대해 설명합니다.
MongoDB 버전은 매뉴얼 작성시점을 기준으로 최신버전인 v3.6.8 버전을 기준으로 설명합니다.
SSH 을 사용하여 ROOT 계정으로 서버에 접속합니다.
아래의 명령어로 MongoDB 를 설치합니다.
apt-get install mongodb
MongoDB는 일반적으로, 사용자인증을 하지 않고 사용할 수 있으나, 보안을 위해 사용자 인증을 사용하는 것을 권장합니다.
인증을 사용한다고 하였다면, 사용자계정을 추가하여 주어야 합니다.
mongo
위 명령어를 입력하여, MongoDB 에 접속합니다.
MongoDB shell version v3.6.8
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.8
> use admin
> db.createUser({user: 'username', pwd: 'password', roles: ['userAdminAnyDatabase', 'dbAdminAnyDatabase', 'readWriteAnyDatabase']})
빨간색으로 표시된 부분을 원하는 사용자 계정 및 암호로 설정하여 계정을 추가합니다.
vi /etc/mongodb.conf
위의 명령어를 통해 MongoDB 설정파일을 수정합니다. (설정파일 경로는 서버에 따라 다를 수 있습니다.)
#auth = true
윗줄을 찾아, 아래와 같이 # 을 제거하여 수정하여 줍니다.
auth = true
bind_ip = 127.0.0.1
위의 설정을 아래와 같이 변경하면, 서버 외부에서도 MongoDB 에 접속할 수 있습니다.
bind_ip = 0.0.0.0
미니톡 서버프로그램이 사용할 데이터베이스와 계정을 추가합니다.
mongo
MongoDB shell version v3.6.8
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.8
> use minitalk
> db.createUser({user: 'username', pwd: 'password', roles: ['dbOwner']})
빨간색으로 표시된 부분을 원하는 사용자 계정 및 암호로 설정하여 계정을 추가합니다.
미니톡 서버프로그램 설치
미니톡 서버프로그램 라이선스를 미니톡서비스 > 서버라이선스 페이지에서 구매하신 후 미니톡 다운로드 페이지에서 서버프로그램을 포함하여 미니톡 클라이언트 및 서버프로그램을 다운로드 받습니다.
미니톡 서버프로그램내에 존재하는 configs.sample.js 파일의 경로가 아래와 같이 되어야 합니다.
/미니톡클라이언트가설치된 경로/server/configs.sample.js
mv configs.sample.js configs.js
위의 명령어로 configs.sample.js 파일의 이름을 configs.js 로 변경합니다.
vi configs.js
위의 명령어를 이용하여, 미니톡 서버프로그램의 환경설정파일을 편집합니다.
/** * 이 파일은 미니톡 서버프로그램의 일부입니다. (https://www.minitalk.io) * 이 파일의 저작권은 Moimz.com 에 있으며, 허가되지 않은 사용자가 이 파일을 배포하는 것은 금지되어 있습니다. * 자세한 내용은 미니톡 홈페이지(https://www.minitalk.io)를 참고하여 주시기 바랍니다. * * 미니톡 서버프로그램의 환경설정 파일 예제입니다. * 이 파일의 이름을 configs.js 파일로 변경한 뒤 아래의 설정값들을 적절하게 수정하여 주시기 바랍니다. * * @file /configs.sample.js -> /configs.js * @author Arzz (arzz@arzz.com) * @license (c) Moimz.com * @version 7.0.0 * @modified 2020. 3. 19. */ module.exports = { /** * 미니톡 홈페이지에서 구매한 서버프로그램 라이센스키를 입력하여 주십시오. */ license:"", /** * 미니톡 도메인 또는 아이피를 입력하여 주십시오. (예:127.0.01 / www.yourdomain.com) * https 를 사용할 경우 아이피는 불가능하며, 도메인연결이 반드시 필요합니다. */ host:"www.yourdomain.com", /** * 미니톡 서버프로그램을 실행시킬 포트번호를 입력하여 주십시오. */ port:3121, /** * https 를 사용할지 여부를 설정하여 주십시오. https 사용시 인증서파일이 필요합니다. */ https:true, /** * 채팅기록을 임시저장할 시간을 초 단위로 입력하여 주십시오. * 임시저장된 채팅기록은 미니톡 채팅위젯에서 이전 대화기록 보기에 사용되며, 미니톡 클라이언트 관리자에서 확인가능한 채팅기록 영구보관은 이 설정과 무관하게 기록됩니다. */ logTime:60 * 60 * 24, // 1일 /** * https 를 true 로 설정한 경우, 이 설정값을 정의하여 주어야 합니다. * key : 인증서 생성시 사용한 개인키(Private Key) 파일의 경로를 입력하여 주십시오. * cert : 도메인 인증서(Certificate) 파일의 경로를 입력하여 주십시오. * ca : 인증서 체인(Certificate Chain) 파일의 경로를 입력하여 주십시오. */ certificate:{ key:"/yourpath/private.key", cert:"/yourpath/yourdomain.crt", ca:"/yourpath/bundle.ca" }, /** * 미니톡 클라이언트 설정 * url : 미니톡 클라이언트가 설치된 주소를 포함하여 API 호출경로를 입력하여 주십시오. * secret_key : 미니톡 클라이언트를 설치할때 입력하였던 암호화키를 입력하여 주십시오. */ client:{ url:"https://www.yourdomain.com/minitalk/api/index.php", secret_key:"yoursecretkey" }, /** * 미니톡 서버 설정 * logTime : 대화기록 임시저장 시간(초) (미니톡 채팅위젯에서 이전 대화기록 보기에 사용되며, 로그 영구보관은 이 설정과 무관하게 클라이언트가 설치된 서버의 MySQL 에 기록됩니다.) */ server:{ logTime:60 * 60 * 24 // 1일 }, /** * 몽고디비에 접속할 수 있는 URL 를 입력하여 주십시오. */ mongodb:"mongodb://mongodb_id:mongodb_password@localhost:27017/minitalk" };
환경설정파일 수정을 모두 마쳤다면, 아래 명령어를 통해 필수 Node.js 모듈을 설치합니다.
npm install
설치가 완료되었다면, 아래의 명령어로 미니톡 서버프로그램을 실행할 수 있습니다.
node app.js start
start 부분에 아래의 다른 실행명령어로 변경하여 사용할 수 있습니다.
start : 미니톡 서버프로그램을 시작합니다.
stop : 미니톡 서버프로그램을 종료합니다.
restart : 미니톡 서버프로그램을 재시작합니다.
status : 미니톡 서버상태를 확인합니다.
미니톡 서버프로그램 서비스 등록/제거
리눅스 시스템상에서 미니톡 서버프로그램을 서비스로 등록하면, 간단하게 시스템명령어를 통해 미니톡 서버 프로그램을 제어하거나, 시스템이 재부팅이 되었을 때, 자동으로 미니톡 서버프로그램이 실행되도록 할 수 있습니다.
현재 미니톡 서버프로그램 자동실행과 관련된 내용은 리눅스 시스템에서만 적용되며, 윈도우나, macOS 에서는 아직 지원되지 않습니다.
미니톡 서버프로그램을 리눅스 서비스로 등록하려면 SSH 에 접속 후 미니톡 서버프로그램이 설치된 폴더로 이동하여 아래와 같은 명령어를 실행합니다.
node app.js install
미니톡 서버프로그램 설치가 완료되었다는 메시지가 나온다면, 성공적으로 설치가 된 것이며 아래와 같은 명령어로 미니톡 서버프로그램을 제어할 수 있습니다.
service minitalk start
service minitalk stop
service minitalk restart
또는 아래의 명령어로도 서버 프로그램을 제어할 수 있습니다.
/etc/init.d/minitalk start
/etc/init.d/minitalk stop
/etc/init.d/minitalk restart
/etc/init.d/minitalk status
서비스등록을 제거하려면 미니톡 서버프로그램이 설치된 폴더에서 아래와 같은 명령어를 실행합니다.
node app.js uninstall