inspec/docs/resources/apache_conf.md.erb
Franklin Webber 2cc446a686 Doc fixes the apache_conf properties returns an array (#2479)
* Fixes the apache_conf Listen property returns an array

The result is an array and not a string even when there is one value.

Signed-off-by: Franklin Webber <franklin@chef.io>

* Updates the apache_conf timeout, allowoverride, and maxclients to include

It seems that all of these values are placed in an array of values so
the matcher needs to be `include`.

Signed-off-by: Franklin Webber <franklin@chef.io>

* Updates docs for apache_conf

* Uses the suggested `cmp` instead of `include`
* Adds the way to properly compare a list of multiple ports

Signed-off-by: Franklin Webber <franklin@chef.io>
2018-01-29 13:03:36 -05:00

67 lines
1.7 KiB
Text

---
title: About the apache_conf Resource
---
# apache_conf
Use the `apache_conf` InSpec audit resource to test the configuration settings for Apache. This file is typically located under `/etc/apache2` on the Debian and Ubuntu platforms and under `/etc/httpd` on the Fedora, CentOS, RedHat Enterprise Linux, and ArchLinux platforms. The configuration settings may vary significantly from platform to platform.
<br>
## Syntax
An `apache_conf` InSpec audit resource block declares configuration settings that should be tested:
describe apache_conf('path') do
its('setting_name') { should eq 'value' }
end
where
* `'setting_name'` is a configuration setting defined in the Apache configuration file
* `('path')` is the non-default path to the Apache configuration file
* `{ should eq 'value' }` is the value that is expected
<br>
## Examples
The following examples show how to use this InSpec audit resource.
### Test for blocking .htaccess files on CentOS
describe apache_conf do
its('AllowOverride') { should cmp 'None' }
end
### Test ports for SSL
describe apache_conf do
its('Listen') { should cmp '443' }
end
### Test multiple ports are listening
describe apache_conf do
its('Listen') { should =~ [ '80', '443' ] }
end
<br>
## Matchers
For a full list of available matchers please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
This InSpec audit resource matches any service that is listed in the Apache configuration file:
its('PidFile') { should_not eq '/var/run/httpd.pid' }
or:
its('Timeout') { should cmp '300' }
For example:
describe apache_conf do
its('MaxClients') { should cmp '100' }
its('Listen') { should cmp '443' }
end