Skip to content

Perceptyx/apache-formula

 
 

Repository files navigation

apache

Travis CI Build Status Semantic Release

Formulas to set up and configure the Apache HTTP server.

See the full SaltStack Formulas installation and usage instructions.

If you are interested in writing or contributing to formulas, please pay attention to the Writing Formula Section.

If you want to use this formula, please pay attention to the FORMULA file and/or git tag, which contains the currently released version. This formula is versioned according to Semantic Versioning.

See Formula Versioning Section for more details.

Commit message formatting is significant!!

Please see How to contribute for more details.

Installs the Apache package and starts the service.

Configures apache based on os_family

Deploy SSL certificates from pillars

Configures the apache mpm modules on Debian mpm_prefork, mpm_worker or mpm_event (Debian Only)

Enables and disables Apache modules.

Enabled the Apache module mod_rewrite (Debian and FreeBSD only)

Enables the Apache module mod_proxy. (Debian and FreeBSD only)

Enables the Apache module mod_proxy_http and requires the Apache module mod_proxy to be enabled. (Debian Only)

Enables the Apache module mod_proxy_fcgi and requires the Apache module mod_proxy to be enabled. (Debian Only)

Installs the mod_wsgi package and enables the Apache module.

Enables the Apache module mod_actions. (Debian Only)

Enables the Apache module mod_headers. (Debian Only)

Installs and Enables the mod_pagespeed module. (Debian and RedHat Only)

Installs and enables the mod_perl2 module (Debian and FreeBSD only)

Installs and enables the mod_geoIP (RedHat only)

Installs and enables the mod_php5 module

Enables mod_cgi. (FreeBSD only)

Installs and enables the mod_fcgid module (Debian only)

Installs and enables the mod_fastcgi module

Installs and enables the mod_dav_svn module (Debian only)

Installs an enables the `Apache mod_security2 WAF`<http://modsecurity.org/>`_ using data from Pillar. (Debian and RedHat Only)

Allows you to install the basic Core Rules (CRS) and some basic configuration for mod_security2

This state can create symlinks based on basic Core Rules package. (Debian only) Or it can distribute a mod_security rule file and place it /etc/modsecurity/

Enables mod_socache_shmcb. (FreeBSD only)

Installs and enables the mod_ssl module (Debian, RedHat and FreeBSD only)

Enables mod_suexec. (FreeBSD only)

Enables the Apache module vhost_alias (Debian Only)

Enables and configures the Apache module mod_remoteip using data from Pillar. (Debian Only)

Installs and enables mod_xsendfile module. (Debian Only)

Replace default vhost with own version. By default, it's 503 code. (Debian Only)

Remove the default vhost. (Debian Only)

Configures Apache name-based virtual hosts and creates virtual host directories using data from Pillar.

Example Pillar:

apache:
  sites:
    example.com: # must be unique; used as an ID declaration in Salt; also passed to the template context as {{ id }}
      template_file: salt://apache/vhosts/standard.tmpl

When using the provided templates, one can use a space separated list of interfaces to bind to. For example, to bind both IPv4 and IPv6:

apache:
  sites:
    example.com:
      interface: '1.2.3.4 [2001:abc:def:100::3]'

Configures Apache's security.conf options by reassinging them using data from Pillar.

Configures Apache's server_status handler for localhost

Installs and configures Apache on Debian and Ubuntu systems.

Stops the Apache service and uninstalls the package.

These states are ordered using the order declaration. Different stages are divided into the following number ranges:

  1. apache will use 1-500 for ordering
  2. apache will reserve 1 -100 as unused
  3. apache will reserve 101-150 for pre pkg install
  4. apache will reserve 151-200 for pkg install
  5. apache will reserve 201-250 for pkg configure
  6. apache will reserve 251-300 for downloads, git stuff, load data
  7. apache will reserve 301-400 for unknown purposes
  8. apache will reserve 401-450 for service restart-reloads
  9. apache WILL reserve 451-460 for service.running
  10. apache will reserve 461-500 for cmd requiring operational services

Example Pillar:

apache:
  register-site:
    # any name as an array index, and you can duplicate this section
    {{UNIQUE}}:
      name: 'my name'
      path: 'salt://path/to/sites-available/conf/file'
      state: 'enabled'

Linux testing is done with kitchen-salt.

  • Ruby
  • Docker
$ gem install bundler
$ bundle install
$ bin/kitchen test [platform]

Where [platform] is the platform name defined in kitchen.yml, e.g. debian-9-2019-2-py3.

Creates the docker instance and runs the template main state, ready for testing.

Runs the inspec tests on the actual instance.

Removes the docker instance.

Runs all of the stages above in one go: i.e. destroy + converge + verify + destroy.

Gives you SSH access to the instance for manual testing.

Releases

No releases published

Packages

No packages published

Languages

  • HTML 66.6%
  • SaltStack 28.5%
  • JavaScript 2.9%
  • Ruby 1.4%
  • Shell 0.6%