Formulas to set up and configure the Apache HTTP server.
Note
See the full Salt Formulas installation and usage instructions.
Installs the Apache package and starts the service.
Installs the mod_wsgi package and enables the Apache module.
Configures Apache name-based virtual hosts using data from Pillar.
Example Pillar:
apache:
sites:
# Default values below are used unless disabled by setting to 'None'.
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
template_engine: jinja
interface: '*'
port: '80'
ServerName: {{ id }} # uses the unique ID above unless specified
ServerAlias: www.{{ id }}
ServerAdmin: webmaster@{{ id }}
LogLevel: warn
ErrorLog: {{ logdir }}/{{ id }}-error.log # E.g.: /var/log/apache2/example.com-error.log
CustomLog: {{ logdir }}/{{ id }}-access.log # E.g.: /var/log/apache2/example.com-access.log
DocumentRoot: {{ wwwdir }}/{{ id }} # E.g., /var/www/example.com
Directory:
{{ wwwdir }}/{{ id }}: # E.g.: /var/www/example.com:
Options: -Indexes FollowSymLinks
Order: allow,deny
Allow: from all
AllowOverride: All
Formula_Append: |
Additional config as a
multi-line string here
Formula_Append: |
Additional config as a
multi-line string here
example.net:
template_file: salt://apache/vhosts/minimal.tmpl
Installs and configures Apache on Debian and Ubuntu systems.
These states are ordered using the order
declaration. Different stages
are divided into the following number ranges:
- apache will use 1-500 for ordering
- apache will reserve 1 -100 as unused
- apache will reserve 101-150 for pre pkg install
- apache will reserve 151-200 for pkg install
- apache will reserve 201-250 for pkg configure
- apache will reserve 251-300 for downloads, git stuff, load data
- apache will reserve 301-400 for unknown purposes
- apache will reserve 401-450 for service restart-reloads
- apache WILL reserve 451-460 for service.running
- apache will reserve 461-500 for cmd requiring operational services
Dependencies:
Optional dependencies:
Example Pillar:
apache:
register-site:
# any name as an array index, and you can duplicate this section
{{UNQIUE}}:
name: 'my name'
path: 'salt://path/to/sites-available/conf/file'
state: 'enabled'