CentOSにPHPUnitをComposer.phar経由でインストールする。

概要

yum でインストール場合、以下コマンド実行します。

1
$ sudo yum install php-xml php-pear php-phpunit-PHPUnit --enablerepo=epel

yumの場合、既存phpモジュールを上がいて既存環境に影響を与える可能性があります。
その為、composer経由で影響なくインストールする手順を以下にまとめました。

手順

net-tools vs. iproute2 対応表

RHEL7/CentOS7ではnet-toolsを廃止予定としています。

ipコマンド推奨の理由は以下。

net-toolsでは、

  • ネットワークトラフィック制御対応できない。
  • ルーティングテーブルを複数保持するような複雑なルーティングを実現できない。
  • ifconfigでは/procからの情報を出力しており、ipコマンドのnetlinkAPIを利用した方が数ミリsec速い。

http://linuxjm.osdn.jp/html/LDP_man-pages/man7/netlink.7.html

なので、徐々にipコマンドに慣れていきたい。

  • net-tools vs. iproute2

|*net-tools |*iproute2 |
| ifconfig | ip l (ip link) |
| ifconfig -a | ip a show (ip addr show) |
| ifconfig eth0 up | ip link set eth0 up |
| netstat | ss |
| netstat -i | ip -s link |
| netstat -l | ss -l |
| netstat -r | ip r (ip route) |
| route [add or del] | ip route [add or del] |
| route -n | ip route show |
| arp -n | ip n (ip neighbor) |

AnsibleでSentry導入!起動確認まで10分以内♪

Sentryとは

Sentryはアプリからイベントログを送信し集計するツールです。
エラーログの管理にも利用できます。

そのエラーが解決したかしていないか、どの程度の頻度で発生するか、などグラフ化してくれます。

他言語対応していたり
非エンジニアのプロジェクトメンバーにも
エラーログを意識させることができるので
その辺りも有用です。

概要

以前、 MacOSX+Vagrant (CentOS7)にSenrtyをインストールして動作確認するまで
という記事を書きましたが
今回はそれをAnsibleでまとめました。

環境

  • MacOSX 10.10.3 Yosemite
  • Virtual Box 4.3.26
  • Vagrant 1.7.2
  • ansible 1.9.1
  • CentOS7

手順

GithubのREADMEを参照してください。
手順通りで10分で起動確認できます。

https://github.com/kenzo0107/vagrant-ansible-sentry-centos7

簡単♪ Vagrant で Ansible 設定 - pingで疎通確認までを3分で実施

Vagrantでローカル開発環境構築を簡易的にAnsibleで実施した手順を
以下githubにまとめました。

Ansibleの初期設定が面倒だったのでそこを簡易化することに努めました。

独自git-hooksをglobal設定

概要

ローカルの全git管理の開発環境に適用する。

やったこと

今回はpre-commitの設定

  • PHPのシンタックスチェック
  • masterブランチでのcommit禁止
    → masterはmergeしてpushのみ。

※PHPのシンタックスでphpmdを利用しているので phpmdインストールしておく

1
$ brew install phpmd

手順

以下、git-hookのREADMEに手順記載しました。

https://github.com/kenzo0107/git-hooks

備考

その他、pre-pushで今いるbranchから
同名のリモートbranchにのみpushを許可するなど
諸々まとめたらまた記載します。

以上

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

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