daabでログイン、実行、ログアウト
前回の記事でdaab initに成功したので、ターミナルから
directの既存の自分のユーザアカウントでログインして、
実行、ログアウトまでできるのか確認する(ΦωΦ)
[手順]
1. 既存の自分のアカウントでログイン。
$ daab login
[2018-04-18 15:15:40] WebSocket opened. --- 成功すると開く
Email: user@example.com --- 自分のアカウントのメールを設定
Password: ---- 自分のアカウントのパスワードを設定
logged in.
2. botサーバ(多分)?を起動して実行。
$ daab run
npm WARN deprecated coffee-script@1.6.3: CoffeeScript on NPM has moved to "coffeescript" (no hyphen)
npm WARN deprecated connect@2.30.2: connect 2.x series is deprecated> websocket@1.0.23 install /home/username/mybot/node_modules/websocket
> (node-gyp rebuild 2> builderror.log) || (exit 0)make: ディレクトリ `/home/username/mybot/node_modules/websocket/build' に入ります
CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
make: ディレクトリ `/home/username/mybot/node_modules/websocket/build' から出ます
starter@0.3.6 /home/username/mybot
├─┬ lisb-forever@0.15.3
│ ├─┬ cliff@0.1.10
│ │ ├── colors@1.0.3
│ │ └── eyes@0.1.8
│ ├── clone@1.0.4
│ ├── colors@0.6.2
│ ├─┬ flatiron@0.4.3
│ │ ├─┬ broadway@0.3.6
│ │ │ ├── cliff@0.1.9
│ │ │ └── winston@0.8.0
│ │ ├── director@1.2.7
│ │ ├── optimist@0.6.0
│ │ └─┬ prompt@0.2.14
│ │ ├─┬ read@1.0.7
│ │ │ └── mute-stream@0.0.7
│ │ └── revalidator@0.1.8
│ ├─┬ forever-monitor@1.7.1
│ │ ├─┬ chokidar@1.7.0
│ │ │ ├─┬ anymatch@1.3.2
│ │ │ │ ├─┬ micromatch@2.3.11
│ │ │ │ │ ├─┬ arr-diff@2.0.0
│ │ │ │ │ │ └── arr-flatten@1.1.0
│ │ │ │ │ ├── array-unique@0.2.1
│ │ │ │ │ ├─┬ braces@1.8.5
│ │ │ │ │ │ ├─┬ expand-range@1.8.2
│ │ │ │ │ │ │ └─┬ fill-range@2.2.3
│ │ │ │ │ │ │ ├── is-number@2.1.0
│ │ │ │ │ │ │ ├── isobject@2.1.0
│ │ │ │ │ │ │ ├─┬ randomatic@1.1.7
│ │ │ │ │ │ │ │ ├─┬ is-number@3.0.0
│ │ │ │ │ │ │ │ │ └── kind-of@3.2.2
│ │ │ │ │ │ │ │ └── kind-of@4.0.0
│ │ │ │ │ │ │ └── repeat-string@1.6.1
│ │ │ │ │ │ ├── preserve@0.2.0
│ │ │ │ │ │ └── repeat-element@1.1.2
│ │ │ │ │ ├─┬ expand-brackets@0.1.5
│ │ │ │ │ │ └── is-posix-bracket@0.1.1
│ │ │ │ │ ├── extglob@0.3.2
│ │ │ │ │ ├── filename-regex@2.0.1
│ │ │ │ │ ├─┬ kind-of@3.2.2
│ │ │ │ │ │ └── is-buffer@1.1.6
│ │ │ │ │ ├─┬ object.omit@2.0.1
│ │ │ │ │ │ ├─┬ for-own@0.1.5
│ │ │ │ │ │ │ └── for-in@1.0.2
│ │ │ │ │ │ └── is-extendable@0.1.1
│ │ │ │ │ ├─┬ parse-glob@3.0.4
│ │ │ │ │ │ ├── glob-base@0.3.0
│ │ │ │ │ │ └── is-dotfile@1.0.3
│ │ │ │ │ └─┬ regex-cache@0.4.4
│ │ │ │ │ └─┬ is-equal-shallow@0.1.3
│ │ │ │ │ └── is-primitive@2.0.0
│ │ │ │ └─┬ normalize-path@2.1.1
│ │ │ │ └── remove-trailing-separator@1.1.0
│ │ │ ├── async-each@1.0.1
│ │ │ ├── glob-parent@2.0.0
│ │ │ ├── inherits@2.0.3
│ │ │ ├─┬ is-binary-path@1.0.1
│ │ │ │ └── binary-extensions@1.11.0
│ │ │ ├─┬ is-glob@2.0.1
│ │ │ │ └── is-extglob@1.0.0
│ │ │ └─┬ readdirp@2.1.0
│ │ │ ├── graceful-fs@4.1.11
│ │ │ ├─┬ readable-stream@2.3.6
│ │ │ │ ├── isarray@1.0.0
│ │ │ │ ├── process-nextick-args@2.0.0
│ │ │ │ ├── safe-buffer@5.1.1
│ │ │ │ ├── string_decoder@1.1.1
│ │ │ │ └── util-deprecate@1.0.2
│ │ │ └── set-immediate-shim@1.0.1
│ │ ├─┬ minimatch@3.0.4
│ │ │ └─┬ brace-expansion@1.1.11
│ │ │ ├── balanced-match@1.0.0
│ │ │ └── concat-map@0.0.1
│ │ └─┬ ps-tree@0.0.3
│ │ └─┬ event-stream@0.5.3
│ │ └── optimist@0.2.8
│ ├─┬ nconf@0.6.9
│ │ ├── async@0.2.9
│ │ ├── ini@1.3.5
│ │ └── optimist@0.6.0
│ ├─┬ nssocket@0.5.3
│ │ ├── eventemitter2@0.4.14
│ │ └── lazy@1.0.11
│ ├── object-assign@3.0.0
│ ├─┬ optimist@0.6.1
│ │ ├── minimist@0.0.10
│ │ └── wordwrap@0.0.3
│ ├── path-is-absolute@1.0.1
│ ├─┬ prettyjson@1.2.1
│ │ ├── colors@1.2.1
│ │ └── minimist@1.2.0
│ ├─┬ shush@1.0.0
│ │ ├─┬ caller@0.0.1
│ │ │ └─┬ tape@2.3.3
│ │ │ ├── deep-equal@0.1.2
│ │ │ ├── defined@0.0.0
│ │ │ ├── jsonify@0.0.0
│ │ │ ├── resumer@0.0.0
│ │ │ └── through@2.3.8
│ │ └── strip-json-comments@0.1.3
│ ├── timespan@2.3.0
│ ├─┬ utile@0.2.1
│ │ ├── deep-equal@1.0.1
│ │ ├── i@0.3.6
│ │ ├─┬ mkdirp@0.5.1
│ │ │ └── minimist@0.0.8
│ │ ├── ncp@0.4.2
│ │ └─┬ rimraf@2.6.2
│ │ └─┬ glob@7.1.2
│ │ ├── fs.realpath@1.0.0
│ │ ├─┬ inflight@1.0.6
│ │ │ └── wrappy@1.0.2
│ │ └── once@1.4.0
│ └─┬ winston@0.8.3
│ ├── cycle@1.0.3
│ ├── isstream@0.1.2
│ ├── pkginfo@0.3.1
│ └── stack-trace@0.0.10
├─┬ lisb-hubot@2.19.2
│ ├── async@0.2.10
│ ├─┬ chalk@1.1.3
│ │ ├── ansi-styles@2.2.1
│ │ ├── escape-string-regexp@1.0.5
│ │ ├─┬ has-ansi@2.0.0
│ │ │ └── ansi-regex@2.1.1
│ │ ├── strip-ansi@3.0.1
│ │ └── supports-color@2.0.0
│ ├── cline@0.8.2
│ ├── coffee-script@1.6.3
│ ├─┬ connect-multiparty@1.2.5
│ │ ├─┬ multiparty@3.3.2
│ │ │ ├─┬ readable-stream@1.1.14
│ │ │ │ ├── core-util-is@1.0.2
│ │ │ │ ├── isarray@0.0.1
│ │ │ │ └── string_decoder@0.10.31
│ │ │ └─┬ stream-counter@0.2.0
│ │ │ └─┬ readable-stream@1.1.14
│ │ │ ├── isarray@0.0.1
│ │ │ └── string_decoder@0.10.31
│ │ ├─┬ on-finished@2.1.1
│ │ │ └── ee-first@1.1.0
│ │ ├── qs@2.2.5
│ │ └─┬ type-is@1.5.7
│ │ ├── media-typer@0.3.0
│ │ └─┬ mime-types@2.0.14
│ │ └── mime-db@1.12.0
│ ├─┬ express@3.21.2
│ │ ├── basic-auth@1.0.4
│ │ ├── commander@2.6.0
│ │ ├─┬ connect@2.30.2
│ │ │ ├── basic-auth-connect@1.0.0
│ │ │ ├─┬ body-parser@1.13.3
│ │ │ │ ├── iconv-lite@0.4.11
│ │ │ │ ├─┬ on-finished@2.3.0
│ │ │ │ │ └── ee-first@1.1.1
│ │ │ │ ├── qs@4.0.0
│ │ │ │ ├─┬ raw-body@2.1.7
│ │ │ │ │ ├── bytes@2.4.0
│ │ │ │ │ └── iconv-lite@0.4.13
│ │ │ │ └─┬ type-is@1.6.16
│ │ │ │ └─┬ mime-types@2.1.18
│ │ │ │ └── mime-db@1.33.0
│ │ │ ├── bytes@2.1.0
│ │ │ ├─┬ compression@1.5.2
│ │ │ │ ├─┬ accepts@1.2.13
│ │ │ │ │ ├─┬ mime-types@2.1.18
│ │ │ │ │ │ └── mime-db@1.33.0
│ │ │ │ │ └── negotiator@0.5.3
│ │ │ │ └─┬ compressible@2.0.13
│ │ │ │ └── mime-db@1.33.0
│ │ │ ├── connect-timeout@1.6.2
│ │ │ ├── cookie-parser@1.3.5
│ │ │ ├─┬ csurf@1.8.3
│ │ │ │ └─┬ csrf@3.0.6
│ │ │ │ ├── rndm@1.2.0
│ │ │ │ ├── tsscmp@1.0.5
│ │ │ │ └─┬ uid-safe@2.1.4
│ │ │ │ └── random-bytes@1.0.0
│ │ │ ├─┬ errorhandler@1.4.3
│ │ │ │ ├─┬ accepts@1.3.5
│ │ │ │ │ ├─┬ mime-types@2.1.18
│ │ │ │ │ │ └── mime-db@1.33.0
│ │ │ │ │ └── negotiator@0.6.1
│ │ │ │ └── escape-html@1.0.3
│ │ │ ├─┬ express-session@1.11.3
│ │ │ │ ├── crc@3.3.0
│ │ │ │ └─┬ uid-safe@2.0.0
│ │ │ │ └── base64-url@1.2.1
│ │ │ ├─┬ finalhandler@0.4.0
│ │ │ │ ├─┬ on-finished@2.3.0
│ │ │ │ │ └── ee-first@1.1.1
│ │ │ │ └── unpipe@1.0.0
│ │ │ ├─┬ http-errors@1.3.1
│ │ │ │ └── statuses@1.5.0
│ │ │ ├─┬ method-override@2.3.10
│ │ │ │ ├─┬ debug@2.6.9
│ │ │ │ │ └── ms@2.0.0
│ │ │ │ └── vary@1.1.2
│ │ │ ├─┬ morgan@1.6.1
│ │ │ │ └─┬ on-finished@2.3.0
│ │ │ │ └── ee-first@1.1.1
│ │ │ ├── on-headers@1.0.1
│ │ │ ├── pause@0.1.0
│ │ │ ├── qs@4.0.0
│ │ │ ├─┬ response-time@2.3.2
│ │ │ │ └── depd@1.1.2
│ │ │ ├─┬ serve-favicon@2.3.2
│ │ │ │ └── ms@0.7.2
│ │ │ ├─┬ serve-index@1.7.3
│ │ │ │ ├── batch@0.5.3
│ │ │ │ ├── escape-html@1.0.3
│ │ │ │ └─┬ mime-types@2.1.18
│ │ │ │ └── mime-db@1.33.0
│ │ │ ├─┬ serve-static@1.10.3
│ │ │ │ ├── escape-html@1.0.3
│ │ │ │ └─┬ send@0.13.2
│ │ │ │ ├── depd@1.1.2
│ │ │ │ ├── destroy@1.0.4
│ │ │ │ ├─┬ on-finished@2.3.0
│ │ │ │ │ └── ee-first@1.1.1
│ │ │ │ └── statuses@1.2.1
│ │ │ ├─┬ type-is@1.6.16
│ │ │ │ └─┬ mime-types@2.1.18
│ │ │ │ └── mime-db@1.33.0
│ │ │ └── vhost@3.0.2
│ │ ├── content-disposition@0.5.0
│ │ ├── content-type@1.0.4
│ │ ├── cookie@0.1.3
│ │ ├── cookie-signature@1.0.6
│ │ ├─┬ debug@2.2.0
│ │ │ └── ms@0.7.1
│ │ ├── depd@1.0.1
│ │ ├── escape-html@1.0.2
│ │ ├── etag@1.7.0
│ │ ├── fresh@0.3.0
│ │ ├── merge-descriptors@1.0.0
│ │ ├── methods@1.1.2
│ │ ├── parseurl@1.3.2
│ │ ├─┬ proxy-addr@1.0.10
│ │ │ ├── forwarded@0.1.2
│ │ │ └── ipaddr.js@1.0.5
│ │ ├── range-parser@1.0.3
│ │ ├─┬ send@0.13.0
│ │ │ ├── destroy@1.0.3
│ │ │ ├── mime@1.3.4
│ │ │ ├─┬ on-finished@2.3.0
│ │ │ │ └── ee-first@1.1.1
│ │ │ └── statuses@1.2.1
│ │ ├── utils-merge@1.0.0
│ │ └── vary@1.0.1
│ ├─┬ hubot-direct@0.1.4
│ │ └─┬ direct-js@0.1.31
│ │ ├─┬ node-localstorage@1.3.0
│ │ │ └─┬ write-file-atomic@1.3.4
│ │ │ ├── imurmurhash@0.1.4
│ │ │ └── slide@1.1.6
│ │ ├── tunnel-agent@0.4.3
│ │ ├── unorm@1.4.1
│ │ └─┬ websocket@1.0.23
│ │ ├── nan@2.10.0
│ │ ├─┬ typedarray-to-buffer@3.1.5
│ │ │ └── is-typedarray@1.0.0
│ │ └── yaeti@0.0.4
│ ├── log@1.4.0
│ ├── optparse@1.0.4
│ └── scoped-http-client@0.11.0
└─┬ lisb-hubot-redis-brain@0.0.3
└── redis@0.8.4npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
[2018-04-18 15:19:08] WebSocket opened.
[Wed Apr 18 2018 15:19:09 GMT+0900 (JST)] INFO hubot-redis-brain: Discovered redis from REDIS_URL environment variable
※エラーが出なければnpmがいろいろインストールしてくれる。
3. Ctrl + c で2を停止して、ログアウト。
$ Ctrl + c
$ daab logout
logged out.
[参考サイト]
改めてdaab initを実行したら、githubにSSL connect error と言われて弾かれた
これはCentOS6.x系のcurl関連パッケージが古いために発生する
エラーらしい(ΦωΦ)
bot作成への道のりは遠いなー。
[エラー状況]
daab initを改めて実行したら下記エラー。
$ daab init
fatal: unable to access 'https://github.com/lisb/daab-starter.git/': SSL connect error
daab initialized.
[手順]
1. CentOS6.5のnss,curl,libcurlの各パッケージをアップグレード。
2. 改めて、bot用のディレクトリを作成して、daab init 実行。
$ mkdir mybot && cd $_
$ daab init
Initialized empty Git repository in /home/username/mybot/.git/
remote: Counting objects: 284, done.
remote: Total 284 (delta 0), reused 0 (delta 0), pack-reused 284
Receiving objects: 100% (284/284), 501.80 KiB | 687.00 KiB/s, done.
Resolving deltas: 100% (114/114), done.
From https://github.com/lisb/daab-starter
* branch master -> FETCH_HEAD
* [new branch] master -> daab-starter/master
daab initialized.
※エラーが出なければ(多分)、OKのはずw(ΦωΦ)
[参考サイト]
daab initしようとしたら、オマエのgit clientは古いからアップグレードしろと言われたので
CentOS 6.5のyumで入れたgit clientのバージョンが1.7.1で
daab initコマンドの実行に失敗して、「まずはgit clientをアップ
グレードしろ、話はそれからだ!」というメッセージを頂いた
ので、2.xへのアップグレードを実行した際の備忘録(ΦωΦ)
[エラー状況]
1. daab initコマンドを実行したら下記エラー。
$ daab init Initialized empty Git repository in /home/ichiyama/mybot/.git/ error: while accessing https://github.com/lisb/daab-starter.git/info/refs fatal: HTTP request failed daab initialized.
2. エラー内容はここを見ろと言われたので確認。
Please upgrade your git client.
GitHub.com no longer supports git over dumb-http: https://github.com/blog/809-git-dumb-http-transport-to-be-turned-off-in-90-days
[手順]
1. 既存gitクライアントのバージョンを確認し、削除。
# git --version
git version 1.7.1# yum remove git
2. 2.x系のソースコードのコンパイルに必要なパッケージをインストール。
# yum install gcc curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker
# wget https://www.kernel.org/pub/software/scm/git/git-2.2.0.tar.gz
4. tarコマンドで3を解凍。
# tar -zxf git-2.2.0.tar.gz
5. 4で解凍したディレクトリへ移動。
# cd git-2.2.0
6. makeコマンドで /usr/local 以下にビルド。
# make prefix=/usr/local all
7. makeコマンドで /usr/local 以下にインストール。
# make prefix=/usr/local install
8. 7でインストールしたgitバージョンを確認しようとしたら、
そんなファイルやディレクトリはねーよと言われるので、bashの
組込コマンドのhashで設定を反映。
# git --version
-bash: /usr/bin/git: そのようなファイルやディレクトリはありません※念の為、whichやtypeコマンドで状況を確認。
# which git
/usr/local/bin/git# type git
git is hashed (/usr/bin/git)# hash -r
9. 改めてバージョンを確認。
# git --version
git version 2.2.0
※git version 2.2.0 が表示されればOK。
[参考サイト]
CentOS6.5にNode.js v6.9.2をインストール
curlかwgetで公式にある情報でnvmをインストールしよう
としたら、エラーが発生してハマったので備忘録として(ΦωΦ)
[手順]
1. nvmのインストール。
$ git clone git://github.com/creationix/nvm.git ~/.nvm
$ source ~/.nvm/nvm.sh
2. nvmでNode.js v6.9.2をインストール。
$ nvm install v6.9.2
Downloading and installing node v6.9.2...
Downloading https://nodejs.org/dist/v6.9.2/node-v6.9.2-linux-x64.tar.xz...
######################################################################## 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v6.9.2 (npm v3.10.9)
Creating default alias: default -> v6.9.2
3. バージョンを確認。
$ node --version
v6.9.2
4. インストール場所を確認。
$ which node
~/.nvm/versions/node/v6.9.2/bin/node
5. もし複数バージョンをインストールした場合、nvm ls で確認可能。
※現在は、v6.9.2のみ。
$ nvm ls
-> v6.9.2
default -> v6.9.2
node -> stable (-> v6.9.2) (default)
stable -> 6.9 (-> v6.9.2) (default)
iojs -> N/A (default)
lts/* -> lts/carbon (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.14.1 (-> N/A)
lts/carbon -> v8.11.1 (-> N/A)
[参考サイト]
CentOS6.5環境に管理者権限のあるユーザを追加
与えられた開発サーバーにroot以外のユーザがいなかったので
管理者権限のあるユーザを追加した際の備忘録(ΦωΦ)
[手順]
1. 管理者権限のあるユーザを作成。
①useraddコマンドでユーザ作成。
# useradd username (任意の名前)
②passwdコマンドでパスワード変更。
# passwd username
新しいパスワードを2回聞かれるので2回入力して実行。
③/home 配下を確認。
/home/username ディレクトリが作成され、bash関連ファイルが
できてればOK。
2. 管理者権限の付与。
①visudoコマンドで追加ユーザの権限付与。
# visudo
②1で作成したユーザ名で以下を追加。
rootで検索してroot下にコピペして書き換えればOK。
username ALL=(ALL) ALL
③/etc/sudoers ファイルの中身を確認し、②が反映されて
いればOK。
3.Windowsの各種SSHクライアントで作成したユーザで接続情報
を作成してログイン。
※自分はMobaXtermで実施。
[参考サイト]
Fluxboxをカスタマイズ(2)フォントサイズの変更
Fluxboxのスタイルはzimek_darkblueを使っている
のだけど、フォントサイズがデフォルトのままだと
ウィンドウのタイトルバーやツールバーの文字が小さい
ので少し大きくしてみた。
というか、フォントカラーを変更すればいいだけでは?
という意見もあるが、これについてはまた今度(ΦωΦ)
[手順]
1. 共有のコンフィグファイルを、ユーザディレクトリに
コピーしてから変更。
% cd ~/.fluxbox
% mkdir styles
% cp -R /usr/share/fluxbox/styles/zimek_darkblue styles
% cd styles/zimek_darkblue
2. 1でコピーした設定ファイルを編集。
% vim theme.cfg
3. フォントの種類やフォントのサイズを変更するには以下の箇所
を変更。
######### FONTS ###############
menu.frame.font: sans-9:bold
menu.title.font: sans-10:bold
toolbar.clock.font: sans-9:bold
toolbar.workspace.font: sans-10:bold
toolbar.iconbar.focused.font: sans-8:bold
toolbar.iconbar.unfocused.font: sans-8
window.font: sans-8
4. とりあえずフォントサイズを全部12ポイントに編集。
5. 設定ファイルを保存し、画面上でリロード。
6. 右クリックメニューから、Fluxbox menu ⇒ Reload config
[参考サイト]
テスト用にCentOS7の日付をずらす
土日判定を仕込んだバックアップスクリプトの内容確認を
するため、CentOS7環境の日付を日曜日にしてみるメモ。
[手順]
1. timedatectlコマンドで日付を4/15に設定。
# timedatectl set-time 2018-04-15
※日付のみ変更すると時間は「00:00:00」になる。
2. NTP同期が有効になっているため、コマンドエラー。
Failed to set time: Automatic time synchronization is enabled
3. NTP同期を無効に設定。
# timedatectl set-ntp no
4. 再度、 timedatectlコマンドで日付を4/15に設定。
5. 1の内容に変更になっているか確認。
# timedatectl
Local time: 日 2018-04-15 00:00:16 JST
Universal time: 土 2018-04-14 15:00:16 UTC
RTC time: 土 2018-04-14 15:00:16
Time zone: Asia/Tokyo (JST, +0900)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
6. timedatectlコマンドで日付を4/17(本日)に再設定。
# timedatectl set-time 2018-04-17
7. テストが終わったら、NTP同期を有効に再設定。
# timedatectl set-ntp yes
8. 元に戻ったことを確認。
# timedatectl status
Local time: 火 2018-04-17 18:15:03 JST
Universal time: 火 2018-04-17 09:15:03 UTC
RTC time: 火 2018-04-17 09:15:03
Time zone: Asia/Tokyo (JST, +0900)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
[参考サイト]