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
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 hashing of the password (default).
d Force CRYPT(3) hashing of the password.
p Do not hash the password (plaintext).
s Force SHA1 hashing 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