-
-
Save grafxflow/e2aa346f41115fa44ab8c9ccd0c5342b to your computer and use it in GitHub Desktop.
A quick Vagrant file to get started with PHP 7.2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- mode: ruby -*- | |
# vi: set ft=ruby : | |
VAGRANTFILE_API_VERSION = '2' | |
@script = <<SCRIPT | |
# Fix for https://bugs.launchpad.net/ubuntu/+source/livecd-rootfs/+bug/1561250 | |
if ! grep -q "ubuntu-xenial" /etc/hosts; then | |
echo "127.0.0.1 ubuntu-xenial" >> /etc/hosts | |
fi | |
# Install dependencies | |
add-apt-repository ppa:ondrej/php | |
apt-get update | |
apt-get install -y apache2 git curl php7.2 php7.2-bcmath php7.2-bz2 php7.2-cli php7.2-curl php7.2-intl php7.2-json php7.2-mbstring php7.2-opcache php7.2-soap php7.2-sqlite3 php7.2-xml php7.2-xsl php7.2-zip libapache2-mod-php7.2 | |
# Configure Apache | |
echo "<VirtualHost *:80> | |
DocumentRoot /var/www/public | |
AllowEncodedSlashes On | |
<Directory /var/www/public> | |
Options +Indexes +FollowSymLinks | |
DirectoryIndex index.php index.html | |
Order allow,deny | |
Allow from all | |
AllowOverride All | |
</Directory> | |
ErrorLog ${APACHE_LOG_DIR}/error.log | |
CustomLog ${APACHE_LOG_DIR}/access.log combined | |
</VirtualHost>" > /etc/apache2/sites-available/000-default.conf | |
a2enmod rewrite | |
service apache2 restart | |
if [ -e /usr/local/bin/composer ]; then | |
/usr/local/bin/composer self-update | |
else | |
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer | |
fi | |
# Reset home directory of vagrant user | |
if ! grep -q "cd /var/www" /home/ubuntu/.profile; then | |
echo "cd /var/www" >> /home/ubuntu/.profile | |
fi | |
echo "** [PHP] Run the following command to install dependencies, if you have not already:" | |
echo " vagrant ssh -c 'composer install'" | |
echo "** [PHP] Visit http://localhost:8080 in your browser for to view the application **" | |
SCRIPT | |
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| | |
config.vm.box = 'ubuntu/xenial64' | |
config.vm.network "forwarded_port", guest: 80, host: 8080 | |
config.vm.synced_folder '.', '/var/www' | |
config.vm.provision 'shell', inline: @script | |
config.vm.provider "virtualbox" do |vb| | |
vb.customize ["modifyvm", :id, "--memory", "1024"] | |
vb.customize ["modifyvm", :id, "--name", "php7.2 app"] | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment