SSH autologin でサーバログイン 〜毎回sshコマンドいちいち打つのはやめよう〜

環境

MacOSX 10.10.3 Yosemite

概要

サーバへSSHでログインして、と伝えると
Excelやらテキストを開いてサーバ情報をコピペしてはっつけて…
と頑張っている人をみてこれはしんどそうだなぁ
と思って作ったシェルです。

手順

以下gitにまとめました。
使い方はREADMEに書いておきました。

サーバ情報はprojects.yamlに追記していきます。

https://github.com/kenzo0107/SSHAutoLogin

以下のような具合にシェルコマンド実行すればログインできます。

hoge : プロジェクトの省略名
prd : ログインしたい環境

1
$ sh al.sh hoge prd

以上

Mac - caps lock を Control に

概要

CapsLockなんていらん!という人向けにメモ代わり。

手順

メニュー マーク > システム環境設定クリック

キーボードを選択

修飾キー選択

Caps Lock キーをControlにアサイン

以上

git コマンドまとめ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// リモートのorigin/developをlocalのdevelopブランチへチェックアウトする
git checkout -b develop origin/develop

// 特定のファイルの編集内容を取り消す。Commitされているファイルの状態に戻す。
git checkout <filepath>

// commit一覧表示
git log
git log --pretty=oneline

// 直前のcommitを取り消す
git commit --amend

// commitをなかったことにする。
git reset --hard HEAD

// indexに加えたファイルを元に戻す
git reset (file_name)

// 過去n個のcommitをなかったことにする。
git reset --hard HEAD~{n}
// pushをなかったことにする。(remoteのコミット情報を削除)
git push -f origin HEAD

// タグ一覧確認
git tag -n
// タグ付け
git tag -am "<message>" <tag_name>
// タグ削除
git tag -d <tag_name>


// 作業中ファイルの退避
git stash
// 作業中ファイルの吐き出し
git stash pop

MacOSX zsh を使おう!

メリット

  • ターミナル上で補間機能をつけられる
  • コマンドやファイルパス、大文字・小文字も変換して補間

手順

zshがあるか確認

1
2
3
4
$ cat /etc/shells
...

/etc/zsh

なければ、brewでinstall

1
2
$ brew install zsh
$ sudo sh -c 'echo $(which zsh) >> /etc/shells'

shellをzshに切り替え

1
2
$ chpass -s /bin/zsh
Password: (パスワード入力)

デフォルトのshell設定

1
$ chsh -s /bin/zsh

個人の.zshrc設定は以下のようにしてます。

https://github.com/kenzo0107/dotfiles

上記をダウンロードしホームディレクトリ(~/)に
.zshrc
を配置します。

gitで管理しているので以下のようにリンク貼るのもよしです。

1
$ ln .zshrc ~/.zshrc

zsh設定ファイル読み込み

1
$ source .zshrc

ターミナルを再起動すると以下のように設定が反映されたことが確認できます。

MacOSXにgoをインストール

概要

golangのとっかかりとして簡単に

  • Googleが開発した言語
  • 動的型付け (Like Python)
  • 分散処理が得意
    などなど

Wiki参照

http://ja.wikipedia.org/wiki/Go_%28%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E%29

手順

brew をインストールしていない場合は以下参照してください。

brewからinstall

  • hello.go

ビルド

1
go build hello.go

実行

1
./hello

Hello, World
として表示されればOK !!

MacOSX+Vagrant (CentOS7)にSenrtyをインストールして動作確認するまで

概要

https://sentry.readthedocs.org/en/latest/quickstart/

環境

  • MacOS 10.10.2 Yosemite
  • Vagrant 1.6.5
  • Virtual Box 4.3.20 r96996
  • CentOS 7.1.1503 (Core)
  • Python 2.7.5 (pip 6.0.8)
  • Redis 3.0.0
  • MySQL 5.6
  • NginX 1.6.2

事前準備

Sentry公式サイトには、以下セットアップをしておくようにと書いてあります。

  • Python2.7
  • python-setuptools, python-pip, python-dev, libxslt1-dev, libxml2-dev, libz-dev, libffi-dev, libssl-dev
  • DB (PostgreSQL:推奨 or MySQL) => MySQL採用します
  • Redis
  • NginX

Sentry公式サイトでは、
OSはUbuntuで試験しておりますが
上記環境にてCentOSでも動作確認が取れております。

VagrantにCentOS7 boxイメージを追加/起動/SSH接続

※IPをvagrantfileのデフォルト「192.168.33.10」と設定します。

pip インストール

※ pipで各種モジュールインストール時のエラー対処 [command ‘gcc’ failed with exit status 1]

Redis インストール

MySQLインストール

Sentry用にMySQL初期設定

NginXインストール/firewall http通信許可設定

NginX /etc/nginx/conf.d/default.conf Sentry用設定

手順

Sentry インストール/起動

celery起動

celeryインストールされていなければ以下でインストール実行

1
pip install celery

URLアクセス

http://192.168.33.10 へアクセス

ログインページが表示されます。

以下、ロギングに必要なことを実施していきます。

  • ログインアカウント
  • チーム作成
  • プロジェクト作成
  • ロギング

ログインしてください。

※アカウントがなければ「新しいアカウントを作成」リンクから作成してください

チーム作成

プロジェクト作成

新規プロジェクトが作成されました。

「Go It !」ボタンをクリックすると作成したプロジェクトページへ遷移します。

プロジェクトページの「設定」タブをクリック

実際にログを送信してみます。

APIキーを確認します。左メニューの「APIキー」リンクをクリック

Defaultキーをコピー

テスト送信

MacOSX Terminalから以下実行
ravenで非同期送信します。

1
raven test (コピーしたDefault APIキー)

ravenをインストールしてなければ以下のようにbrewでインストールしてください。

ストリームタブにてイベントが追加されたことがわかります。

PHPからログを投げてみる。

実施方法が記載されているので確認します。

設定タブをクリックした後、「Setup & Installation」をクリック

PHPアイコンをクリック

MacOSローカルにて
raven-phpをgitから落としセットアップします。

1
2
git clone https://github.com/getsentry/raven-php
cd raven-php/

新規ファイル「t.php」を作成

  • t.php

t.php実行

1
php t.php

以下のようにPHPからもSentryへ投げたログを確認することが可能です。

Python, Goからもログを投げることができます。
是非試してみてください。

以上