diff --git a/.gitignore b/.gitignore index 9b825618..a36a3eb2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ -/.vagrant +.vagrant *.box *.log diff --git a/hyperv/Vagrantfile b/hyperv/Vagrantfile new file mode 100644 index 00000000..973e4cfe --- /dev/null +++ b/hyperv/Vagrantfile @@ -0,0 +1,23 @@ +VAGRANTFILE_API_VERSION = '2' + +Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| + # Configure The Box + config.vm.box = 'kmm/ubuntu-xenial64' + config.vm.hostname = 'homestead' + + # Don't Replace The Default Key https://github.com/mitchellh/vagrant/pull/4707 + config.ssh.insert_key = false + + # Configure Port Forwarding + config.vm.network 'forwarded_port', guest: 80, host: 8000, auto_correct: true + config.vm.network 'forwarded_port', guest: 3306, host: 33060, auto_correct: true + config.vm.network 'forwarded_port', guest: 5432, host: 54320, auto_correct: true + config.vm.network 'forwarded_port', guest: 35729, host: 35729, auto_correct: true + + config.vm.synced_folder './', '/vagrant', disabled: true + + # Run The Base Provisioning Script + config.vm.provision 'shell', path: '../scripts/update.sh' + config.vm.provision :reload + config.vm.provision 'shell', path: '../scripts/provision.sh' +end diff --git a/build_hyperv.ps1 b/hyperv/build_hyperv.ps1 similarity index 100% rename from build_hyperv.ps1 rename to hyperv/build_hyperv.ps1 diff --git a/parallels/Vagrantfile b/parallels/Vagrantfile new file mode 100644 index 00000000..81588c4e --- /dev/null +++ b/parallels/Vagrantfile @@ -0,0 +1,23 @@ +VAGRANTFILE_API_VERSION = '2' + +Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| + # Configure The Box + config.vm.box = 'bento/ubuntu-16.04' + config.vm.hostname = 'homestead' + + # Don't Replace The Default Key https://github.com/mitchellh/vagrant/pull/4707 + config.ssh.insert_key = false + + # Configure Port Forwarding + config.vm.network 'forwarded_port', guest: 80, host: 8000, auto_correct: true + config.vm.network 'forwarded_port', guest: 3306, host: 33060, auto_correct: true + config.vm.network 'forwarded_port', guest: 5432, host: 54320, auto_correct: true + config.vm.network 'forwarded_port', guest: 35729, host: 35729, auto_correct: true + + config.vm.synced_folder './', '/vagrant', disabled: true + + # Run The Base Provisioning Script + config.vm.provision 'shell', path: '../scripts/update.sh' + config.vm.provision :reload + config.vm.provision 'shell', path: '../scripts/provision.sh' +end diff --git a/build_parallels.sh b/parallels/build.sh similarity index 81% rename from build_parallels.sh rename to parallels/build.sh index 25a3b212..476dd03e 100755 --- a/build_parallels.sh +++ b/parallels/build.sh @@ -7,7 +7,7 @@ time vagrant up --provider parallels 2>&1 | tee parallels-build-output.log vagrant halt # Shrink the box size -prl_disk_tool compact --hdd ~/Documents/Parallels/settler_default_*.pvm/harddisk*.hdd +prl_disk_tool compact --hdd ~/Documents/Parallels/parallels_default_*.pvm/harddisk*.hdd # Remove unnecessary log files rm -f ~/Documents/Parallels/settler_default_*.pvm/*.log diff --git a/scripts/provision.sh b/scripts/provision.sh index 4ca285c8..7f965922 100644 --- a/scripts/provision.sh +++ b/scripts/provision.sh @@ -22,6 +22,9 @@ apt-add-repository ppa:nginx/development -y apt-add-repository ppa:chris-lea/redis-server -y apt-add-repository ppa:ondrej/php -y +curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - +curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list + # gpg: key 5072E1F5: public key "MySQL Release Engineering " imported # apt-key adv --keyserver ha.pool.sks-keyservers.net --recv-keys 5072E1F5 # sh -c 'echo "deb http://repo.mysql.com/apt/ubuntu/ xenial mysql-5.7" >> /etc/apt/sources.list.d/mysql.list' @@ -42,7 +45,7 @@ apt-get update apt-get install -y build-essential dos2unix gcc git libmcrypt4 libpcre3-dev ntp unzip \ make python2.7-dev python-pip re2c supervisor unattended-upgrades whois vim libnotify-bin \ -pv cifs-utils +pv cifs-utils mcrypt # Set My Timezone @@ -56,7 +59,7 @@ php7.1-pgsql php7.1-sqlite3 php7.1-gd \ php7.1-curl php7.1-memcached \ php7.1-imap php7.1-mysql php7.1-mbstring \ php7.1-xml php7.1-zip php7.1-bcmath php7.1-soap \ -php7.1-intl php7.1-readline php-xdebug +php7.1-intl php7.1-readline php-xdebug php-pear # Install Composer @@ -199,6 +202,19 @@ mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql --user=root --password=secret my apt-get install -y postgresql +# Install MSSQL + +ACCEPT_EULA=Y apt-get -y install msodbcsql mssql-tools +apt-get -y install unixodbc-dev +pear config-set php_ini `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"` system +pecl install sqlsrv +pecl install pdo_sqlsrv +echo "[mssql]" >> /etc/php/7.1/fpm/php.ini +echo "extension=sqlsrv.so" >> /etc/php/7.1/fpm/php.ini +echo "extension=pdo_sqlsrv.so" >> /etc/php/7.1/fpm/php.ini +service nginx restart +service php7.1-fpm restart + # Configure Postgres Remote Access sed -i "s/#listen_addresses = 'localhost'/listen_addresses = '*'/g" /etc/postgresql/9.5/main/postgresql.conf diff --git a/Vagrantfile b/virtualbox/Vagrantfile similarity index 72% rename from Vagrantfile rename to virtualbox/Vagrantfile index 77a903b0..ee081c00 100644 --- a/Vagrantfile +++ b/virtualbox/Vagrantfile @@ -14,15 +14,6 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| vb.customize ['modifyvm', :id, '--natdnshostresolver1', 'on'] end - config.vm.provider :vmware_fusion do |v| - v.memory = 2048 - v.cpus = 2 - end - - config.vm.provider :hyperv do |vb| - config.vm.box = 'kmm/ubuntu-xenial64' - end - # Configure Port Forwarding config.vm.network 'forwarded_port', guest: 80, host: 8000, auto_correct: true config.vm.network 'forwarded_port', guest: 3306, host: 33060, auto_correct: true @@ -32,9 +23,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.synced_folder './', '/vagrant', disabled: true # Run The Base Provisioning Script - config.vm.provision 'shell', path: './scripts/update.sh' - config.vm.provision :reload - config.vm.provision 'shell', path: './scripts/vmware_tools.sh' + config.vm.provision 'shell', path: '../scripts/update.sh' config.vm.provision :reload - config.vm.provision 'shell', path: './scripts/provision.sh' + config.vm.provision 'shell', path: '../scripts/provision.sh' end diff --git a/build.sh b/virtualbox/build.sh similarity index 79% rename from build.sh rename to virtualbox/build.sh index 9995974f..177f45fb 100755 --- a/build.sh +++ b/virtualbox/build.sh @@ -9,7 +9,7 @@ rm -rf .vagrant time vagrant up --provider virtualbox 2>&1 | tee virtualbox-build-output.log vagrant halt -vagrant package --base `ls ~/VirtualBox\ VMs | grep settler` --output virtualbox.box +vagrant package --base `ls ~/VirtualBox\ VMs | grep virtualbox` --output virtualbox.box ls -lh virtualbox.box vagrant destroy -f diff --git a/vmware/Vagrantfile b/vmware/Vagrantfile new file mode 100644 index 00000000..051ee976 --- /dev/null +++ b/vmware/Vagrantfile @@ -0,0 +1,30 @@ +VAGRANTFILE_API_VERSION = '2' + +Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| + # Configure The Box + config.vm.box = 'bento/ubuntu-16.04' + config.vm.hostname = 'homestead' + + # Don't Replace The Default Key https://github.com/mitchellh/vagrant/pull/4707 + config.ssh.insert_key = false + + config.vm.provider :vmware_fusion do |v| + v.memory = 2048 + v.cpus = 2 + end + + # Configure Port Forwarding + config.vm.network 'forwarded_port', guest: 80, host: 8000, auto_correct: true + config.vm.network 'forwarded_port', guest: 3306, host: 33060, auto_correct: true + config.vm.network 'forwarded_port', guest: 5432, host: 54320, auto_correct: true + config.vm.network 'forwarded_port', guest: 35729, host: 35729, auto_correct: true + + config.vm.synced_folder './', '/vagrant', disabled: true + + # Run The Base Provisioning Script + config.vm.provision 'shell', path: '../scripts/update.sh' + config.vm.provision :reload + config.vm.provision 'shell', path: '../scripts/vmware_tools.sh' + config.vm.provision :reload + config.vm.provision 'shell', path: '../scripts/provision.sh' +end diff --git a/build_vmware.sh b/vmware/build.sh similarity index 100% rename from build_vmware.sh rename to vmware/build.sh