apache | apache | ||||
====== | ====== | ||||
DEPENDENCIES: | |||||
These salt-states are required: | |||||
1) apt | |||||
Formulas to set up and configure the Apache HTTP server | |||||
POSSIBLE DEPENDENCIES | |||||
These salt-states may be required depending on what your doing: | |||||
.. note:: | |||||
1) php | |||||
See the full `Salt Formulas installation and usage instructions | |||||
<http://docs.saltstack.com/topics/conventions/formulas.html>`_. | |||||
ORDERING: | |||||
Available states | |||||
---------------- | |||||
The ordering of the states for apache falls into block ranges which are: | |||||
``apache`` | |||||
Installs the Apache package and starts the service. | |||||
``apache.debian_full`` | |||||
Installs and configures Apache on Debian and Ubuntu systems. | |||||
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 | |||||
These states are ordered using the ``order`` declaration. Different stages | |||||
are divided into the following number ranges: | |||||
PILLARS: | |||||
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 | |||||
1) No pillar data is required | |||||
2) Full pillar structure: | |||||
Dependencies: | |||||
apache: | |||||
php-ini: 'salt://path/to/file/php.ini' | |||||
register-site: | |||||
{{UNQIUE}}: | |||||
name: 'my name' | |||||
path: 'salt://path/to/sites-available/conf/file' | |||||
state: 'enabled' | |||||
* `apt <https://github.com/saltstack-formulas/apt-formula>`_ | |||||
Optional dependencies: | |||||
1) `php <https://github.com/saltstack-formulas/php-formula>`_ | |||||
3) UNIQUE can be any name as an array index, and you can duplicate this section |
{% if grains['os_family']=="Debian" %} | |||||
include: | |||||
- apt | |||||
- apache | |||||
- apache.register_site | |||||
extend: | |||||
apache: | |||||
pkg: | |||||
- order: 175 | |||||
service: | |||||
- order: 455 | |||||
a2dissite 000-default: | |||||
cmd.run: | |||||
- order: 225 | |||||
- onlyif: ls /etc/apache2/sites-enabled/000-default | |||||
- watch_in: | |||||
- cmd: apache-reload | |||||
- require: | |||||
- pkg: apache | |||||
apache-reload: | |||||
cmd.wait: | |||||
- name: service apache2 reload | |||||
- order: 420 | |||||
apache-restart: | |||||
cmd.wait: | |||||
- name: service apache2 restart | |||||
- order: 425 | |||||
/etc/apache2/sites-available/default: | |||||
file.absent: | |||||
- order: 230 | |||||
- require: | |||||
- pkg: apache | |||||
/etc/apache2/sites-available/default-ssl: | |||||
file.absent: | |||||
- order: 230 | |||||
- require: | |||||
- pkg: apache | |||||
{% endif %} #END: os = debian |
{% if grains['os_family']=="Debian" %} | |||||
include: | include: | ||||
- apt | - apt | ||||
{% if grains['os']=="Ubuntu" %} | |||||
mod-fcgid: | mod-fcgid: | ||||
pkg.installed: | pkg.installed: | ||||
- name: libapache2-mod-fcgid | - name: libapache2-mod-fcgid |
include: | |||||
- apt | |||||
- apache.register_site | |||||
{% if grains['os']=="Ubuntu" %} | |||||
{% set pkg = salt['grains.filter_by']({ | |||||
'Debian': {'name': 'apache2'}, | |||||
'RedHat': {'name': 'httpd'}, | |||||
}) %} | |||||
apache: | apache: | ||||
pkg.installed: | |||||
- name: apache2 | |||||
- order: 175 | |||||
service.running: | |||||
- name: apache2 | |||||
pkg: | |||||
- installed | |||||
- name: {{ pkg.name }} | |||||
service: | |||||
- running | |||||
- name: {{ pkg.name }} | |||||
- enable: True | - enable: True | ||||
- order: 455 | |||||
a2dissite 000-default: | |||||
cmd.run: | |||||
- order: 225 | |||||
- onlyif: ls /etc/apache2/sites-enabled/000-default | |||||
- watch_in: | |||||
- cmd: apache-reload | |||||
- require: | |||||
- pkg: apache | |||||
apache-reload: | |||||
cmd.wait: | |||||
- name: service apache2 reload | |||||
- order: 420 | |||||
apache-restart: | |||||
cmd.wait: | |||||
- name: service apache2 restart | |||||
- order: 425 | |||||
/etc/apache2/sites-available/default: | |||||
file.absent: | |||||
- order: 230 | |||||
- require: | |||||
- pkg: apache | |||||
/etc/apache2/sites-available/default-ssl: | |||||
file.absent: | |||||
- order: 230 | |||||
- require: | |||||
- pkg: apache | |||||
{% endif %} #END: os = ubuntu |
{% if grains['os_family']=="Debian" %} | |||||
include: | include: | ||||
- apt | - apt | ||||
{% if grains['os']=="Ubuntu" %} | |||||
mod-php5: | mod-php5: | ||||
pkg.installed: | pkg.installed: | ||||
- name: libapache2-mod-php5 | - name: libapache2-mod-php5 |
{% if grains['os_family']=="Debian" %} | |||||
{% if 'apache' in pillar and 'register-site' in pillar['apache'] %} #BEGIN: ['apache']['register-site'] | {% if 'apache' in pillar and 'register-site' in pillar['apache'] %} #BEGIN: ['apache']['register-site'] | ||||
{% for site in pillar['apache']['register-site'] %} | {% for site in pillar['apache']['register-site'] %} | ||||
{% endfor %} | {% endfor %} | ||||
{% endif %} #END: apache-register-site | {% endif %} #END: apache-register-site | ||||
{% endif %} #END: grains['os_family'] == debian |
{% if grains['os_family']=="Debian" %} | |||||
include: | include: | ||||
- apt | - apt | ||||
{% if grains['os']=="Ubuntu" %} | |||||
a2enmod rewrite: | a2enmod rewrite: | ||||
cmd.run: | cmd.run: | ||||
- unless: ls /etc/apache2/mods-enabled/rewrite.load | - unless: ls /etc/apache2/mods-enabled/rewrite.load |
# Example for the apache.debian_full formula: | |||||
apache: | |||||
php-ini: 'salt://path/to/file/php.ini' | |||||
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' |