# 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 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