Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Vagrant & Puppet

Vagrant & Puppet

Vagrant lets us create lightweight and portable dev envs, while Puppet makes configuring them easy. The presentation is about how this great tandem can make PHP developers life easier.

Video of the talk (in Polish): https://www.youtube.com/watch?v=CFs6BFfYTCs

Further reading:
http://www.vagrantup.com/
https://puppetlabs.com/puppet/what-is-puppet/
https://puphpet.com/
http://net.tutsplus.com/tutorials/php/vagrant-what-why-and-how/

Szymon Skórczyński

March 07, 2014
Tweet

More Decks by Szymon Skórczyński

Other Decks in Programming

Transcript

  1. View Slide

  2. View Slide

  3. View Slide






  4. View Slide

  5. View Slide

  6. View Slide

  7. View Slide

  8. View Slide

  9. View Slide

  10. View Slide

  11. View Slide

  12. View Slide

  13. View Slide

  14. View Slide

  15. Vagrant.configure("2") do |config|
    config.vm.box = "precise32"
    config.vm.box_url = "http://files.vagrantup.com/precise32.box"
    config.vm.network :private_network, ip: "192.168.56.101"
    config.vm.network :forwarded_port, guest: 80, host: 8091
    config.ssh.forward_agent = true
    config.vm.provider :virtualbox do |v|
    v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
    v.customize ["modifyvm", :id, "--memory", 1024]
    v.customize ["modifyvm", :id, "--name", "my-first-box"]
    end
    config.vm.synced_folder "./", "/var/www", id: "vagrant-root”
    end

    View Slide

  16. View Slide

  17. View Slide

  18. View Slide

  19. View Slide

  20. View Slide

  21. sudo apt-get update
    sudo apt-get install apache2
    sudo apt-get install php5
    sudo apt-get install phpmyadmin
    sudo apt-get install mysql-server
    sudo apt-get install libapache2-mod-auth-mysql
    sudo apt-get install php5-mysql

    View Slide

  22. View Slide

  23. View Slide

  24. package { [
    'curl'
    ]:
    ensure => 'installed',
    }
    sudo apt-get install curl

    View Slide

  25. View Slide

  26. apache::vhost { 'didactus.app.yteach.dev':
    server_name => 'didactus.app.yteach.dev',
    docroot => '/var/www/yteach/portal/web',
    port => '80',
    aliases => [
    { alias => '/files', path =>
    '/var/www/files' },
    { alias => '/uploaded_files', path =>
    '/var/www/files/uploaded_files' },
    ],
    }

    View Slide

  27. View Slide

  28. View Slide

  29. View Slide

  30. View Slide

  31. View Slide






  32. View Slide

  33. View Slide

  34. View Slide

  35. View Slide


  36. View Slide


  37. View Slide


  38. View Slide

  39. View Slide

  40. View Slide

  41. View Slide