Support for Apache
Note
The functions in here are generic functions designed to work with all implementations of Apache. Debian-specific functions have been moved into deb_apache.py, but will still load under the apache namespace when a Debian-based system is detected.
Create VirtualHost configuration files
Note
This function is not meant to be used from the command line. Config is meant to be an ordered dict of all of the apache configs.
CLI Example:
salt '*' apache.config /etc/httpd/conf.d/ports.conf config="[{'Listen': '22'}]"
Return list of directives together with expected arguments and places where the directive is valid (apachectl -L)
CLI Example:
salt '*' apache.directives
Return server version (apachectl -V)
CLI Example:
salt '*' apache.fullversion
Return list of static and shared modules (apachectl -M)
CLI Example:
salt '*' apache.modules
Get Information from the Apache server-status handler
Note
The server-status handler is disabled by default. In order for this function to work it needs to be enabled. See http://httpd.apache.org/docs/2.2/mod/mod_status.html
The following configuration needs to exists in pillar/grains. Each entry nested in apache.server-status is a profile of a vhost/server. This would give support for multiple apache servers/vhosts.
apache.server-status:
default:
url: http://localhost/server-status
user: someuser
pass: password
realm: 'authentication realm for digest passwords'
timeout: 5
CLI Examples:
salt '*' apache.server_status
salt '*' apache.server_status other-profile
Return list of modules compiled into the server (apachectl -l)
CLI Example:
salt '*' apache.servermods
Signals httpd to start, restart, or stop.
CLI Example:
salt '*' apache.signal restart
Add HTTP user using the htpasswd command. If the htpasswd file does not exist, it will be created. Valid options that can be passed are:
n Don't update file; display results on stdout.
m Force MD5 encryption of the password (default).
d Force CRYPT encryption of the password.
p Do not encrypt the password (plaintext).
s Force SHA encryption of the password.
CLI Examples:
salt '*' apache.useradd /etc/httpd/htpasswd larry badpassword
salt '*' apache.useradd /etc/httpd/htpasswd larry badpass opts=ns
Delete HTTP user from the specified htpasswd file.
CLI Example:
salt '*' apache.userdel /etc/httpd/htpasswd larry
Return server version (apachectl -v)
CLI Example:
salt '*' apache.version
Show the settings as parsed from the config file (currently only shows the virtualhost settings) (apachectl -S). Because each additional virtual host adds to the execution time, this command may require a long timeout be specified by using -t 10.
CLI Example:
salt -t 10 '*' apache.vhosts
Docs for previous releases are available on readthedocs.org.
Latest Salt release: 2014.7.2
22.16.3. salt.modules.alternatives