SHARE
TWEET

Simple vhost puppetrecipe for apache

boudewijnector Mar 11th, 2012 122 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. class apache {
  2.         package { "apache2" : ensure => present; }
  3.         package { "awstats" : ensure => present; }
  4.        
  5.         package { "libapache2-mod-php5" :
  6.                 ensure => present,
  7.                 require => Package['apache2'],
  8.         }
  9.  
  10.         service { "apache2" :
  11.                 ensure => running,
  12.                 enable => true,
  13.                 require => Package['apache2'],
  14.         }
  15.  
  16.         define simple-vhost ( $admin = "beheer@boudewijnector.nl", $aliases, $docroot="") {
  17.                 file { "/etc/apache2/sites-available/$name":
  18.                         mode    => "644",
  19.                         require => [ Package["apache2"], Package["cronolog"], Service["apache2"] ],
  20.                         content => template("apache/vhost.conf"),
  21.                 }
  22.  
  23.                 exec { "/usr/sbin/a2ensite $name; /usr/sbin/apache2ctl graceful ":
  24.                         subscribe => File["/etc/apache2/sites-available/$name"],
  25.                         refreshonly => true
  26.                 }
  27.  
  28.                 file {"/var/www/$name/htdocs":
  29.                         mode    => "660",
  30.                         group   => "www-data",
  31.                         ensure  => directory,  
  32.                         require => File["/var/www/$name"],
  33.                 }
  34.        
  35.                 file {"/var/www/$name":
  36.                         mode    => "660",
  37.                         group   => "www-data",
  38.                         ensure  => directory,  
  39.                 }
  40.  
  41.  
  42.                 # awstats config...
  43.                 file { "/etc/awstats/$name.aliases":
  44.                         mode    => "640",
  45.                         owner   => "www-data",
  46.                         content => template("apache/awstats.aliases"),
  47.                 }
  48.  
  49.                 file { "/etc/awstats/awstats.$name.conf":
  50.                         mode    => "640",
  51.                         owner   => "www-data",
  52.                         content => template("apache/awstats.conf"),
  53.                 }
  54.         }
  55. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top