Advertisement
boudewijnector

Simple vhost puppetrecipe for apache

Mar 11th, 2012
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.47 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement