やっところさ、sshでRaspberry Piに入ってみた&Slackサーバにしてみた

こんにちは、豆珈琲です。

mamecafe.hatenablog.com

 ……この記事から176日後にラズパイからSlackに接続をするようにしました。
女流エンジニアのくせに、致すことが遅くて申し訳ありません。

ラズパイ(ラズベリーパイ/Raspberry Pi)とは?

エンジニア界隈でラズパイといえば、甘酸っぱくて美味しいラズベリーを使ったパイではなく、このRaspberry Piを指します。

Amazonアフィリエイトの画像では、見た目の良さからケース付きのものを出していますが、実際はむき出しの基盤のみの単体販売です。

簡単にラズパイについて説明をさせていただくとしたら、「低スペック低価格低電力のPC」です。自作パソコンに手を出したことはないので、一番安いとは言えませんが、技術的なハードルに関しても低いと言えます。

Slackのbotを24時間動かし続けるためにPCを使用するよりも、このラズパイを使った方がランニングコストは低いのと、家の中に転がっていた(笑)ということで使用しました。

sshでラズパイに入ってみた

さてさて、気になるラズパイの入り方です。
本当は大学時代に研究室で一度入っており設定済みだったのですが、自宅では設定をしておらず、尚且つ、ワイヤレスキーボードとのリンクが切れてしまったので、再設定が出来なくて、ラズパイを放置しておりました。その為、今回はラズパイの初期設定(OSのインストール、ネットワーク設定)については省きます。

また、WindowsよりもMacから作業したほうが楽なので、Macでのやり方になります。

  1. ラズパイ操作でIPアドレスを確認し、出てきたアドレスをメモする
    >ip addr
  2. そのままsshを有効にするために、raspi-configから設定をします
    ・Advance Options> SSH > Enable
  3. Macからsshログインをします
    > ssh pi@ラズパイで調べたipアドレス
    >password: raspberry

蛇足ですが、ID:pi password:raspberryはOSの初期設定のままのログイン情報なので、ユーザの追加とpiユーザの削除をオススメします。

hubotを起動して、Slackにbotととして存在させる……準備

Slackでhubotを起動させるために、Node.jsとYeoman、Hubotのジェネレーターをインストールします。

  1.  Githubからclone > git clone git://github.com/creationix/nvm.git ~/.nvm
  2.  パスを通します > source ~/.nvm/nvm.sh 
  3.  パスを記述します > vi ~/.bash_profile
  4.  最新版の確認 > nvm ls-remote
  5.  最新版をインストール > nvm install v8.1.4(最新版を推奨)
  6.  node.jsのバージョン確認 >  node -v
  7.  npmのバージョン確認 > npm -v
  8.  Yeomanとhubotジェネレータのインストール >  npm install -g yo generator-hubot

このあたりはぽちぽち、さくさくと。 
エンジニアの個性はこのあたりはまだ入らないですね。

hubotジェネレータでacebotを作成する

  1. 作業用フォルダを作成 > mkdir workSpace
  2. bot用のフォルダを作成し、フォルダに移動
    > cd workSpace 
    > mkdir acebot
    > cd acebot 
  3. hubotでジェネレート> yo hubot
    作成に暫く時間がかかるので、珈琲でも入れてきます(๑•̀ㅂ•́)و☕

嬉しいことにエラーは何も出てこなかったので、次に進みます。
いくつか質問をされるので、適当に答えていきましょう。

? Owner cafemame@coffie.com(例)

? Bot name acebot

? Description Ace Bot

? Bot adapter slack

 

f:id:mamecafe:20170716185451p:plain

この画像が出てくれば、成功です。

slack-token.shを作成

slackに接続する設定を書きます。

#!/bin/sh

export HUBOT_SLACK_TOKEN=<token>

./bin/hubot --adapter slack

 <token>は「Slackにbotをいれてみた」でSlackから発行されたものをいれてください。 

mamecafe.hatenablog.com

作成したslack-token.shに実行権限を与えます。

sudo chmod u+x slack-token.sh

 

結果 

Slackにラズパイから常駐出来るようになります。

> sh ./slack-token.sh

up to date in 37.09s

[Fri Jul 14 2017 17:39:07 GMT+0900 (JST)] INFO Logged in as ace of Slackのチーム名

[Fri Jul 14 2017 17:39:09 GMT+0900 (JST)] INFO Slack client now connected

[Fri Jul 14 2017 17:39:24 GMT+0900 (JST)] INFO hubot-redis-brain: Using default redis on localhost:6379

 

まだ、ping&pongのやり取りしか出来ませんが、ひとまず第2歩目です。

f:id:mamecafe:20170714181935p:plain

 エラー対処

私の場合は、下記のようなエラーが出たため、2点作業を行いました。

[Fri Jul 14 2017 17:35:15 GMT+0900 (JST)] ERROR hubot-heroku-keepalive included, but missing HUBOT_HEROKU_KEEPALIVE_URL. `heroku config:set HUBOT_HEROKU_KEEPALIVE_URL=$(heroku apps:info -s | grep web.url | cut -d= -f2)`

……herokuを使う予定は今のところなにので(?)、さくっとエラー対応します

rm -rf hubot-scripts.json

vi external-scripts.jsonでherokuが含まれているものを削除 

参考URL(ありがとうございました)

qiita.com

qiita.com

d.hatena.ne.jp