目次
2016年5月時点のMacのPHP開発環境の構築
基本方針
- ソースコードはGitで管理(github, bitbucket, backlog等)
- Vagrantまたはビルトインサーバーでローカルで開発→デプロイ
- ghq pecoでプロジェクトへの移動
ディレクトリ構成
.
├── Applications
├── Desktop
├── Documents
├── Downloads
├── Library
├── Movies
├── Music
├── Pictures
├── Public
├── VirtualBox\ VMs
├── dotfiles
├── src #ここでソースコードを管理
└── workspace #ここでVagrantのプロジェクトを作る
ソースコードはgitで管理
github/hubのインストール
githubを使う上で便利なのがhub。
Homebrewでインストールする。
$ brew install hub
.bash_profile等にシェルの設定ファイルに下記をを追加
eval "$(hub alias -s)"
シェルの設定を再読み込み
$ source .bash_profile
これでgit create等のコマンドが使えるようになる。
motemen/ghqのインストール
gitのレポジトリ管理を簡単にするghq。
Homebrewでインストールする。
$ brew install ghq
.gitconfigに下記を追加。src以下にレポジトリをcloneする
[ghq]
root = ~/src
ex)これでプロジェクトをcloneする
$ ghq get shinobushiva/Water
$ ghq get https://github.com/shinobushiva/Water #これでもOK。
こんな感じでcloneされる
$ ghq list -p
/Users/keisuke/src/github.com/shinobushiva/Water
peco/pecoのインストール
インタラクティブにシェルをフィルタリングするpeco。
Homebrewでインストールする。
$ brew install peco
今回はghqと組み合わせるためにインストールしたので、その設定を.bash_profile等に記述。
function peco-src () {
local selected_dir=$(ghq list --full-path | peco --query "$LBUFFER")
if [ -n "$selected_dir" ]; then
BUFFER="cd ${selected_dir}"
zle accept-line
fi
zle clear-screen
}
zle -N peco-src
bindkey '^]' peco-src
シェルの設定を再読み込み
$ source .bash_profile
これでctl ]を押すとこんな感じでリポジトリをフィルタリングできます。
QUERY> shi IgnoreCase [2 (1/1)]
/Users/keisuke/src/github.com/shinobushiva/Nekoderu
/Users/keisuke/src/github.com/shinobushiva/Water
開発環境はVagrantで用意
scotch-io/scotch-boxをcloneする
PHP開発に必要な物を大体一括でインストールできるscotch-box。詳しい内容はHPより。
作業用ディレクトリの作成。
mkdir ~/workspace
cd ~/workspace
scotch-boxのclone
git clone https://github.com/scotch-io/scotch-box.git
VagrantのRun。ここまでで、http://192.168.33.10/にアクセスできるようになる。
vagrant up
gitのプロジェクトをVagrantのshard directoryに設定する
gitのPHPプロジェクトをVagrantで実行するために、shard directoryに設定する。
Vagrantfileに設定を追加。
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "scotch/box"
config.vm.network "private_network", ip: "192.168.33.10"
config.vm.hostname = "scotchbox"
# config.vm.synced_folder ".", "/var/www", :mount_options => ["dmode=777", "fmode=666"] ここをコメントアウトして、以下の行を追加。
config.vm.synced_folder "~/src/github.com/shinobushiva/Water", "/var/www/public", :mount_options => ["dmode=777", "fmode=666"]
# Optional NFS. Make sure to remove other synced_folder line too
#config.vm.synced_folder ".", "/var/www", :nfs => { :mount_options => ["dmode=777","fmode=666"] }
end
これで、Vagrantfileの再読み込みを行う
vagrant reload
http://192.168.33.10/でプロジェクトが表示される。