お名前.com VPS に hubot をインストール
お名前.com VPS に hubot をインストールしてみた。
(0)まずはCentOS 7.1 をインストールする。
お名前.com の VPS に CentOS 7.1 をインストールする – with a Christian Wife
https://wacw.cf/2018/02/06/installing-centos-on-vps/
(1)git をインストールする。
(1-1)Development Tools をインストールする。
$ yum groupinstall 'Development Tools'
"cc: Command not found" when compiling a PAM module on Centos – Unix & Linux Stack Exchange
https://unix.stackexchange.com/questions/287913/cc-command-not-found-when-compiling-a-pam-module-on-centos
(1-2)最新版のGitをインストールする。
CentOS に最新版のGitをインストールする | bacchi.me
https://bacchi.me/linux/how-to-install-git/
(2)Node.js をインストールする(Node.js をインストールすると npm も含まれる)。
1curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
2$ yum -y install nodejs
3$ yum install gcc-c++ make
以下のコマンドでインストールができたことを確認する。
1$ node -v
2$ npm -v
参考:
【俺用メモ】 CentOS6にNode.jsをインストールする – Qiita
https://qiita.com/ozawan/items/86ca7551d59005128892
Installing Node.js via package manager | Node.js
https://nodejs.org/en/download/package-manager/#enterprise-linux-and-fedora
(3)Yeoman をインストール。
$ sudo npm install -g yo
参考:
node.js – Yeoman | yo command not found – Stack Overflow
https://stackoverflow.com/questions/24511032/yeoman-yo-command-not-found
(4)hubot をインストール。
1$ npm install -g hubot coffee-script
2$ npm install -g generator-hubot
(5)hubot 管理用ディレクトリの作成(適当な名前にする)。
1$ mkdir mybot
2$ cd mybot
(6)hubot のジェネレーターを起動し、各種設定をする。Bot adapter は slack にする。
$ yo hubot
(7)bot の動作確認。
$ /bin/hubot
Enter を押すと bot との対話ができるようになる。以下のように6で決めた bot の名前に対して ping を送ってみると、PONG と返ってくればうまくいったことになる。
mybot> mybot ping
(8)自分の Slack のチームのページで、「Customize Slack > Configure Apps」と進む。
検索ボックス「Search App Directory」で hubot を検索、選択。インストールする。
(9)bot の名前を聞かれるので適当に名前を付ける。次のページで表示される HUBOT_SLACK_TOKEN をコピーしておく。
(10)CentOS に戻る。hubot を生成したディレクトリに移動する(たぶん今いるディレクトリ)。
(11)hubot をデーモン化する。
(11-1)pm2 をインストールする。
$ npm i -g pm2
(11-2)app.json というファイルをを作成。
$ sudo nano app.json
以下を記述。
1{
2 "apps":[
3 {
4 "name" : "mybot",
5 "args" : ["-a", "slack"],
6 "script" : "./bin/hubot",
7 "exec_mode" : "fork",
8 "exec_interpreter" : "bash",
9 "autorestart" : true,
10 "env": {
11 "NODE_ENV" : "production",
12 "PORT" : "8080",
13 "HUBOT_SLACK_TOKEN" : "xxxxxxxxxxxxxxxxxxxxxxxxxxx"
14 }
15 }
16 ]
17}
(11-3)以下のコマンドを実行。
$ pm2 start app.json
(11)トークン用のシェルスクリプトを作成する。
$ sudo nano hoge.sh
以下を記述、保存。
1#!/bin/sh
2
3export HUBOT_SLACK_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxx
4
5./bin/hubot --adapter slack
(12)実行権限を追加。
$ chmod u+x hoge.sh
試しに実行してみる。
$ ./hoge.sh
Slack でアクティブになるはず。Slack で ping と打ってみると、PONG と返答される。
(13)hubot をデーモン化する。
$ pm2 start ./hoge.sh
デーモン化された hubot が表示されていれば成功。
参考:
CentOSにHubotを導入してSlackと連携させる – Qiita
https://qiita.com/GENM/items/0248433575580c9263b5
さくらvps+hubot+Slackでslack botをつくる – Qiita
https://qiita.com/bmf_san/items/1f04032b05c22de062af
RaspberryPiにhubotをインストールする – かべぎわブログ
http://www.kabegiwablog.com/entry/2017/09/26/113000
hubotをSlackと連携してデーモン化するまでの手順 – nametake-blog
http://nametake-1009.hatenablog.com/entry/2016/02/09/155105