Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- mkdir -p puppetcode/{manifests,modules}/ ; mkdir -p puppetcode/modules/nginx/{manifests,files,templates}/
- put this into Vagrantfile:
- Vagrant.configure("2") do |config|
- config.vm.provision "puppet" do |puppet|
- puppet.manifests_path = "puppetcode/manifests"
- puppet.manifest_file = "site.pp"
- puppet.module_path = "puppetcode/modules"
- end
- end
- put this into puppetcode/manifests/site.pp:
- node default {
- include nginx
- }
- put this into puppetcode/modules/nginx/manifests/init.pp
- class nginx {
- file { "/etc/yum.repos.d/epel.repo":
- owner => 'root',
- group => 'root',
- mode => '0644',
- source => "puppet:///modules/nginx/epel.repo",
- }
- package { 'nginx':
- ensure => present,
- require => File['/etc/yum.repos.d/epel.repo'],
- install_options => ['--enablerepo', 'epel'],
- }
- file { '/etc/nginx/conf.d/webpage.conf':
- content => template('nginx/webpage.conf.erb'),
- require => Package['nginx'],
- notify => Service['nginx'],
- }
- file { "/var/www":
- ensure => directory,
- owner => 'root',
- group => 'root',
- mode => '0755',
- }
- file { "/var/www/index.html":
- owner => 'root',
- group => 'root',
- mode => '0644',
- source => "puppet:///modules/nginx/index.html",
- require => File['/var/www'],
- }
- service { 'nginx':
- ensure => running,
- enable => true,
- hasrestart => true,
- subscribe => File['/etc/nginx/conf.d/webpage.conf'],
- require => Package['nginx'],
- }
- service { 'iptables':
- ensure => stopped,
- }
- }
- put this into puppetcode/modules/nginx/templates/webpage.conf.erb
- server {
- listen 80;
- server_name <% @fqdn %>;
- access_log /var/log/nginx/access.log;
- error_log /var/log/nginx/error.log;
- root /var/www;
- index index.php index.html;
- location / {
- try_files $uri $uri/ /index.php?$args ;
- }
- location ~ \.php$ {
- fastcgi_pass unix:/var/run/php5-fpm.sock;
- fastcgi_index index.php;
- include fastcgi_params;
- fastcgi_read_timeout 300;
- }
- }
- put this into puppetcode/modules/nginx/files/epel.repo
- [epel]
- name=Extra Packages for Enterprise Linux 6 - $basearch
- baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
- failovermethod=priority
- enabled=1
- gpgcheck=0
- put this into puppetcode/modules/nginx/files/index.html
- https://raw.githubusercontent.com/puppetlabs/exercise-webpage/master/index.html
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement