added some directory control, testing

This commit is contained in:
Arne Teuke
2017-06-19 15:33:27 +01:00
parent 83b33bf7f5
commit 9f79e6b25b
4 changed files with 164 additions and 1 deletions

View File

@@ -15,6 +15,8 @@
* [native Puppet deployment](#native-puppet-deployment)
* [through Foreman](#through-foreman)
* [Parameters](#parameters)
* [Mandatory Parameters](#mandatory-parameters)
* [Optional Parameters](#optional-parameters)
* [SELINUX](#selinux)
* [Known Problems](#known-problems)
* [Support](#support)
@@ -26,7 +28,7 @@
### Features
* install required binaries and dependencies
* manage user
* manage user settings (optional)
### Repo Structure
@@ -56,6 +58,11 @@ See [more details about class deployment on Confdroid.com](https://confdroid.com
### Parameters
The following parameters are editable via params.pp or through ENC (**__recommended__**). Values changed will take immediate effect at next puppet run. Services will be restarted where neccessary.
#### Mandatory Parameters
#### Optional Parameters
* `$ae_manage_user` : Whether or not to manage the user settings. Important when accessing shared resources accross nodes. Defaults to `false`.
### SELINUX
All files and directories are configured with correct selinux context. If selinux is disabled, these contexts are ignored.

View File

@@ -34,6 +34,11 @@ $ae_u_groups = undef,
$ae_user_home = '/opt/rh/httpd24/root/usr/share/httpd',
$ae_user_shell = '/bin/false',
# configuration files
$ae_manage_cfg = false,
$ae_manage_dirs = true,
) {
# installation section
@@ -45,6 +50,25 @@ $reqpackages = $::operatingsystem ? {
# 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_logs_link = '../../var/log/httpd'
$ae_usr_lib_dir = '/usr/lib64/httpd',
$ae_usr_mods_dir = "${ae_usr_lib_dir}/modules"
$ae_mods_dir = "${ae_main_dir}/modules"
$ae_mods_link = '../../usr/lib64/httpd/modules',
# files
# includes must be last
include cd_apache::main::config

View File

@@ -28,4 +28,135 @@ class cd_apache::server::dirs (
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_logs_link,
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 => '0700',
selrange => s0,
selrole => object_r,
seltype => httpd_modules_t,
seluser => system_u,
}
# mods dir
file { $ae_mods_dir:
ensure => directory,
path => $ae_mods_dir,
owner => 'root',
group => 'root',
mode => '0700',
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_mods_link,
owner => 'root',
group => 'root',
mode => '0777',
selrange => s0,
selrole => object_r,
seltype => httpd_modules_t,
seluser => system_u,
}
}
}

View File

@@ -28,4 +28,5 @@ class cd_apache::server::files (
require cd_apache::server::dirs
}