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