Advertisement
Tanoro

Vagrant Issue

Jun 26th, 2019
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.95 KB | None | 0 0
  1. # -*- mode: ruby -*-
  2. # vi: set ft=ruby :
  3.  
  4. VAGRANTFILE_API_VERSION = '2'
  5. APP_NAME = 'app'
  6.  
  7. @script = <<-SCRIPT
  8. apt-get update -y && apt-get upgrade
  9.  
  10. echo "#################### PHP ####################"
  11. apt-get install -y apt-utils php7.2
  12. apt-get install -y 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-gd php7.2-zip unzip
  13.  
  14. echo "#################### APACHE2 ####################"
  15. apt-get install -y apache2 libapache2-mod-php7.2
  16.  
  17. # Add ServerName to httpd.conf
  18. echo "ServerName localhost" > /etc/apache2/httpd.conf
  19.  
  20. # Setup hosts file
  21. VHOST=$(cat <<EOF
  22. <VirtualHost *:80>
  23. DocumentRoot "/home/#{APP_NAME}/public_html"
  24. ServerName localhost
  25. <Directory "/home/#{APP_NAME}/public_html">
  26. Options Indexes FollowSymLinks MultiViews Includes ExecCGI
  27. AllowOverride All
  28. Require all granted
  29. Order allow,deny
  30. Allow from all
  31. AddType text/html .shtm .shtml
  32. AddOutputFilter INCLUDES .htm .html .shtm .shtml
  33. </Directory>
  34. </VirtualHost>
  35. EOF
  36. )
  37. echo "${VHOST}" > /etc/apache2/sites-enabled/000-default.conf
  38.  
  39. # Enable mod_rewrite
  40. a2enmod rewrite
  41.  
  42. # Put PHP into development configuration
  43. mv /etc/php/7.2/apache2/php.ini /etc/php/7.2/apache2/php.ini.back
  44. cp /usr/lib/php/7.2/php.ini-development /etc/php/7.2/apache2/php.ini
  45.  
  46. # Enable PHP extensions in php.ini
  47. sed -i 's/;extension=intl/extension=intl/' /etc/php/7.2/apache2/php.ini
  48. sed -i 's/;extension=mysqli/extension=mysqli/' /etc/php/7.2/apache2/php.ini
  49. sed -i 's/;extension=pdo_mysql/extension=pdo_mysql/' /etc/php/7.2/apache2/php.ini
  50.  
  51. # PHP will log errors here
  52. sed -i 's:;error_log = php_errors.log:error_log = /home/#{APP_NAME}/logs/error_log:' /etc/php/7.2/apache2/php.ini
  53.  
  54. # Restart apache
  55. systemctl restart apache2.service
  56.  
  57. echo "#################### COMPOSER ####################"
  58. curl -sS http://getcomposer.org/installer | php
  59. mv composer.phar /usr/local/bin/composer
  60. echo "{}" > /home/vagrant/.config/composer/composer.json
  61. echo "{}" > /home/vagrant/.cache/composer/files/composer/installers/composer.json
  62.  
  63. SCRIPT
  64.  
  65. Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  66. config.vm.box = 'ubuntu/bionic64'
  67.  
  68. config.vbguest.auto_update
  69. config.ssh.insert_key = false
  70.  
  71. config.vm.network "forwarded_port", guest: 80, host: 8080
  72. config.vm.network "forwarded_port", guest: 443, host: 8081
  73. config.vm.network "forwarded_port", guest: 3306, host: 3307
  74.  
  75. # We do not want Vagrant picking the root directory
  76. config.vm.synced_folder ".", "/vagrant", disabled: true
  77. config.vm.synced_folder ".", "/home/#{APP_NAME}"
  78.  
  79. # Provision runs only on the first "Vagrant up" command
  80. config.vm.provision 'shell', privileged: true, inline: @script
  81.  
  82. config.vm.provider "virtualbox" do |vb|
  83. vb.customize ["modifyvm", :id, "--memory", "2048"]
  84. vb.customize ['modifyvm', :id, "--natdnshostresolver1", "on"]
  85. #vb.customize ["modifyvm", :id, "--name", "domain.com"]
  86. end
  87. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement