Documentation by YARD 0.9.36
+Alphabetic Index
+ +Puppet Class Listing A-Z
+ + +
+
+
+
|
+
File Listing
+-
+
+
+
- README + + +
diff --git a/doc/_index.html b/doc/_index.html new file mode 100644 index 0000000..aaa4418 --- /dev/null +++ b/doc/_index.html @@ -0,0 +1,158 @@ + + +
+ + +
+
+
+
|
+
| t |
+ + + +24 +25 +26+ |
+
+ # File 'manifests/init.pp', line 24
+
+class cd_apache {
+ include cd_apache::params
+}
+ |
+
cd_apache::firewall::iptables.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 log analyzer. Copyright © 2017 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+ |
+
+ # File 'manifests/firewall/iptables.pp', line 24
+
+class cd_apache::firewall::iptables (
+
+) inherits cd_apache::params {
+
+ if $ae_manage_fw == true {
+
+ firewall { "${ae_order_no}${ae_http_port} tcp http port ${ae_http_port}":
+ proto => ['tcp','udp'],
+ dport => $ae_http_port,
+ action => 'accept',
+ }
+
+ firewall { "${ae_order_no}${ae_https_port} tcp http port ${ae_https_port}":
+ proto => ['tcp','udp'],
+ dport => $ae_https_port,
+ action => 'accept',
+ }
+ }
+}
+ |
+
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 © 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
+ include cd_apache::monitoring::target
+}
+ |
+
cd_apache::monitoring::target.pp Module name: cd_apache Author: Arne Teuke (arne_teuke@puppetsoft.com) License: This file is part of cd_apache.
+ +cd_apache is used for providing automatic configuration of <service / purpose> Copyright © 2014 PuppetSoft (copyright@puppetsoft.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+ |
+
+ # File 'manifests/monitoring/target.pp', line 24
+
+class cd_apache::monitoring::target (
+
+) inherits cd_apache::params {
+
+ case $ae_incl_target {
+
+ false: { notify {'Nagios Service target for check_httpd has been disabled via parameters / ENC override': }
+ }
+ default: {
+ @@nagios_service { "check_http_${::hostname}":
+ check_command => 'check_http',
+ use => 'generic-service',
+ host_name => $::fqdn,
+ notification_period => '24x7',
+ service_description => "${::hostname}_check_http",
+ target => $ae_target_service,
+ owner => 'nagios',
+ group => 'nagios',
+ mode => '0640',
+ contacts => 'ops',
+ }
+ }
+ }
+}
+ |
+
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 © 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/.
+ +
+ + + +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+ |
+
+ # File 'manifests/params.pp', line 66
+
+class cd_apache::params (
+
+# installation
+$pkg_ensure = 'latest',
+$reqpackages = ['httpd','mod_ssl'],
+
+
+$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,
+
+# nagios
+$ae_incl_target = true,
+$ae_target_service = '/etc/nagios/conf.d/httpd_service.cfg',
+
+# firewall
+$ae_manage_fw = false,
+$ae_order_no = '50',
+$ae_http_port = '80',
+$ae_https_port = '443',
+
+) {
+
+
+# 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'
+$ae_index_file = '/var/www/html/index.html'
+$ae_index_erb = 'cd_apache/index_html.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 © 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 © 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 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132+ |
+
+ # 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'],
+ }
+ }
+ }
+
+ # manage index.html
+
+ file { $ae_index_file:
+ ensure => file,
+ path => $ae_index_file,
+ owner => $ae_user_name,
+ group => $ae_user_name,
+ mode => '0644',
+ selrange => s0,
+ selrole => object_r,
+ seltype => httpd_sys_content_t,
+ seluser => system_u,
+ content => template($ae_index_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 © 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 © 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+ |
+
+ # File 'manifests/server/service.pp', line 24
+
+class cd_apache::server::service (
+
+) inherits cd_apache::params {
+
+ require cd_apache::server::files
+ require cd_apache::firewall::iptables
+
+ 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 © 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
+ }
+
+}
+ |
+