2020-07-18 18:23:58 +02:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2020-09-13 06:07:20 +02:00
|
|
|
# Overide by OS
|
2020-07-18 18:23:58 +02:00
|
|
|
control 'apache configuration' do
|
|
|
|
title 'should match desired lines'
|
|
|
|
|
2020-09-13 06:07:20 +02:00
|
|
|
case platform[:family]
|
|
|
|
when 'debian', 'suse'
|
|
|
|
vhostdir = '/etc/apache2/sites-available'
|
|
|
|
logrotatedir = '/etc/logrotate.d/apache2'
|
|
|
|
moddir = '/etc/apache2/mods-enabled'
|
|
|
|
sitesdir = '/etc/apache2/sites-enabled'
|
|
|
|
when 'redhat', 'fedora'
|
|
|
|
vhostdir = '/etc/httpd/vhosts.d'
|
|
|
|
logrotatedir = '/etc/logrotate.d/httpd'
|
|
|
|
moddir = '/etc/httpd/conf.modules.d'
|
|
|
|
sitesdir = '/etc/httpd/sites-enabled'
|
|
|
|
when 'gentoo'
|
|
|
|
vhostdir = '/etc/apache2/vhosts.d'
|
|
|
|
logrotatedir = '/etc/logrotate.d/apache2'
|
|
|
|
moddir = '/etc/apache2/mods-enabled'
|
|
|
|
sitesdir = '/etc/apache2/sites-enabled'
|
2020-07-18 18:26:39 +02:00
|
|
|
# `linux` here is sufficient for `arch`
|
2020-09-13 06:07:20 +02:00
|
|
|
when 'linux', 'arch'
|
|
|
|
vhostdir = '/etc/httpd/conf/vhosts'
|
|
|
|
logrotatedir = '/etc/logrotate.d/httpd'
|
|
|
|
moddir = '/etc/httpd/conf.modules.d'
|
|
|
|
sitesdir = '/etc/httpd/sites-enabled'
|
|
|
|
when 'bsd'
|
|
|
|
vhostdir = '/usr/local/etc/apache24/Includes'
|
|
|
|
# logrotatedir = ?
|
|
|
|
# moddir = '?'
|
|
|
|
# sitesdir = '?'
|
|
|
|
end
|
|
|
|
describe file(vhostdir) do
|
|
|
|
it { should exist }
|
|
|
|
it { should be_directory }
|
|
|
|
its('type') { should eq :directory }
|
|
|
|
end
|
|
|
|
describe file(logrotatedir) do
|
|
|
|
it { should exist }
|
|
|
|
its('type') { should eq :file }
|
|
|
|
end
|
|
|
|
describe file(moddir) do
|
|
|
|
it { should exist }
|
|
|
|
it { should be_directory }
|
|
|
|
its('type') { should eq :directory }
|
|
|
|
end
|
|
|
|
describe file(sitesdir) do
|
|
|
|
it { should exist }
|
|
|
|
it { should be_directory }
|
|
|
|
its('type') { should eq :directory }
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
control 'apache configuration (unique)' do
|
|
|
|
title 'should be valid'
|
|
|
|
|
|
|
|
case platform[:family]
|
|
|
|
when 'debian'
|
|
|
|
config_file = '/etc/apache2/apache2.conf'
|
|
|
|
wwwdir = '/srv'
|
|
|
|
when 'suse'
|
|
|
|
config_file = '/etc/apache2/httpd.conf'
|
|
|
|
wwwdir = '/srv/www'
|
|
|
|
when 'redhat', 'fedora'
|
|
|
|
config_file = '/etc/httpd/conf/httpd.conf'
|
|
|
|
wwwdir = '/var/www'
|
|
|
|
when 'gentoo'
|
|
|
|
config_file = '/etc/apache2/httpd.conf'
|
|
|
|
wwwdir = '/var/www'
|
|
|
|
when 'linux', 'arch'
|
|
|
|
config_file = '/etc/httpd/conf/httpd.conf'
|
|
|
|
wwwdir = '/srv/http'
|
|
|
|
when 'bsd'
|
|
|
|
config_file = '/usr/local/etc/apache24/httpd.conf'
|
|
|
|
wwwdir = '/usr/local/www/apache24/'
|
|
|
|
end
|
2020-07-18 18:26:39 +02:00
|
|
|
describe file(config_file) do
|
2020-07-18 18:23:58 +02:00
|
|
|
it { should be_file }
|
|
|
|
it { should be_grouped_into 'root' }
|
|
|
|
its('mode') { should cmp '0644' }
|
|
|
|
its('content') do
|
|
|
|
should include(
|
|
|
|
'This file is managed by Salt! Do not edit by hand!'
|
|
|
|
)
|
|
|
|
end
|
|
|
|
end
|
2020-09-13 06:07:20 +02:00
|
|
|
describe file(wwwdir) do
|
|
|
|
it { should exist }
|
|
|
|
it { should be_directory }
|
|
|
|
its('type') { should eq :directory }
|
2020-07-18 18:26:39 +02:00
|
|
|
end
|
|
|
|
end
|