-
-
Save DragonBe/3736616a329c57460ccd0dace99a61fa to your computer and use it in GitHub Desktop.
# -*- 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 |
@grafxflow PHP short_tags shouldn't be enabled actually. They are deprecated in 7.4 and removed in 8.0 - so adding it in, renders this file un-updatable from a dependency standpoint. But, even using them should be considered a bad practice (and it is against PSR so it is a bad practice) as using them pretty much ensures that you CANNOT upgrade PHP when the later versions come out.
I agree with @jblac as using short tags is considered a bad practice. Since I never use them I never bothered to look at the setting. But feel free to modify this Vagrant file to your likings once you have pulled it in.
To be fair: by the end of next month support for PHP 7.2 has reached its end, so I might as well shut this gist down or upgrade to PHP 7.4 or even 8.0.
It would be nice to add this code in order to allow php <? shorthand.