LoginSignup
0
0

More than 3 years have passed since last update.

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

Last updated at Posted at 2019-07-08

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に合わせて、ダウンロードおよびインストールを行なう。

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

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

Vagrant インストール

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

設置したい場所へ移動

$ 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
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0