====== WP CLI ======
WP CLI 홈페이지: http://wp-cli.org/
===== 설치 =====
PHP 스크립트이므로 간단하게 웹으로 받아 설치한다.
wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -O /usr/local/bin/wp
chmod +x /usr/local/bin/wp
wp --info # 설치 확인
BASH 쉘 자동완성도 제공한다! 참고로 [[https://github.com/chwnam/vagrantwrapper | vagrantwrapper]] 설정에 모두 적용하였다.
wget https://github.com/wp-cli/wp-cli/raw/master/utils/wp-completion.bash
source /FULL/PATH/TO/wp-completion.bash
===== 명령어 대략 살펴보기 =====
이 섹션은 WP CLI에서 제공하는 명령어를 간단하게 살펴본다. WP CLI 자체가 생소하면서도 상당히 재밌는 툴이라 한 번 명령어 세트를 둘러보는 것이 유용하다 판단한다.
===== 우커머스 명령어 살펴보기 =====
우커머스 2.5에 오면서 WP CLI를 지원하기 시작했다.(([[https://www.woothemes.com/2016/01/woocommerce-25-dashing-dolphin/|January 18, 2016 in Blog, Product news, WooCommerce.]])) (([[https://woocommerce.wordpress.com/2015/10/01/sneak-peek-wp-cli-support-in-woocommerce/|Sneak Peek: WP CLI Support in WooCommerce 2.5]])) WP CLI를 브리핑하면서 이 기능도 같이 둘러보는 것이 좋을 것 같다.
===== 명령어 확장 =====
WP CLI가 굉장히 재미난 것은, 명령어를 커스터마이즈하여 확장하는 것이 가능하다는 것이다. 아마 내가 생각하는 워드프레스 개발 환경에 맞추어 나만의 명령어를 만드는 것도 가능하리라 생각한다.
----
====== 내 개발 환경 ======
개발 환경은 [[https://www.virtualbox.org/ | VirtualBox]]와 [[https://www.vagrantup.com/ | Vagrant]], 우분투 trusty 64bit 박스를 기반으로 한다.
===== Vagrant =====
Vagrant를 이용하면 개발 환경을 보다 균일하게 유지할 수 있다. 다용도로 활용하는 PC를 보다 개발에 맞춰 세팅할 수 있고, 개발 PC 환경에 문제가 있을 경우 아주 간단하게 복원할 수 있다는 점이 매력적이다.
==== 박스(box) 선정 ====
뭐니뭐니해도 우분투다.
* trusty/64 (HashiCorp): https://atlas.hashicorp.com/ubuntu/boxes/trusty64
혹시 수동으로 다운로드 받고 싶다면, 뒤에 ''/versions//providers/virtualbox.box'' 를 붙여주면 된다. 예를 들어 v20160122.0.0 버전을 받고 싶다면, ''%%https://atlas.hashicorp.com/ubuntu/boxes/trusty64/versions/20160122.0.0/providers/virtualbox.box%%''처럼 된다. 버전의 'v'자가 주소에는 빠짐을 유의.
==== NFS Sudoers 처리 ====
[[https://www.vagrantup.com/docs/synced-folders/nfs.html | Vagrant NFS]] 항목 중 'Root Privilege Requirement' 섹션을 참고한다. 참고로 다음과 같이 처리한다.
visudo -f /etc/sudoers.d/vagrant_nfs
Cmnd_Alias VAGRANT_EXPORTS_ADD = /usr/bin/tee -a /etc/exports
Cmnd_Alias VAGRANT_EXPORTS_COPY = /bin/cp /tmp/exports /etc/exports
Cmnd_Alias VAGRANT_NFSD_CHECK = /etc/init.d/nfs-kernel-server status
Cmnd_Alias VAGRANT_NFSD_START = /etc/init.d/nfs-kernel-server start
Cmnd_Alias VAGRANT_NFSD_APPLY = /usr/sbin/exportfs -ar
Cmnd_Alias VAGRANT_EXPORTS_REMOVE = /bin/sed -r -e * d -ibak /tmp/exports
%sudo ALL=(root) NOPASSWD: VAGRANT_EXPORTS_ADD, VAGRANT_NFSD_CHECK, VAGRANT_NFSD_START, VAGRANT_NFSD_APPLY, VAGRANT_EXPORTS_REMOVE, VAGRANT_EXPORTS_COPY