salt.modules.apache

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.

salt.modules.apache.config(name, config, edit=True)

Create VirtualHost configuration files

name
File for the virtual host
config
VirtualHost configurations

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'}]"
salt.modules.apache.directives()

Return list of directives together with expected arguments and places where the directive is valid (apachectl -L)

CLI Example:

salt '*' apache.directives
salt.modules.apache.fullversion()

Return server version (apachectl -V)

CLI Example:

salt '*' apache.fullversion
salt.modules.apache.modules()

Return list of static and shared modules (apachectl -M)

CLI Example:

salt '*' apache.modules
salt.modules.apache.server_status(profile='default')

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
salt.modules.apache.servermods()

Return list of modules compiled into the server (apachectl -l)

CLI Example:

salt '*' apache.servermods
salt.modules.apache.signal(signal=None)

Signals httpd to start, restart, or stop.

CLI Example:

salt '*' apache.signal restart
salt.modules.apache.useradd(pwfile, user, password, opts='')

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
salt.modules.apache.userdel(pwfile, user)

Delete HTTP user from the specified htpasswd file.

CLI Example:

salt '*' apache.userdel /etc/httpd/htpasswd larry
salt.modules.apache.version()

Return server version (apachectl -v)

CLI Example:

salt '*' apache.version
salt.modules.apache.vhosts()

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