Browse Source

fix(redhat): use correct vhostdir, sitesdir and logrotate script for redhat family (#376)

* fix(redhat): use correct dirs for redhat family

Red hat family distributions do not implement sites-enabled nor vhosts.d
directories and all virtual hosts are under /etc/httpd/conf.d

Redhat based distros don't have /etc/init.d/httpd to rotate logs.
Default for them uses systemctl reload to rotate logs
tags/v1.2.2
l00d3r 3 years ago
parent
commit
c4b8538128
No account linked to committer's email address
4 changed files with 20 additions and 7 deletions
  1. +13
    -0
      apache/config/logrotate.sls
  2. +3
    -3
      apache/osfamilymap.yaml
  3. +2
    -2
      test/integration/default/controls/config_spec.rb
  4. +2
    -2
      test/integration/modules/controls/config_spec.rb

+ 13
- 0
apache/config/logrotate.sls View File

file.managed: file.managed:
- name: {{ apache.logrotatedir }} - name: {{ apache.logrotatedir }}
- makedirs: True - makedirs: True
{%- if grains.os_family == "RedHat" %}
- contents: |
{{ apache.logdir }}/*log {
missingok
notifempty
sharedscripts
delaycompress
postrotate
/bin/systemctl reload {{ apache.service.name }}.service > /dev/null 2>/dev/null || true
endscript
}
{% else %}
- contents: | - contents: |
{{ apache.logdir }}/*.log { {{ apache.logdir }}/*.log {
daily daily
fi; \ fi; \
endscript endscript
} }
{% endif %}

+ 3
- 3
apache/osfamilymap.yaml View File

mod_geoip: mod_geoip mod_geoip: mod_geoip
mod_geoip_database: GeoIP mod_geoip_database: GeoIP


vhostdir: /etc/httpd/vhosts.d
vhostdir: /etc/httpd/conf.d
confdir: /etc/httpd/conf.d confdir: /etc/httpd/conf.d
modulesdir: /usr/lib64/httpd/modules modulesdir: /usr/lib64/httpd/modules
confext: .conf confext: .conf
default_site: default default_site: default
default_site_ssl: default-ssl
default_site_ssl: ssl
logdir: /var/log/httpd logdir: /var/log/httpd
logrotatedir: /etc/logrotate.d/httpd logrotatedir: /etc/logrotate.d/httpd
wwwdir: /var/www wwwdir: /var/www
default_charset: UTF-8 default_charset: UTF-8
use_require: false use_require: false
moddir: /etc/httpd/conf.modules.d moddir: /etc/httpd/conf.modules.d
sitesdir: /etc/httpd/sites-enabled
sitesdir: /etc/httpd/conf.d


Suse: Suse:
pkg: pkg:

+ 2
- 2
test/integration/default/controls/config_spec.rb View File

moddir = '/etc/apache2/mods-enabled' moddir = '/etc/apache2/mods-enabled'
sitesdir = '/etc/apache2/vhosts.d' sitesdir = '/etc/apache2/vhosts.d'
when 'redhat', 'fedora' when 'redhat', 'fedora'
vhostdir = '/etc/httpd/vhosts.d'
vhostdir = '/etc/httpd/conf.d'
logrotatedir = '/etc/logrotate.d/httpd' logrotatedir = '/etc/logrotate.d/httpd'
moddir = '/etc/httpd/conf.modules.d' moddir = '/etc/httpd/conf.modules.d'
sitesdir = '/etc/httpd/sites-enabled'
sitesdir = '/etc/httpd/conf.d'
when 'gentoo' when 'gentoo'
vhostdir = '/etc/apache2/vhosts.d' vhostdir = '/etc/apache2/vhosts.d'
logrotatedir = '/etc/logrotate.d/apache2' logrotatedir = '/etc/logrotate.d/apache2'

+ 2
- 2
test/integration/modules/controls/config_spec.rb View File

moddir = '/etc/apache2/mods-enabled' moddir = '/etc/apache2/mods-enabled'
sitesdir = '/etc/apache2/vhosts.d' sitesdir = '/etc/apache2/vhosts.d'
when 'redhat', 'fedora' when 'redhat', 'fedora'
vhostdir = '/etc/httpd/vhosts.d'
vhostdir = '/etc/httpd/conf.d'
logrotatedir = '/etc/logrotate.d/httpd' logrotatedir = '/etc/logrotate.d/httpd'
logdir = '/var/log/httpd' logdir = '/var/log/httpd'
moddir = '/etc/httpd/conf.modules.d' moddir = '/etc/httpd/conf.modules.d'
sitesdir = '/etc/httpd/sites-enabled'
sitesdir = '/etc/httpd/conf.d'
apachectl = 'httpd -t' apachectl = 'httpd -t'
when 'gentoo' when 'gentoo'
vhostdir = '/etc/apache2/vhosts.d' vhostdir = '/etc/apache2/vhosts.d'

Loading…
Cancel
Save