記事
0 comment

2016年5月時点でのMacのPHP開発環境の構築

目次

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/でプロジェクトが表示される。

コメントを残す

Required fields are marked *.