Vagrantfileだけをメンバーに渡して環境を構築したい（boxファイルは送りたくない）

boxファイルを渡さずに、Vagrantfile ファイルのみで、
php開発環境を構築したくて、作りました。
その時のメモを残しておきます。

＜注意＞この環境には、DBはセットアップしていません。

# インストールアプリのバージョン

```
VirtualBox 6.0.8
VirtualBox Extension Pack 6.0.8
Vagrant 2.2.5
```

# 構築したサーバのOS、ミドルウェア

```
CentOS7
Apache2.4.6
mod_ssl
php7
composer
nodejs, npm
```

# Vagrantfile

特長
 → フォルダ共有、CPU、メモリ調整、初期構築時にスクリプト実行処理


```
# -*- mode: ruby -*-
# vi: set ft=ruby :


Vagrant.configure("2") do |config|
  #config.vbguest.auto_update = false
  config.vm.box = "centos/7" # https://app.vagrantup.com/centos/boxes/7
  config.vm.box_version = "1902.01"
  config.vm.network "private_network", ip: "192.168.33.10"
  config.vm.hostname = "local.danroo.com"
  config.vm.synced_folder "./danroo.com", "/virtual/develop/public_html/danroo.com", 
  mount_options: ['uid=48', 'gid=48', 'dmode=777','fmode=777']


  config.vm.provider :virtualbox do |vb|
      vb.name = "danroo"
      vb.customize ["modifyvm", :id, "--memory", "2048", "--cpus", "2", "--ioapic", "on"]
  end


  config.vm.provision "shell", inline: <<-EOT
        # timezone
        cp -p /usr/share/zoneinfo/Japan /etc/localtime
        
        # history format
        HISTTIMEFORMAT='%y/%m/%d %H:%M:%S ';
        
        # selinux
        cp -p /virtual/develop/public_html/danroo.com/provision-script/etc/selinux /etc/sysconfig/selinux
        setenforce 0


        # Apache
        yum -y install httpd-2.4.6 mod_ssl
        yum -y install epel-release
        rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
        
        systemctl enable httpd.service


        chown vagrant:vagrant /etc/httpd/conf/httpd.conf
        cp /virtual/develop/public_html/danroo.com/provision-script/etc/danroo-com.conf /etc/httpd/conf.d/danroo.com.conf
        cp /virtual/develop/public_html/danroo.com/provision-script/etc/keyfile201907p /etc/pki/tls/private/keyfile201907p
        cp /virtual/develop/public_html/danroo.com/provision-script/etc/danroo.com.crt /etc/pki/tls/certs/danroo.com.crt
        cp /virtual/develop/public_html/danroo.com/provision-script/etc/ca-bundle.ca /etc/pki/tls/certs/ca-bundle.ca


        # php
        yum -y install --enablerepo=remi,remi-php70 php php-devel php-mbstring php-mysqli php-xml
        
        # composer
        curl -sS https://getcomposer.org/installer | php
        mv composer.phar /usr/local/bin/composer


        # nodejs, npm
        yum -y install nodejs npm
  EOT


  config.vm.provision :shell, run: "always", :inline => <<-EOT
        service httpd restart
  EOT
end
```

# セットアップメモ

## VirtualBox インストール

ローカルPCのOSに合わせて、ダウンロードおよびインストールを行なう。

https://www.virtualbox.org/wiki/Downloads

## VirtualBox Oracle VM VirtualBox Extension Pack　インストール

VirtualBox のダウンロードリンクの下あたりに記載されている、
Extension Packのダウンロードおよびインストールを行なう。

https://www.virtualbox.org/wiki/Downloads

## Vagrant　インストール

Vagrant をダウンロードおよびインストールを行なう。

https://www.vagrantup.com/

## 設置したい場所へ移動

```
$ cd /Users/[xxxx]/danrooProject
```

## ソース配置

Vagrantfileおよびプログラムソースを配置

```
$ ls /Users/[xxxx]/danrooProject/Vagrantfile
$ ls /Users/[xxxx]/danrooProject/danroo.com
```

## VirtualBox Guest Addition インストール

```
$ vagrant plugin install vagrant-vbguest
```

## Vagrant 環境 起動

```
$ vagrant up
```

## hosts 設定

hostsへ以下を登録

```
192.168.33.10 local.danroo.com
```

## サイト表示確認

```
http://local.danroo.com
```

# [参考] Vagrant 操作コマンド

## Vagrant 環境 停止

```
$ vagrant halt
```

## Vagrant 環境 再起動

```
$ vagrant reload
```

## Vagrant 環境 SSHログイン

```
$ vagrant ssh
Last login: Sun Jun 23 11:08:00 2019 from 10.0.2.2
[vagrant@local ~]$ su -
Password: vagrant
Last login: 日  6月 23 11:08:05 JST 2019 on pts/0
[root@local ~]# 
```

## Vagrant 環境　削除

```
$ vagrant destroy
```