EC-CUBE3をcentOS7+nginx+mariadbに導入

だいぶ期間があいたのでうろ覚えの知識を総動員してやっていこうかなと・・・
EC-CUBEのメジャーバージョンアップが延期でさわりだけ体験したくても
プログラムの書けないショップオーナが気軽に試すにはかなり敷居が高いので
手探り感がハンパないですが参考になればと
私もgitを使ったことがなくて導入はあやふやですけど、なんとか動作してるので検証は別の機会に

#サーバ構成
##サーバ構成の下準備
仮想環境で検証するため下記の通り設定する。
[参照](http://qiita.com/egnr-in-6matroom/items/8bda88125f56ee68448a)

CentOS7
+nginx (http)
+PHP 5.4.16
+MariaDB 5.5.41 (MySQL互換DB)
※推奨環境ではないが、現行使用サーバに導入予定なので動作確認の為

#gitの導入
##gitのインストール
```bash:console
$ sudo yum install git
```
##初期設定
```bash:console
$ sudo git config --global user.name "<ユーザ名>"
$ sudo git config --global user.email "<メールアドレス>"

$ sudo git config --global color.ui auto

$ sudo git config --global alias.co checkout

$ cd /usr/share/nginx/html/
$ sudo git init
Initialized empty Git repository in /usr/share/nginx/html/.git/
```
* 自分のユーザ名を登録
* 自分のメールアドレスを登録
* gitの出力をカラーリングする
* エイリアスを設定
* 日本語を含んだファイル名も正しく表示する
* 取得したいファイルを展開するディレクトリに移動する
* リポジトリを作成

##EC-CUBE公式からcloneを取得
```bash:console
$ sudo git clone https://github.com/EC-CUBE/ec-cube.git

$ sudo git branch -a
```
* cloneを取得する
* ブランチの状態を確認してみる

##本家レポジトリの追従
```bash:console
$ sudo git remote add upstream https://github.com/EC-CUBE/ec-cube.git
$ sudo git remote -v
upstream        https://github.com/EC-CUBE/ec-cube.git (fetch)
upstream        https://github.com/EC-CUBE/ec-cube.git (push)
$ sudo git fetch upstream
remote: Counting objects: 103850, done.
remote: Compressing objects: 100% (66/66), done.
remote: Total 103850 (delta 25), reused 1 (delta 0), pack-reused 103781
Receiving objects: 100% (103850/103850), 51.19 MiB | 3.19 MiB/s, done.
Resolving deltas: 100% (78967/78967), done.
From https://github.com/EC-CUBE/ec-cube
 * [new branch]      eccube-3.0.0-beta -> upstream/eccube-3.0.0-beta
 * [new branch]      eccube-3.0.0-dev -> upstream/eccube-3.0.0-dev
 * [new branch]      master     -> upstream/master
 * [new branch]      template   -> upstream/template
 * [new tag]         3.0.0-beta2 -> 3.0.0-beta2
 * [new tag]         3.0.0-beta3 -> 3.0.0-beta3
From https://github.com/EC-CUBE/ec-cube
 * [new tag]         3.0.0-beta0 -> 3.0.0-beta0
 * [new tag]         3.0.0-beta1 -> 3.0.0-beta1
 * [new tag]         alfa       -> alfa
 * [new tag]         eccube-3.0.0-alpha -> eccube-3.0.0-alpha
```
* 本家が更新されても追従できるように、本家レポジトリをupstreamとして登録

##開発用としてブランチを作成する
```bash:console
$ sudo git checkout -b admin_basis_point upstream/eccube-3.0.0-beta
Branch admin_basis_point set up to track remote branch eccube-3.0.0-beta from upstream.
Switched to a new branch 'admin_basis_point'
```
* ブランチを作成して本番環境と切り離す。

これで変更してもコミットやプッシュしなければ自由にいじっても大丈夫のはず
ここまで書いてなんですがこのためだけにgitを調べたので簡単な概要ぐらいしか理解してないです。

#EC-CUBE3の導入
##nginxのデフォルトルートを変更する
```bash:console
$ sudo vi /etc/nginx/nginx.conf
```
* nginx.confを編集する

```vim:nginx.conf
（中略）
    server {
        listen       80 default_server;
        server_name  localhost;
        #root         /usr/share/nginx/html;
        /* デフォルトルートを適宜変更 */
        root         /usr/share/nginx/html/ec-cube/html;

        #access_log  /var/log/nginx/host.access.log  main;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
        }
```
* viの使用方法
* 「Insert」キーで入力
* 「Esc」キーで入力状態解除
* 「:wq」書き込み後ファイルを閉じる
* 「:q!」強制的に書き込まずにファイルを閉じる

```bash:console
$ sudo systemctl restart nginx
```
* nginxをリスタートする

##mariadbにユーザーを追加
###mariadbにログイン
```bash:console
$ mysql -u root -p
Enter password:
```
* まだroot管理者しか設定していないのでrootでログイン
* rootパスワードを入力

###データベースとユーザを作成
```mysql:MariaDB
MariaDB [(none)]> CREATE DATABASE db_eccube;
MariaDB [(none)]> GRANT ALL ON db_eccube.* TO ur_eccube@localhost IDENTIFIED BY "pw_eccube";
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT
```
* データベース名：db_eccube
* ユーザ名：ur_eccube
* ユーザパスワード：pw_eccube
* GRANT構文のALL権限(GRANT OPTION構文以外の全ての権限所持)

※GRANT構文とは、ユーザ アカウント作成や、アカウントに権利を与える事を可能にする構文

##ec-cube3のインストール準備
###eccube_install.shの初期設定
```bash:console
$ sudo vi /usr/share/nginx/html/ec-cube/eccube_install.sh
```
* eccube_install.shを編集する

```vim:eccube_install.sh
CONFIG_PHP="app/config/eccube/config.php"
CONFIG_YML="app/config/eccube/config.yml"
ADMIN_MAIL=${ADMIN_MAIL:-"admin@example.com"}
SHOP_NAME=${SHOP_NAME:-"EC-CUBE SHOP"}
HTTP_URL=${HTTP_URL:-"http://localhost/"} # EC-CUBEを動かすURLに変更
HTTPS_URL=${HTTPS_URL:-"http://localhost/"} # EC-CUBEを動かすURLに変更
ROOT_URLPATH=${ROOT_URLPATH:-"/"} # DocumentRootからEC-CUBEを動かすディレクトリへのパスへ変更
DOMAIN_NAME=${DOMAIN_NAME:-""}
ADMIN_DIR=${ADMIN_DIR:-"admin/"}

DBSERVER=${DBSERVER-"127.0.0.1"} # DBサーバのIPに変更
DBNAME=${DBNAME:-"db_eccube"} # EC-CUBEをインストールするDB名に変更
DBUSER=${DBUSER:-"ur_eccube"} # DBのユーザ名に変更
DBPASS=${DBPASS:-"pw_eccube"} # DBのパスワードに変更
```

###コメント欄にある注意事項
```vim:eccube_install.sh
124 dtb_plugin_hookpoint_plugin_hookpoint_id_seq
125 dtb_api_config_api_config_id_seq
126 dtb_api_account_api_account_id_seq
127 dtb_tax_rule_tax_rule_id_seq
128 "
129 
130     comb_sql="";
131     for S in $SEQUENCES; do
132         case ${DBTYPE} in
```
* MySQLはMYSQLのRoot以外のユーザーで実行する場合は、128行目をコメントアウトして・・・とあるが
* 128行目の何をコメントアウトすればいいのか

```vim:eccube_install.sh
60 "mysql" )
61    #-- DB Seting MySQL
62    MYSQL=mysql
63    ROOTUSER=$DBUSER
64    ROOTPASS=$DBPASS
65    DBSERVER=$DBSERVER
66    DBPORT=3306
67    DBDRIVER=pdo_mysql
```
* 何もしなければデータベースをrootで実行しようとするので63行目をDBUSER以下に変更

###パーミッションの変更
```bash:console
$ sudo chmod 755 /usr/share/nginx/html/ec-cube/eccube_install.sh
```


##ec-cube3インストール
###eccube_install.shの実行
```bash:console
$ cd /usr/share/nginx/html/ec-cube/
$ sudo /usr/share/nginx/html/ec-cube/eccube_install.sh mysql
update permissions...
chmod: './app/cache' にアクセスできません: そのようなファイルやディレクトリはあ りません
chmod: './app/logs' にアクセスできません: そのようなファイルやディレクトリはありません
copy images...
'./html/install/save_image/ice130.jpg' -> './html/upload/save_image/ice130.jpg'
'./html/install/save_image/ice260.jpg' -> './html/upload/save_image/ice260.jpg'
'./html/install/save_image/ice500.jpg' -> './html/upload/save_image/ice500.jpg'
'./html/install/save_image/nabe130.jpg' -> './html/upload/save_image/nabe130.jpg'
'./html/install/save_image/nabe260.jpg' -> './html/upload/save_image/nabe260.jpg'
'./html/install/save_image/nabe500.jpg' -> './html/upload/save_image/nabe500.jpg'
'./html/install/save_image/noimage_main.png' -> './html/upload/save_image/noimage_main.png'
'./html/install/save_image/noimage_main_list.jpg' -> './html/upload/save_image/noimage_main_list.jpg'
creating app/config/eccube/config.php...
creating app/config/eccube/config.yml...
get composer...
/usr/share/nginx/html/ec-cube/eccube_install.sh: 行 265: php: コマンドが見つかりません
curl: (23) Failed writing body (0 != 16133)
install composer...
/usr/share/nginx/html/ec-cube/eccube_install.sh: 行 268: php: コマンドが見つかりません
dropdb...
createdb...
create table...
/usr/share/nginx/html/ec-cube/eccube_install.sh: 行 314: ./vendor/bin/doctrine: そのようなファイルやディレクトリはありません
insert data...
ERROR 1146 (42S02) at line 4: Table 'db_eccube.mtb_allowed_tag' doesn`t exist
execute optional SQL...
ERROR 1146 (42S02) at line 1: Table 'db_eccube.dtb_member' doesn`t exist
/usr/share/nginx/html/ec-cube/eccube_install.sh: 行 325: php: コマンドが見つかりません
Finished Successful!
```

###エラー検証
```bash:console
chmod: './app/cache' にアクセスできません: そのようなファイルやディレクトリはあ りません
```
* 公式仕様には存在するがディレクトリに「./app/cache」が存在しないため

```bash:console
chmod: './app/logs' にアクセスできません: そのようなファイルやディレクトリはありません
```
* 公式仕様に「./app/logs」が存在しないため

```bash:console
get composer...
/usr/share/nginx/html/ec-cube/eccube_install.sh: 行 265: php: コマンドが見つかりません
curl: (23) Failed writing body (0 != 16133)
```
* PHPコマンドが実行できない

```bash:console
install composer...
/usr/share/nginx/html/ec-cube/eccube_install.sh: 行 268: php: コマンドが見つかりません
```
* PHPコマンドが実行できない

###エラー対策
####ディレクトリ対応
```bash:console
$ sudo vi /usr/share/nginx/html/ec-cube/eccube_install.sh
```
```vim:eccube_install.sh
adjust_directory_permissions()
{
    chmod -R go+w "./html"
    chmod go+w "./app"
    chmod -R go+w "./app/template"
#    chmod -R go+w "./app/cache"
    chmod -R go+w "./app/config"
    chmod -R go+w "./app/download"
    chmod -R go+w "./app/downloads"
    chmod go+w "./app/font"
    chmod go+w "./app/fonts"
    chmod go+w "./app/log"
#    chmod go+w "./app/logs"
    chmod go+w "./app/upload"
    chmod go+w "./app/upload/csv"
}
```
* chmod go+w "./app/logs"は公式ディレクトリに記載無いためコメントアウトにする

####phpコマンド対応
```bash:console
$ sudo sudo yum install php-devel
```
* PHPコマンド実行のためphp-develをインストール

###再eccube_install.shの実行
```bash:console
$ sudo /usr/share/nginx/html/ec-cube/eccube_install.sh mysql
update permissions...
copy images...
'./html/install/save_image/ice130.jpg' -> './html/upload/save_image/ice130.jpg'
'./html/install/save_image/ice260.jpg' -> './html/upload/save_image/ice260.jpg'
'./html/install/save_image/ice500.jpg' -> './html/upload/save_image/ice500.jpg'
'./html/install/save_image/nabe130.jpg' -> './html/upload/save_image/nabe130.jpg'
'./html/install/save_image/nabe260.jpg' -> './html/upload/save_image/nabe260.jpg'
'./html/install/save_image/nabe500.jpg' -> './html/upload/save_image/nabe500.jpg'
'./html/install/save_image/noimage_main.png' -> './html/upload/save_image/noimage_main.png'
'./html/install/save_image/noimage_main_list.jpg' -> './html/upload/save_image/noimage_main_list.jpg'
creating app/config/eccube/config.php...
creating app/config/eccube/config.yml...
get composer...
#!/usr/bin/env php
All settings correct for using Composer
Downloading...

Composer successfully installed to: /usr/share/nginx/html/composer.phar
Use it: php composer.phar
install composer...
You are using the deprecated option "dev". Dev packages are installed by default now.
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for phpunit/phpunit 4.6.6 -> satisfiable by phpunit/phpunit[4.6.6].
    - phpunit/phpunit 4.6.6 requires ext-dom * -> the requested PHP extension dom is missing from your system.

dropdb...
createdb...
create table...
/usr/share/nginx/html/ec-cube/eccube_install.sh: 行 314: ./vendor/bin/doctrine: そのようなファイルやディレクトリはありません
insert data...
ERROR 1146 (42S02) at line 4: Table 'db_eccube.mtb_allowed_tag' doesn`t exist
execute optional SQL...
ERROR 1146 (42S02) at line 1: Table 'db_eccube.dtb_member' doesn`t exist
PHP Warning:  require_once(vendor/autoload.php): failed to open stream: No such file or directory in /usr/share/nginx/html/app/console on line 3
PHP Fatal error:  require_once(): Failed opening required 'vendor/autoload.php' (include_path='.:/usr/share/pear:/usr/share/php') in /usr/share/nginx/html/app/console on line 3
Finished Successful!
```
###エラー検証
```bash:console
create table...
/usr/share/nginx/html/ec-cube/eccube_install.sh: 行 314: ./vendor/bin/doctrine: そのようなファイルやディレクトリはありません
```
* 公式のディレクトリに「./vendor/bin/doctrine」が存在しないため

```bash:console
install composer...
You are using the deprecated option "dev". Dev packages are installed by default now.
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for phpunit/phpunit 4.6.6 -> satisfiable by phpunit/phpunit[4.6.6].
    - phpunit/phpunit 4.6.6 requires ext-dom * -> the requested PHP extension dom is missing from your system.
```
* phpunit/phpunitの使用には「ext-dom」が必要です。

```bash:console
insert data...
ERROR 1146 (42S02) at line 4: Table 'db_eccube.mtb_allowed_tag' doesn`t exist
```
* 「db_eccube.mtb_allowed_tag」テーブルが存在しないため

```bash:console
execute optional SQL...
ERROR 1146 (42S02) at line 1: Table 'db_eccube.dtb_member' doesn`t exist
PHP Warning:  require_once(vendor/autoload.php): failed to open stream: No such file or directory in /usr/share/nginx/html/app/console on line 3

PHP Fatal error:  require_once(): Failed opening required 'vendor/autoload.php' (include_path='.:/usr/share/pear:/usr/share/php') in /usr/share/nginx/html/app/console on line 3
```
* 「db_eccube.dtb_member」テーブルが存在しないため
* 「vendor/autoload.php」を開けない


###エラー対策
####「ext-dom」対応
```bash:console
$ sudo yum install php-xml
```
* php-xmlをインストール

###再々eccube_install.shの実行
```bash:console
$ sudo /usr/share/nginx/html/ec-cube/eccube_install.sh mysql
update permissions...
copy images...
'./html/install/save_image/ice130.jpg' -> './html/upload/save_image/ice130.jpg'
'./html/install/save_image/ice260.jpg' -> './html/upload/save_image/ice260.jpg'
'./html/install/save_image/ice500.jpg' -> './html/upload/save_image/ice500.jpg'
'./html/install/save_image/nabe130.jpg' -> './html/upload/save_image/nabe130.jpg'
'./html/install/save_image/nabe260.jpg' -> './html/upload/save_image/nabe260.jpg'
'./html/install/save_image/nabe500.jpg' -> './html/upload/save_image/nabe500.jpg'
'./html/install/save_image/noimage_main.png' -> './html/upload/save_image/noimage_main.png'
'./html/install/save_image/noimage_main_list.jpg' -> './html/upload/save_image/noimage_main_list.jpg'
creating app/config/eccube/config.php...
creating app/config/eccube/config.yml...
get composer...
#!/usr/bin/env php
All settings correct for using Composer
Downloading...

Composer successfully installed to: /usr/share/nginx/html/ec-cube/composer.phar
Use it: php composer.phar
install composer...
You are using the deprecated option "dev". Dev packages are installed by default now.
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
  - Installing pimple/pimple (v1.1.1)
    Downloading: 100%

  - Installing symfony/console (v2.6.7)
    Downloading: 100%

  - Installing doctrine/lexer (v1.0.1)
    Downloading: 100%

  - Installing doctrine/inflector (v1.0.1)
    Downloading: 100%

  - Installing doctrine/collections (v1.3.0)
    Downloading: 100%

  - Installing doctrine/cache (v1.4.1)
    Downloading: 100%

  - Installing doctrine/annotations (v1.2.4)
    Downloading: 100%

  - Installing doctrine/common (v2.5.0)
    Downloading: 100%

  - Installing doctrine/dbal (v2.5.1)
    Downloading: 100%

  - Installing doctrine/orm (v2.4.7)
    Downloading: 100%

  - Installing dflydev/doctrine-orm-service-provider (v1.0.6)
    Downloading: 100%

  - Installing doctrine/migrations (dev-master a4f14d3)
    Cloning a4f14d3a3d397104e557ec65d1a4e43bb86e4ddf

  - Installing knplabs/console-service-provider (dev-master 1f1a331)
    Cloning 1f1a3315409814d01702a47a8823549c6996de41

  - Installing knplabs/knp-components (1.3.1)
    Downloading: 100%

  - Installing symfony/doctrine-bridge (v2.6.7)
    Downloading: 100%

  - Installing twig/twig (v1.18.1)
    Downloading: 100%

  - Installing symfony/twig-bridge (v2.6.7)
    Downloading: 100%

  - Installing symfony/routing (v2.6.7)
    Downloading: 100%

  - Installing symfony/http-foundation (v2.6.7)
    Downloading: 100%

  - Installing symfony/event-dispatcher (v2.6.7)
    Downloading: 100%

  - Installing psr/log (1.0.0)
    Downloading: 100%

  - Installing symfony/debug (v2.6.7)
    Downloading: 100%

  - Installing symfony/http-kernel (v2.6.8)
    Downloading: 100%

  - Installing symfony/web-profiler-bundle (v2.6.7)
    Downloading: 100%

  - Installing symfony/stopwatch (v2.6.7)
    Downloading: 100%

  - Installing silex/silex (v1.2.4)
    Downloading: 100%

  - Installing silex/web-profiler (v1.0.6)
    Downloading: 100%

  - Installing saxulum/saxulum-doctrine-orm-manager-registry-provider (2.2.0)
    Downloading: 100%

  - Installing jdorn/sql-formatter (v1.2.17)
    Downloading: 100%

  - Installing saxulum/saxulum-webprofiler-provider (1.1.1)
    Downloading: 100%

  - Installing swiftmailer/swiftmailer (v5.4.0)
    Downloading: 100%

  - Installing symfony/filesystem (v2.6.7)
    Downloading: 100%

  - Installing symfony/finder (v2.6.7)
    Downloading: 100%

  - Installing symfony/property-access (v2.6.7)
    Downloading: 100%

  - Installing symfony/options-resolver (v2.6.7)
    Downloading: 100%

  - Installing symfony/intl (v2.6.7)
    Downloading: 100%

  - Installing symfony/form (v2.6.7)
    Downloading: 100%

  - Installing monolog/monolog (1.13.1)
    Downloading: 100%

  - Installing symfony/monolog-bridge (v2.6.7)
    Downloading: 100%

  - Installing symfony/security (v2.6.7)
    Downloading: 100%

  - Installing symfony/translation (v2.6.7)
    Downloading: 100%

  - Installing symfony/validator (v2.6.7)
    Downloading: 100%

  - Installing phing/phing (2.10.1)
    Downloading: 100%

  - Installing phpdocumentor/reflection-docblock (2.0.4)
    Downloading: 100%

  - Installing phpunit/php-token-stream (1.4.1)
    Downloading: 100%

  - Installing symfony/yaml (v2.6.7)
    Downloading: 100%

  - Installing sebastian/version (1.0.5)
    Downloading: 100%

  - Installing sebastian/global-state (1.0.0)
    Downloading: 100%

  - Installing sebastian/recursion-context (1.0.0)
    Downloading: 100%

  - Installing sebastian/exporter (1.2.0)
    Downloading: 100%

  - Installing sebastian/environment (1.2.2)
    Downloading: 100%

  - Installing sebastian/diff (1.3.0)
    Downloading: 100%

  - Installing sebastian/comparator (1.1.1)
    Downloading: 100%

  - Installing phpunit/php-text-template (1.2.0)
    Downloading: 100%

  - Installing doctrine/instantiator (1.0.4)
    Downloading: 100%

  - Installing phpunit/phpunit-mock-objects (2.3.1)
    Downloading: 100%

  - Installing phpunit/php-timer (1.0.5)
    Downloading: 100%

  - Installing phpunit/php-file-iterator (1.4.0)
    Downloading: 100%

  - Installing phpunit/php-code-coverage (2.0.16)
    Downloading: 100%

  - Installing phpspec/prophecy (v1.4.1)
    Downloading: 100%

  - Installing phpunit/phpunit (4.6.6)
    Downloading: 100%

  - Installing symfony/config (v2.6.7)
    Downloading: 100%

  - Installing guzzle/guzzle (v3.9.3)
    Downloading: Connecting...    Failed to download guzzle/guzzle from dist: Could not authenticate against github.com
    Now trying to download from source
  - Installing guzzle/guzzle (v3.9.3)
    Cloning 0645b70d953bc1c067bbc8d5bc53194706b628d9

  - Installing satooshi/php-coveralls (dev-master 2fbf803)
    Cloning 2fbf803803d179ab1082807308a67bbd5a760c70

  - Installing symfony/dom-crawler (v2.6.7)
    Downloading: Connecting...    Failed to download symfony/dom-crawler from dist: Could not authenticate against github.com
    Now trying to download from source
  - Installing symfony/dom-crawler (v2.6.7)
    Cloning adef13fb8d305d95e1fb8324d6b5895c8e79d332

  - Installing symfony/browser-kit (v2.6.7)
    Downloading: Connecting...    Failed to download symfony/browser-kit from dist: Could not authenticate against github.com
    Now trying to download from source
  - Installing symfony/browser-kit (v2.6.7)
    Cloning cf950c42947ea2f29c36a1f443202b6134f5c303

  - Installing symfony/css-selector (v2.6.7)
    Downloading: Connecting...    Failed to download symfony/css-selector from dist: Could not authenticate against github.com
    Now trying to download from source
  - Installing symfony/css-selector (v2.6.7)
    Cloning 189cf0f7f56d7c4be3b778df15a7f16a29f3680d

symfony/console suggests installing symfony/process ()
dflydev/doctrine-orm-service-provider suggests installing dflydev/psr0-resource-locator-service-provider (1.0.*@dev)
knplabs/knp-components suggests installing doctrine/mongodb-odm (to allow usage pagination with Doctrine ODM MongoDB)
knplabs/knp-components suggests installing propel/propel1 (to allow usage pagination with Propel ORM)
knplabs/knp-components suggests installing ruflin/Elastica (to allow usage pagination with ElasticSearch Client)
knplabs/knp-components suggests installing solarium/solarium (to allow usage pagination with Solarium Client)
symfony/doctrine-bridge suggests installing doctrine/data-fixtures ()
symfony/twig-bridge suggests installing symfony/expression-language (For using the ExpressionExtension)
symfony/twig-bridge suggests installing symfony/templating (For using the TwigEngine)
symfony/twig-bridge suggests installing symfony/var-dumper (For using the DumpExtension)
symfony/routing suggests installing symfony/expression-language (For using expression matching)
symfony/event-dispatcher suggests installing symfony/dependency-injection ()
symfony/http-kernel suggests installing symfony/class-loader ()
symfony/http-kernel suggests installing symfony/dependency-injection ()
symfony/http-kernel suggests installing symfony/var-dumper ()
saxulum/saxulum-doctrine-orm-manager-registry-provider suggests installing saxulum/saxulum-console (~2.0)
saxulum/saxulum-doctrine-orm-manager-registry-provider suggests installing saxulum/saxulum-doctrine-orm-commands (~1.2)
symfony/intl suggests installing ext-intl (to use the component with locales other than "en")
symfony/form suggests installing symfony/framework-bundle (For templating with PHP.)
monolog/monolog suggests installing aws/aws-sdk-php (Allow sending log messages to AWS services like DynamoDB)
monolog/monolog suggests installing doctrine/couchdb (Allow sending log messages to a CouchDB server)
monolog/monolog suggests installing ext-amqp (Allow sending log messages to an AMQP server (1.0+ required))
monolog/monolog suggests installing ext-mongo (Allow sending log messages to a MongoDB server)
monolog/monolog suggests installing graylog2/gelf-php (Allow sending log messages to a GrayLog2 server)
monolog/monolog suggests installing raven/raven (Allow sending log messages to a Sentry server)
monolog/monolog suggests installing rollbar/rollbar (Allow sending log messages to Rollbar)
monolog/monolog suggests installing ruflin/elastica (Allow sending log messages to an Elastic Search server)
monolog/monolog suggests installing videlalvaro/php-amqplib (Allow sending log messages to an AMQP server using php-amqplib)
symfony/security suggests installing ircmaxell/password-compat (For using the BCrypt password encoder in PHP < 5.5)
symfony/security suggests installing symfony/class-loader (For using the ACL generateSql script)
symfony/security suggests installing symfony/expression-language (For using the expression voter)
symfony/validator suggests installing egulias/email-validator (Strict (RFC compliant) email validation)
symfony/validator suggests installing symfony/expression-language (For using the 2.4 Expression validator)
phing/phing suggests installing pdepend/pdepend (PHP version of JDepend)
phing/phing suggests installing pear/archive_tar (Tar file management class)
phing/phing suggests installing pear/versioncontrol_git (A library that provides OO interface to handle Git repository)
phing/phing suggests installing pear/versioncontrol_svn (A simple OO-style interface for Subversion, the free/open-source version control system)
phing/phing suggests installing phpdocumentor/phpdocumentor (Documentation Generator for PHP)
phing/phing suggests installing phploc/phploc (A tool for quickly measuring the size of a PHP project)
phing/phing suggests installing phpmd/phpmd (PHP version of PMD tool)
phing/phing suggests installing sebastian/phpcpd (Copy/Paste Detector (CPD) for PHP code)
phing/phing suggests installing tedivm/jshrink (Javascript Minifier built in PHP)
phpdocumentor/reflection-docblock suggests installing dflydev/markdown (~1.0)
phpdocumentor/reflection-docblock suggests installing erusev/parsedown (~1.0)
sebastian/global-state suggests installing ext-uopz (*)
phpunit/phpunit-mock-objects suggests installing ext-soap (*)
phpunit/php-code-coverage suggests installing ext-xdebug (>=2.2.1)
phpunit/phpunit suggests installing phpunit/php-invoker (~1.1)
guzzle/guzzle suggests installing guzzlehttp/guzzle (Guzzle 5 has moved to a new package name. The package you have installed, Guzzle 3, is deprecated.)
symfony/browser-kit suggests installing symfony/process ()
Generating autoload files
dropdb...
createdb...
create table...
ATTENTION: This operation should not be executed in a production environment.

Creating database schema...
Database schema created successfully!
insert data...
execute optional SQL...

                    Doctrine Database Migrations


PHP Warning:  date_default_timezone_get(): It is not safe to rely on the system`s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in /usr/share/nginx/html/vendor/monolog/monolog/src/Monolog/Logger.php on line 248



  [Doctrine\DBAL\Migrations\MigrationException]
  Could not find any migrations to execute.



migrations:migrate [--write-sql] [--dry-run] [--query-time] [--configuration[="..."]] [--db-configuration[="..."]] [version]


Finished Successful!
```
* これで「composer」がインストールされて「vendor/~」系のエラーは解消されました。

#まとめ
まだエラーが残っていて、作業は完了していいないので徐々に解消していきます。
技術者にとっては常識ですけど
gitを使ったこと無い立場からはgitの設定から欲しいところですが、
まぁよく理解していない人は下手にいじられると開発の邪魔になるのでしょうがないですわ

インストールについては最小構成で行うとプラグインの不足なので
個人的にはインストール前にチェックのバッチでもあったほうがいいかもしれません