VCCW - オプション

- VCCWはVagrantでWordpressの開発環境を作るためのツール
- オプションは仮想環境を作成する前に適宜変更しておく

## 前提

- Mac / 10.12.4 Sierraで作業
- Vagrant, Virtual Boxをインストール済
- VCCW (v3)を使用

## 設定

### General Settings

#### wp_box

初期値：`vccw-team/xenial64`
Vagrantに使用するbox。

ref: [Discover Vagrant Boxes - Vagrant Cloud](https://app.vagrantup.com/boxes/search)（publicなbox一覧）
ref: [VCCW v3での変更点と新機能まとめ - Qiita](https://qiita.com/miya0001/items/041e9363ff81695a2251#box%E3%81%AE%E3%82%B5%E3%82%A4%E3%82%BA%E3%81%8C%E5%B0%8F%E3%81%95%E3%81%8F%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%97%E3%81%9F)

### Virtual Machine Settings

#### memory

初期値：`512`
仮想マシンのメインメモリのサイズ（MB）。
（初期値だと余裕がないので`4096`くらいまで上げています）

#### cpus

初期値：`1`
仮想マシンのプロセッサー数。

### Network Settings

#### hostname

初期値：`vccw.dev`
仮想マシンのホスト名。
`〜.dev`にするとGoogle Chromeで表示した場合に`https://`へリダイレクトされるので注意。

ref: [予約済みドメイン (.example, .localhost, .test) について | blog.jxck.io](https://blog.jxck.io/entries/2017-09-27/example-local-test-domains.html)

#### ip

初期値：`192.168.33.10`
仮想マシンのIPアドレス。
初回`vagrant up`後はhostnameとipどちらでも表示できる。

## WordPress Settings

#### version

初期値：`latest`
Wordpressのバージョン。

#### lang

初期値：`en_US`
Wordpressで使用する言語。

#### title

初期値：`Welcome to the VCCW`
サイト名。

#### multisite

初期値：`false`
マルチサイトにするかどうか。

#### rewrite_structure

初期値：`/archives/%post_id%`
パーマリンクの設定。
[パーマリンク構造タグ](https://wpdocs.osdn.jp/%E3%83%91%E3%83%BC%E3%83%9E%E3%83%AA%E3%83%B3%E3%82%AF%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9#Structure_Tags)を使用できる。

### WordPress Path

#### wp_siteurl

初期値：` `
Wordpress本体（`/wp-admin/`等）のディレクトリ。
表示URLとWordpressを置くディレクトリを分ける場合に使用する。

#### wp_home

初期値：` `
サイトの表示ディレクトリ。
表示URLとWordpressを置くディレクトリを分ける場合に使用する。

## WordPress User

#### admin_user

初期値：`admin`
インストール時に作成されるユーザーの名前。

#### admin_pass

初期値：`admin`
インストール時に作成されるユーザーのパスワード。

#### admin_email

初期値：`vccw@example.com`
インストール時に作成されるユーザーのメールアドレス。

## WordPress Database

#### db_prefix

初期値：`wp_`
データベースに使用する接頭詞。

#### db_host

初期値：`localhost`
データベースのホスト名。

#### db_prefix

初期値：`wp_`
データベースの接頭詞。

#### db_name

初期値：`wordpress`
データベースのユーザー名。

#### db_pass

初期値：`wordpress`
データベースのパスワード。

### WordPress Default Plugins

#### plugins

初期値：

```yaml
- logbook
```

インストールするプラグイン。プラグインファイルへのURL（zip形式）かスラッグを入力する。

## WordPress Default Theme

#### theme

初期値：` `。
有効化するテーマファイル。URL（zip形式）かスラッグを入力する。

## WordPress Options

#### options

初期値：

```yaml
blogdescription: Hello VCCW.
```

ブログの説明文。

### WordPress Multisite Options

#### multisite_options

初期値：`{}`
マルチサイト用オプション。

### The values of wp-config.php

#### force_ssl_admin

初期値：`false`
フロント＆管理画面にSSLを使用するかどうか。

#### wp_debug

初期値：`false`
デバッグモードのON/OFF。

#### savequeries

初期値：`false`
調べ中...

#### gitignore

初期値：`https://raw.githubusercontent.com/github/gitignore/master/WordPress.gitignore`
Wordpressのルートディレクトリにインストールするgitignoreファイル。

### Addtional PHP code in the wp-config.php

#### extra_wp_config

>  // Addtional PHP code in the wp-config.php
>  // These lines are inserted by VCCW.
>  // You can place addtional PHP code here!

wp-config内に追加する設定（環境変数など...）。

### Theme unit testing

#### theme_unit_test

初期値：`false`
ユニットテストをするかどうか。

#### theme_unit_test_uri

初期値：`https://wpcom-themes.svn.automattic.com/demo/theme-unit-test-data.xml`
ユニットテストに使用するテストデータのuri。

ref: [テーマユニットテスト - WordPress Codex 日本語版](https://wpdocs.osdn.jp/%E3%83%86%E3%83%BC%E3%83%9E%E3%83%A6%E3%83%8B%E3%83%83%E3%83%88%E3%83%86%E3%82%B9%E3%83%88)

### DB will be reset when provision

#### reset_db_on_provision

初期値：`true`
provision（`$ vagrant provision`や`$ vagrant reload --provision`）時にデータベースの中身をリセットするかどうか。

### RubyGems

初期値：

```yaml
  - bundler
  - wordmove
```

`vagrant up`時にインストールするRubyGems。

### mailcatcher

初期値：`true`
`mailcatcher`（メールの送受信をブラウザで確認できる）をインストールするかどうか。

ex: https://mailcatcher.me/

### wp_i18n_tools

初期値：`true`
調べ中...

### NPM modules

#### npms

初期値：`[]`
`vagrant up`時にインストールするモジュール。

### composer

初期値：
```yaml
  - phpunit/phpunit:5.6
  - squizlabs/php_codesniffer:~2.0
  - wp-coding-standards/wpcs:*
  # - phpmd/phpmd:*
  # - sebastian/phpcpd:*
  # - phploc/phploc:*
  # - phing/phing:*
```

調べ中...

### wp-cli package commands

#### wp_cli_packages

初期値：`vccw/wp-cli-scaffold-movefile:@stable`
調べ中...

### Linked Clone for Vagrant v1.8

#### linked_clone

初期値：`false`
Vagrantの`Linked Clone`をオンにするかどうか。

> Linked Cloneはデータセンター仮想化製品ではメジャーな、一つのマスターVMを元にして複数のクローンVMを作り出す機能です。普通にVMをコピーするのではなく、クローンVMはマスターVMの差分データのみを持つことから'Linked'という冠が付いています。VMの初回作成(vagrant up)時の時間が短縮されるのと、仮想ディスクのサイズが差分のみで済むメリットがあります。

ref: [Configuration - VirtualBox Provider - Vagrant by HashiCorp](https://www.vagrantup.com/docs/virtualbox/configuration.html#linked-clones)
ref: [Vagrant 1.8の新機能 Linked CloneとSnapshotを試してみた ｜ Developers.IO](https://dev.classmethod.jp/tool/vagrant-linked-clone/)


### Advanced Settings

初期値：``

### PHP ini values

PHPの設定。
ref: http://php.net/manual/ja/ini.core.php

#### date.timezone

初期値：`UTC`

#### default_charset

初期値：`UTF-8`

#### mbstring.language

初期値：`neutral`

#### mbstring.internal_encoding

初期値：`UTF-8`

#### post_max_size

初期値：`1024M`

#### short_open_tag

初期値：`Off`

#### session.save_path

初期値：`/tmp`

#### upload_max_filesize

初期値：`1024M`

#### xdebug.remote_enable

初期値：`true`

#### xdebug.remote_host

初期値：`127.0.0.1`

#### xdebug.remote_port

初期値：`9000`

#### xdebug.profiler_enable

初期値：`true`

#### xdebug.idekey

初期値：`VCCWDEBUG`

#### xdebug.remote_connect_back

初期値：`true`

#### xdebug.remote_autostart

初期値：`true`
Xdebug系オプションはoffにすることが多いです。

ref: [VCCWの遅さはXdebugを切れば解消する  |  有限工房](https://ygkb.jp/3657)

### その他

#### synched_folder

初期値：`wordpress`
仮想環境と同期させる（Wordpressをインストールする）ディレクトリ。
`provision`フォルダを置いてあるディレクトリがルートになる。

```bash
.
├── LICENSE
├── README.md
├── Vagrantfile
├── ansible.cfg
├── wordpress   # 初回`vagrant up`するとできる
└── provision
```

#### document_root

初期値は`/var/www/html`
ssh接続（`$ vagrant ssh`）時のルートパス。


## その他

#### Wordpress管理画面の対応画像

![screenshot-vccw.test-2017-12-26-18-43-07.png](https://qiita-image-store.s3.amazonaws.com/0/107857/065473fd-16fa-afc7-63d1-114881ac2248.png)

![screenshot-vccw.test-2017-12-27-14-56-37.png](https://qiita-image-store.s3.amazonaws.com/0/107857/c47c0a8a-ab7c-b982-33c7-28fae487916e.png)