From fe0ceb78b7d4e9f67bc4d5b684b847bdcc604b20 Mon Sep 17 00:00:00 2001 From: Fabian Niepelt <89458395+fniepelt@users.noreply.github.com> Date: Sun, 29 Aug 2021 01:18:10 +0200 Subject: [PATCH] fix(suse): use correct vhostdir and sitesdir for suse family (#369) The Suse family of distributions does not implement the sites-available/sites-enabled distinction and puts all vhosts into /etc/apache2/vhosts.d. Sources: - https://documentation.suse.com/sles/15-SP3/html/SLES-all/cha-apache2.html#sec-apache2-configuration-manually - https://build.opensuse.org/package/view_file/openSUSE:Factory/apache2/apache2-httpd.conf?expand=1 --- apache/osfamilymap.yaml | 4 ++-- test/integration/default/controls/config_spec.rb | 7 ++++++- test/integration/modules/controls/config_spec.rb | 8 +++++++- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/apache/osfamilymap.yaml b/apache/osfamilymap.yaml index e8d0d35..b2eb6ff 100644 --- a/apache/osfamilymap.yaml +++ b/apache/osfamilymap.yaml @@ -109,7 +109,7 @@ Suse: mod_geoip: apache2-mod_geoip mod_geoip_database: GeoIP-data - vhostdir: /etc/apache2/sites-available + vhostdir: /etc/apache2/vhosts.d confdir: /etc/apache2/conf.d modulesdir: /usr/lib64/apache2/modules confext: .conf @@ -119,7 +119,7 @@ Suse: logrotatedir: /etc/logrotate.d/apache2 wwwdir: /srv/www moddir: /etc/apache2/mods-enabled - sitesdir: /etc/apache2/sites-enabled + sitesdir: /etc/apache2/vhosts.d Gentoo: pkg: diff --git a/test/integration/default/controls/config_spec.rb b/test/integration/default/controls/config_spec.rb index e9f0f18..678bf50 100644 --- a/test/integration/default/controls/config_spec.rb +++ b/test/integration/default/controls/config_spec.rb @@ -5,11 +5,16 @@ control 'apache configuration' do title 'should match desired lines' case platform[:family] - when 'debian', 'suse' + when 'debian' vhostdir = '/etc/apache2/sites-available' logrotatedir = '/etc/logrotate.d/apache2' moddir = '/etc/apache2/mods-enabled' sitesdir = '/etc/apache2/sites-enabled' + when 'suse' + vhostdir = '/etc/apache2/vhosts.d' + logrotatedir = '/etc/logrotate.d/apache2' + moddir = '/etc/apache2/mods-enabled' + sitesdir = '/etc/apache2/vhosts.d' when 'redhat', 'fedora' vhostdir = '/etc/httpd/vhosts.d' logrotatedir = '/etc/logrotate.d/httpd' diff --git a/test/integration/modules/controls/config_spec.rb b/test/integration/modules/controls/config_spec.rb index 43d7eb0..71e3dc9 100644 --- a/test/integration/modules/controls/config_spec.rb +++ b/test/integration/modules/controls/config_spec.rb @@ -5,12 +5,18 @@ control 'apache configuration' do apachectl = 'apachectl -t' case platform[:family] - when 'debian', 'suse' + when 'debian' vhostdir = '/etc/apache2/sites-available' logrotatedir = '/etc/logrotate.d/apache2' logdir = '/var/log/apache2' moddir = '/etc/apache2/mods-enabled' sitesdir = '/etc/apache2/sites-enabled' + when 'suse' + vhostdir = '/etc/apache2/vhosts.d' + logrotatedir = '/etc/logrotate.d/apache2' + logdir = '/var/log/apache2' + moddir = '/etc/apache2/mods-enabled' + sitesdir = '/etc/apache2/vhosts.d' when 'redhat', 'fedora' vhostdir = '/etc/httpd/vhosts.d' logrotatedir = '/etc/logrotate.d/httpd'