さくらのクラウドに Hubotをのせてみた備忘録(環境構築編)

下記のアドベントカレンダーの記事です。
qiita.com

最近、さくらのクラウドの2万円クーポンをいただきましたので、その環境にhubotを入れてみようと思います。

もともとはチャットボットAdventCalender向けに書いていたのですが、書いているうちにクラウドに関する説明が長くなってきたので、さくらインターネット(その2)AdventCalenderにも登録してみました。
なので、記事も2部構成にします。

さくらのクラウドとは

こういう説明は苦手なので、とりあえず公式サイトを見て感じ取ってください。
cloud.sakura.ad.jp

20日未満だと日割課金なので、休日の実験環境にもってこいです。
料金 | さくらのクラウド

このたび5周年を迎えたらしいです。
おめでとうございまーす!

導入方法

公式サイトが一番わかりやすいです。
cloud.sakura.ad.jp

サーバリソースの選択

ここからはキチンと自分で書きます。
サーバ一覧の右上のほうにある「追加+」からサーバを追加します。
今回は、以下のような形で設定しました。

  • CentOS7.2 64bit
  • 1GB/1 仮想コア
  • 20GB SSDプラン

f:id:butackle:20161203152425p:plain

月額:2484円
日額: 123円
時額: 12円
となりました。ま、2万円クーポンがあれば無敵ですね!

サーバ設定

下記画面でサーバ設定を行います。
f:id:butackle:20161203153004p:plain
私は、下記のように設定を行いました。

接続先のネットワーク パスワード 公開鍵^1 ホスト名 作成数
インターネット 任意 入力 任意 1

作成をポチッ!

3分かかってないんじゃないかという早さで作成完了!!

sshログインする(初回)

サーバ一覧に戻ると出来たてホヤホヤの環境が表示されています。
そうすると、右にインターフェースの項目が表示されているので、
それを基にssh root@<インターフェースに記載されたアドレス>でログインします。
なお、詳細画面の「コンソール」を選択しても環境にアクセスできますよ。

各種セキュリティ設定

rootログインした状態でお願いします。
もし、設定を間違えて入れなくなったら、コンソールからログインして設定変更できますので安心。
参考資料:セキュリティの設定

一般ユーザを作成

useradd <ユーザ名>でユーザを作成し、passwd <ユーザ名>でパスワードを設定します。
そして、usermod -G wheel <ユーザ名>でwheelグループに所属させ、sudoコマンドを打てるように設定します。

sshの設定を変更

vi /etc/ssh/sshd_configsshの設定を変えます。
頭に#が付いているときは、コメントになっているので消してください。

設定(前) 設定(後) 説明
Port 22 Port <任意のポート番号> SSH接続のポートを変更
PermitRootLogin yes PermitRootLogin no rootユーザでのログインを無効
PasswordAuthentication yes PasswordAuthentication no パスワード認証を無効

設定したらsystemctl restart sshd.serviceで再起動してください。

公開鍵を移動

普通こんなコトしない気がしますが、rootでのログインは原則禁止にしたので、一般ユーザでsshログインできるように、公開鍵を移動させました。
mv /root/.ssh /home/<ユーザ名>/.sshで移動させたあとchown -R <ユーザ名>/home/<ユーザ名>/.ssh/で所有者を変更しました。`

firewall設定

firewall-cmd --add-port=<任意のポート番号>/tcp --zone=public --permanentssh接続に使うポートへアクセス許可を出し、firewall-cmd --reloadで設定を反映させます。

sshログインする(2回目以降)

ssh -p <任意のポート番号> <ユーザ名>@<インターフェースに記載されたアドレス>でログインします。

Node.jsとnpmをインストール

sudo yum install nodejs npm --enablerepo=epelで出来ました。

npmでHubotに必要なモジュールをインストール

sudo npm install -g hubot yo generator-hubot coffee-scriptで出来ました。

Hubotを生成する

yo hubotと叩くとジェネレータが起動します。 メールアドレスやらオーナー名やらbot名やらの設定を経て、生成されます。

Hubotを起動する。

今回は試しにSlackにつないでみます。
SLACKのトークンをexport HUBOT_SLACK_TOKEN=<API Token>で設定して、./bin/hubot --adapter slackで起動できます。
うまく繋がれば、bot名の横の丸が緑色になっているはずです。 f:id:butackle:20161030123051p:plain


こんなカンジで基本的な環境構築までは上手くいきました。
所要時間は2〜3時間です。
環境構築が苦手な私が色々と調べながらやっての時間なので、慣れてきたら断然はやく出来ると思います!
ココからの作業は さくらのクラウドに Hubotをのせてみた備忘録(チャットボット編) に続きます!