Documentation by YARD 0.9.9
+Alphabetic Index
+ +Puppet Class Listing A-Z
+ + +
+
+
+
|
+
File Listing
+-
+
+
+
- README + + +
From 44a6e4aa082511cf9388e1c6cd0d1c848f216842 Mon Sep 17 00:00:00 2001
From: Arne Teuke
+Changelog of Git Changelog.
+
+ Git Changelog changelog
+
+ {{name}}
+ {{#issues}}
+ {{#hasIssue}}
+ {{#hasLink}}
+ {{name}} {{issue}} {{title}}
+ {{/hasLink}}
+ {{^hasLink}}
+ {{name}} {{issue}} {{title}}
+ {{/hasLink}}
+ {{/hasIssue}}
+ {{^hasIssue}}
+ {{name}}
+ {{/hasIssue}}
+
+
+ {{#commits}}
+{{hash}} {{authorName}} {{commitTime}}
+{{{messageTitle}}}
+
+{{#messageBodyItems}}
+
+Changelog of Git Changelog. +
+ +{{#tags}} ++
+Changelog of Git Changelog. +
+ ++
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
+
| t |
+ + + +24 +25 +26+ |
+
+ # File 'manifests/init.pp', line 24
+
+class cd_apache {
+ include cd_apache::params
+}
+ |
+
cd_apache::main::config.pp +Module name: cd_apache +Author: Arne Teuke +(arne_teuke@confdroid.com) +License: + This file is part of cd_apache.
+ +cd_apache is used for providing automatic configuration of + Apache +Webserver. + Copyright (C) 2014 confdroid (copyright@confdroid.com) + This +program is free software: you can redistribute it and/or modify + it under +the terms of the GNU General Public License as published by + the Free +Software Foundation, either version 3 of the License, or + (at your option) +any later version.
+ +This program is distributed in the hope that it will be useful, + but +WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License +for more details.
+ +You should have received a copy of the GNU General Public License + along +with this program. If not, see www.gnu.org/licenses/.
+ +
+ + + +24 +25 +26 +27 +28 +29 +30+ |
+
+ # File 'manifests/main/config.pp', line 24
+
+class cd_apache::main::config (
+
+) inherits cd_apache::params {
+
+ include cd_apache::server::service
+
+}
+ |
+
cd_apache::params.pp +Module name: cd_apache +Author: Arne Teuke +(arne_teuke@confdroid.com) +License: + This file is part of cd_apache.
+ +cd_apache is used for providing automatic configuration of + Apache +Webserver. + Copyright (C) 2014 confdroid (copyright@confdroid.com) + This +program is free software: you can redistribute it and/or modify + it under +the terms of the GNU General Public License as published by + the Free +Software Foundation, either version 3 of the License, or + (at your option) +any later version.
+ +This program is distributed in the hope that it will be useful, + but +WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License +for more details.
+ +You should have received a copy of the GNU General Public License + along +with this program. If not, see www.gnu.org/licenses/.
+ +
+ + + +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119+ |
+
+ # File 'manifests/params.pp', line 58
+
+class cd_apache::params (
+
+$pkg_ensure = 'latest',
+
+$ae_manage_user = false,
+
+$ae_user_name = 'apache',
+$ae_user_uid = '48',
+$ae_u_comment = 'Apache',
+$ae_u_groups = undef,
+$ae_user_home = '/usr/share/httpd',
+$ae_user_shell = '/bin/false',
+
+# configuration files
+$ae_manage_cfg = false,
+$ae_manage_dirs = true,
+$ae_allow_user_dirs = false,
+
+) {
+
+# installation section
+
+$reqpackages = $::operatingsystem ? {
+ /(?i-mx:centos|fedora|redhat)/ => ['httpd','mod_ssl'],
+ }
+
+# service
+$ae_service = 'httpd'
+
+# directories
+$ae_main_dir = '/etc/httpd'
+$ae_conf_dir = "${ae_main_dir}/conf"
+$ae_conf_d_dir = "${ae_main_dir}/conf.d"
+$ae_conf_mods_d = "${ae_main_dir}/conf.modules.d"
+$ae_var_logs_dir = '/var/log/httpd'
+$ae_logs_dir = "${ae_main_dir}/logs"
+$ae_usr_lib_dir = '/usr/lib64/httpd'
+$ae_usr_mods_dir = "${ae_usr_lib_dir}/modules"
+$ae_mods_dir = "${ae_main_dir}/modules"
+$ae_run_dir = '/run/httpd'
+$ae_run_link = "${ae_main_dir}/run"
+$ae_share_httpd = '/usr/share/httpd'
+$ae_cache_httpd = '/var/cache/httpd'
+
+
+# files
+$ae_conf_file = "${ae_conf_dir}/httpd.conf"
+$ae_conf_file_erb = 'cd_apache/httpd_conf.erb'
+$ae_magic_file = "${ae_conf_dir}/magic"
+$ae_magic_file_erb = 'cd_apache/magic.erb'
+$ae_ssl_file = "${ae_conf_d_dir}/ssl.conf"
+$ae_ssl_file_erb = 'cd_apache/ssl_conf.erb'
+$ae_autoindex_file = "${ae_conf_d_dir}/autoindex.conf"
+$ae_autoindex_erb = 'cd_apache/autoindex_conf.erb'
+$ae_userdir_file = "${ae_conf_d_dir}/userdir.conf"
+$ae_userdir_erb = 'cd_apache/userdir_conf.erb'
+
+# includes must be last
+
+ include cd_apache::main::config
+
+}
+ |
+
cd_apache::server::dirs.pp +Module name: cd_apache +Author: Arne Teuke +(arne_teuke@confdroid.com) +License: + This file is part of cd_apache.
+ +cd_apache is used for providing automatic configuration of + Apache +Webserver. + Copyright (C) 2014 confdroid (copyright@confdroid.com) + This +program is free software: you can redistribute it and/or modify + it under +the terms of the GNU General Public License as published by + the Free +Software Foundation, either version 3 of the License, or + (at your option) +any later version.
+ +This program is distributed in the hope that it will be useful, + but +WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License +for more details.
+ +You should have received a copy of the GNU General Public License + along +with this program. If not, see www.gnu.org/licenses/.
+ +
+ + + +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218+ |
+
+ # File 'manifests/server/dirs.pp', line 25
+
+class cd_apache::server::dirs (
+
+) inherits cd_apache::params {
+
+ require cd_apache::server::user
+
+ if $ae_manage_dirs == true {
+
+ # create main dir
+
+ file { $ae_main_dir:
+ ensure => directory,
+ path => $ae_main_dir,
+ owner => 'root',
+ group => 'root',
+ mode => '0755',
+ selrange => s0,
+ selrole => object_r,
+ seltype => httpd_config_t,
+ seluser => system_u,
+ }
+
+ # conf dir
+
+ file { $ae_conf_dir:
+ ensure => directory,
+ path => $ae_conf_dir,
+ owner => 'root',
+ group => 'root',
+ mode => '0755',
+ selrange => s0,
+ selrole => object_r,
+ seltype => httpd_config_t,
+ seluser => system_u,
+ }
+
+ # conf.d dir
+
+ file { $ae_conf_d_dir:
+ ensure => directory,
+ path => $ae_conf_d_dir,
+ owner => 'root',
+ group => 'root',
+ mode => '0755',
+ selrange => s0,
+ selrole => object_r,
+ seltype => httpd_config_t,
+ seluser => system_u,
+ }
+
+ # conf.modules.d
+
+ file { $ae_conf_mods_d:
+ ensure => directory,
+ path => $ae_conf_mods_d,
+ owner => 'root',
+ group => 'root',
+ mode => '0755',
+ selrange => s0,
+ selrole => object_r,
+ seltype => httpd_config_t,
+ seluser => system_u,
+ }
+
+ # /var/log/httpd
+
+ file { $ae_var_logs_dir:
+ ensure => directory,
+ path => $ae_var_logs_dir,
+ owner => 'root',
+ group => 'root',
+ mode => '0700',
+ selrange => s0,
+ selrole => object_r,
+ seltype => httpd_log_t,
+ seluser => system_u,
+ }
+
+ # logs dir link
+
+ file { $ae_logs_dir:
+ ensure => link,
+ path => $ae_logs_dir,
+ target => $ae_var_logs_dir,
+ owner => 'root',
+ group => 'root',
+ mode => '0777',
+ selrange => s0,
+ selrole => object_r,
+ seltype => httpd_log_t,
+ seluser => system_u,
+ }
+
+ # /usr/lib/httpd
+
+ file { $ae_usr_lib_dir:
+ ensure => directory,
+ path => $ae_usr_lib_dir,
+ owner => 'root',
+ group => 'root',
+ mode => '0755',
+ selrange => s0,
+ selrole => object_r,
+ seltype => httpd_modules_t,
+ seluser => system_u,
+ }
+
+ # mods dir
+
+ file { $ae_usr_mods_dir:
+ ensure => directory,
+ path => $ae_usr_mods_dir,
+ owner => 'root',
+ group => 'root',
+ mode => '0755',
+ selrange => s0,
+ selrole => object_r,
+ seltype => httpd_modules_t,
+ seluser => system_u,
+ }
+
+ # logs dir link
+
+ file { $ae_mods_dir:
+ ensure => link,
+ path => $ae_mods_dir,
+ target => $ae_usr_mods_dir,
+ owner => 'root',
+ group => 'root',
+ mode => '0777',
+ selrange => s0,
+ selrole => object_r,
+ seltype => httpd_modules_t,
+ seluser => system_u,
+ }
+
+ # run dir
+
+ file { $ae_run_dir:
+ ensure => directory,
+ path => $ae_run_dir,
+ owner => 'root',
+ group => $ae_user_name,
+ mode => '0710',
+ selrange => s0,
+ selrole => object_r,
+ seltype => httpd_var_run_t,
+ seluser => system_u,
+ }
+
+ # run link
+
+ file { $ae_run_link:
+ ensure => link,
+ path => $ae_run_link,
+ target => $ae_run_dir,
+ owner => 'root',
+ group => 'root',
+ mode => '0777',
+ selrange => s0,
+ selrole => object_r,
+ seltype => httpd_config_t,
+ seluser => system_u,
+ }
+
+ # /usr/share/httpd dir
+
+ file { $ae_share_httpd:
+ ensure => directory,
+ path => $ae_share_httpd,
+ owner => 'root',
+ group => 'root',
+ mode => '0755',
+ selrange => s0,
+ selrole => object_r,
+ seltype => usr_t,
+ seluser => system_u,
+ }
+
+ # /var/cache/httpd
+
+ file { $ae_cache_httpd:
+ ensure => directory,
+ path => $ae_cache_httpd,
+ owner => $ae_user_name,
+ group => $ae_user_name,
+ mode => '0700',
+ selrange => s0,
+ selrole => object_r,
+ seltype => httpd_cache_t,
+ seluser => system_u,
+ }
+ }
+}
+ |
+
cd_apache::server::files.pp +Module name: cd_apache +Author: Arne Teuke +(arne_teuke@confdroid.com) +License: + This file is part of cd_apache.
+ +cd_apache is used for providing automatic configuration of + Apache +Webserver. + Copyright (C) 2014 confdroid (copyright@confdroid.com) + This +program is free software: you can redistribute it and/or modify + it under +the terms of the GNU General Public License as published by + the Free +Software Foundation, either version 3 of the License, or + (at your option) +any later version.
+ +This program is distributed in the hope that it will be useful, + but +WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License +for more details.
+ +You should have received a copy of the GNU General Public License + along +with this program. If not, see www.gnu.org/licenses/.
+ +
+ + + +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115+ |
+
+ # File 'manifests/server/files.pp', line 24
+
+class cd_apache::server::files (
+
+) inherits cd_apache::params {
+
+ require cd_apache::server::dirs
+
+ if $ae_manage_cfg == true {
+
+ # manage main config file
+
+ file { $ae_conf_file:
+ ensure => file,
+ path => $ae_conf_file,
+ owner => 'root',
+ group => 'root',
+ mode => '0644',
+ selrange => s0,
+ selrole => object_r,
+ seltype => httpd_config_t,
+ seluser => system_u,
+ content => template($ae_conf_file_erb),
+ notify => Service['httpd'],
+ }
+
+ # manage magic file
+
+ file { $ae_magic_file:
+ ensure => file,
+ path => $ae_magic_file,
+ owner => 'root',
+ group => 'root',
+ mode => '0644',
+ selrange => s0,
+ selrole => object_r,
+ seltype => httpd_config_t,
+ seluser => system_u,
+ content => template($ae_magic_file_erb),
+ notify => Service['httpd'],
+ }
+
+ # manage main ssl config file
+
+ file { $ae_ssl_file:
+ ensure => file,
+ path => $ae_ssl_file,
+ owner => 'root',
+ group => 'root',
+ mode => '0644',
+ selrange => s0,
+ selrole => object_r,
+ seltype => httpd_config_t,
+ seluser => system_u,
+ content => template($ae_ssl_file_erb),
+ notify => Service['httpd'],
+ }
+
+ # manage autoindex.conf
+
+ file { $ae_autoindex_file:
+ ensure => file,
+ path => $ae_autoindex_file,
+ owner => 'root',
+ group => 'root',
+ mode => '0644',
+ selrange => s0,
+ selrole => object_r,
+ seltype => httpd_config_t,
+ seluser => system_u,
+ content => template($ae_autoindex_erb),
+ notify => Service['httpd'],
+ }
+
+ if $ae_allow_user_dirs == true {
+
+ # manage userdir.conf
+
+ file { $ae_userdir_file:
+ ensure => file,
+ path => $ae_userdir_file,
+ owner => 'root',
+ group => 'root',
+ mode => '0644',
+ selrange => s0,
+ selrole => object_r,
+ seltype => httpd_config_t,
+ seluser => system_u,
+ content => template($ae_userdir_erb),
+ notify => Service['httpd'],
+ }
+ }
+ }
+}
+ |
+
cd_apache::server::install.pp +Module name: cd_apache +Author: Arne Teuke +(arne_teuke@confdroid.com) +License: + This file is part of cd_apache.
+ +cd_apache is used for providing automatic configuration of + Apache +Webserver. + Copyright (C) 2014 confdroid (copyright@confdroid.com) + This +program is free software: you can redistribute it and/or modify + it under +the terms of the GNU General Public License as published by + the Free +Software Foundation, either version 3 of the License, or + (at your option) +any later version.
+ +This program is distributed in the hope that it will be useful, + but +WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License +for more details.
+ +You should have received a copy of the GNU General Public License + along +with this program. If not, see www.gnu.org/licenses/.
+ +
+ + + +24 +25 +26 +27 +28 +29 +30 +31 +32 +33+ |
+
+ # File 'manifests/server/install.pp', line 24
+
+class cd_apache::server::install (
+
+) inherits cd_apache::params {
+
+ require cd_resources
+
+ package {$reqpackages:
+ ensure => $pkg_ensure,
+ }
+}
+ |
+
cd_apache::server::service.pp +Module name: cd_apache +Author: Arne Teuke +(arne_teuke@confdroid.com) +License: + This file is part of cd_apache.
+ +cd_apache is used for providing automatic configuration of + Apache +Webserver. + Copyright (C) 2014 confdroid (copyright@confdroid.com) + This +program is free software: you can redistribute it and/or modify + it under +the terms of the GNU General Public License as published by + the Free +Software Foundation, either version 3 of the License, or + (at your option) +any later version.
+ +This program is distributed in the hope that it will be useful, + but +WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License +for more details.
+ +You should have received a copy of the GNU General Public License + along +with this program. If not, see www.gnu.org/licenses/.
+ +
+ + + +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36+ |
+
+ # File 'manifests/server/service.pp', line 24
+
+class cd_apache::server::service (
+
+) inherits cd_apache::params {
+
+ require cd_apache::server::files
+
+ service { $ae_service:
+ ensure => running,
+ hasstatus => true,
+ hasrestart => true,
+ enable => true,
+ }
+}
+ |
+
cd_apache::server:;user.pp +Module name: cd_apache +Author: Arne Teuke +(arne_teuke@confdroid.com) +License: + This file is part of cd_apache.
+ +cd_apache is used for providing automatic configuration of + Apache +Webserver. + Copyright (C) 2014 confdroid (copyright@confdroid.com) + This +program is free software: you can redistribute it and/or modify + it under +the terms of the GNU General Public License as published by + the Free +Software Foundation, either version 3 of the License, or + (at your option) +any later version.
+ +This program is distributed in the hope that it will be useful, + but +WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY +or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License +for more details.
+ +You should have received a copy of the GNU General Public License + along +with this program. If not, see www.gnu.org/licenses/.
+ +
+ + + +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58+ |
+
+ # File 'manifests/server/user.pp', line 24
+
+class cd_apache::server::user (
+
+) inherits cd_apache::params {
+
+ require cd_apache::server::install
+
+ if $ae_manage_user == true {
+
+ group { $ae_user_name:
+ ensure => present,
+ name => $ae_user_name,
+ gid => $ae_user_uid,
+ allowdupe => false,
+ }
+
+ user { $ae_user_name:
+ ensure => present,
+ name => $ae_user_name,
+ allowdupe => false,
+ comment => $ae_u_comment,
+ uid => $ae_user_uid,
+ gid => $ae_user_name,
+ groups => $ae_u_groups,
+ managehome => true,
+ home => $ae_user_home,
+ shell => $ae_user_shell,
+ require => Group[$ae_user_name],
+ }
+ }
+
+ else {
+ # do nothing
+ }
+
+}
+ |
+