Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sous-chefs/apache2
Development repository for the apache2 cookbook
https://github.com/sous-chefs/apache2
apache2 chef chef-cookbook chef-resource hacktoberfest managed-by-terraform
Last synced: about 9 hours ago
JSON representation
Development repository for the apache2 cookbook
- Host: GitHub
- URL: https://github.com/sous-chefs/apache2
- Owner: sous-chefs
- License: apache-2.0
- Created: 2012-03-14T18:10:27.000Z (over 12 years ago)
- Default Branch: main
- Last Pushed: 2024-08-02T15:15:39.000Z (4 months ago)
- Last Synced: 2024-10-29T23:44:14.465Z (18 days ago)
- Topics: apache2, chef, chef-cookbook, chef-resource, hacktoberfest, managed-by-terraform
- Language: Ruby
- Homepage: https://supermarket.chef.io/cookbooks/apache2
- Size: 2.28 MB
- Stars: 284
- Watchers: 71
- Forks: 548
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG-pre4.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# apache2 Cookbook
[![Cookbook Version](https://img.shields.io/cookbook/v/apache2.svg)](https://supermarket.chef.io/cookbooks/apache2)
[![CI State](https://github.com/sous-chefs/apache2/workflows/ci/badge.svg)](https://github.com/sous-chefs/apache2/actions?query=workflow%3Aci)
[![OpenCollective](https://opencollective.com/sous-chefs/backers/badge.svg)](#backers)
[![OpenCollective](https://opencollective.com/sous-chefs/sponsors/badge.svg)](#sponsors)
[![License](https://img.shields.io/badge/License-Apache%202.0-green.svg)](https://opensource.org/licenses/Apache-2.0)This cookbook provides a complete Debian/Ubuntu style Apache HTTPD configuration. Non-Debian based distributions such as Red Hat/CentOS, ArchLinux and others supported by this cookbook will have a configuration that mimics Debian/Ubuntu style as it is easier to manage with Chef.
Debian-style Apache configuration uses scripts to manage modules and sites (vhosts). The scripts are:
- a2ensite
- a2dissite
- a2enmod
- a2dismod
- a2enconf
- a2disconfThis cookbook ships with templates of these scripts for non-Debian based platforms.
## Maintainers
This cookbook is maintained by the Sous Chefs. The Sous Chefs are a community of Chef cookbook maintainers working together to maintain important cookbooks. If you’d like to know more please visit [sous-chefs.org](https://sous-chefs.org/) or come chat with us on the Chef Community Slack in [#sous-chefs](https://chefcommunity.slack.com/messages/C2V7B88SF).
## Cookbooks
Depending on your OS configuration and security policy, you may need additional recipes or cookbooks for this cookbook's recipes to converge on the node. In particular, the following Operating System settings may affect the behavior of this cookbook:
- SELinux enabled
- Firewalls (such as iptables, ufw, etc.)
- Compile tools
- 3rd party repositoriesOn RHEL, SELinux is enabled by default. The [selinux](https://supermarket.chef.io/cookbooks/selinux) cookbook contains a `permissive` recipe that can be used to set SELinux to "Permissive" state. Otherwise, additional recipes need to be created by the user to address SELinux permissions.
To deal with firewalls Chef Software does provide an [iptables](https://supermarket.chef.io/cookbooks/iptables) and [ufw](https://supermarket.chef.io/cookbooks/ufw) cookbook but is migrating from the approach used there to a more robust solution utilizing the general [firewall](https://supermarket.chef.io/cookbooks/firewall) cookbook to setup rules. See those cookbooks' READMEs for documentation.
On ArchLinux, if you are using the `apache2::mod_auth_openid` recipe, you also need the [pacman](https://supermarket.chef.io/cookbooks/pacman) cookbook for the `pacman_aur` LWRP. Put `recipe[pacman]` on the node's expanded run list (on the node or in a role). This is not an explicit dependency because it is only required for this single recipe and platform; the pacman default recipe performs `pacman -Sy` to keep pacman's package cache updated.
## Platforms
The following platforms and versions are tested and supported using [test-kitchen](http://kitchen.ci/)
- Amazon Linux 2023
- CentOS 7+ (incl. Rocky & Alma)
- Debian 10+
- Fedora latest
- OpenSUSE Leap 15
- Ubuntu 18.04+## Usage
It is recommended to create a project or organization specific [wrapper cookbook](https://blog.chef.io/doing-wrapper-cookbooks-right) and add the desired custom resources to the run list of a node. Depending on your environment, you may have multiple roles that use different recipes from this cookbook. Adjust any attributes as desired.
```ruby
apache2_install 'default_install' do
notifies :restart, 'apache2_service[default]'
endapache2_module 'headers' do
notifies :reload, 'apache2_service[default]'
endapache2_module 'ssl' do
notifies :reload, 'apache2_service[default]'
endapache2_default_site 'foo' do
default_site_name 'my_site'
template_cookbook 'my_cookbook'
port '443'
template_source 'my_site.conf.erb'
action :enable
notifies :reload, 'apache2_service[default]'
endapache2_service 'default' do
action [:enable, :start]
end
```Example wrapper cookbooks:
[basic site](test/cookbooks/test/recipes/basic_site.rb)
[ssl site](test/cookbooks/test/recipes/mod_ssl.rb)## Resources
- [install](documentation/resource_apache2_install.md)
- [service](documentation/resource_apache2_service.md)
- [default_site](documentation/resource_apache2_default_site.md)
- [site](documentation/resource_apache2_site.md)
- [conf](documentation/resource_apache2_conf.md)
- [config](documentation/resource_apache2_config.md)
- [mod](documentation/resource_apache2_mod.md)
- [module](documentation/resource_apache2_module.md)
- [mod_php](documentation/resource_apache2_mod_php.md)
- [mod_wsgi](documentation/resource_apache2_mod_wsgi.md)
- [mod_auth_cas](documentation/resource_apache2_mod_auth_cas.md)## Contributors
This project exists thanks to all the people who [contribute.](https://opencollective.com/sous-chefs/contributors.svg?width=890&button=false)
### Backers
Thank you to all our backers!
![https://opencollective.com/sous-chefs#backers](https://opencollective.com/sous-chefs/backers.svg?width=600&avatarHeight=40)
### Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website.
![https://opencollective.com/sous-chefs/sponsor/0/website](https://opencollective.com/sous-chefs/sponsor/0/avatar.svg?avatarHeight=100)
![https://opencollective.com/sous-chefs/sponsor/1/website](https://opencollective.com/sous-chefs/sponsor/1/avatar.svg?avatarHeight=100)
![https://opencollective.com/sous-chefs/sponsor/2/website](https://opencollective.com/sous-chefs/sponsor/2/avatar.svg?avatarHeight=100)
![https://opencollective.com/sous-chefs/sponsor/3/website](https://opencollective.com/sous-chefs/sponsor/3/avatar.svg?avatarHeight=100)
![https://opencollective.com/sous-chefs/sponsor/4/website](https://opencollective.com/sous-chefs/sponsor/4/avatar.svg?avatarHeight=100)
![https://opencollective.com/sous-chefs/sponsor/5/website](https://opencollective.com/sous-chefs/sponsor/5/avatar.svg?avatarHeight=100)
![https://opencollective.com/sous-chefs/sponsor/6/website](https://opencollective.com/sous-chefs/sponsor/6/avatar.svg?avatarHeight=100)
![https://opencollective.com/sous-chefs/sponsor/7/website](https://opencollective.com/sous-chefs/sponsor/7/avatar.svg?avatarHeight=100)
![https://opencollective.com/sous-chefs/sponsor/8/website](https://opencollective.com/sous-chefs/sponsor/8/avatar.svg?avatarHeight=100)
![https://opencollective.com/sous-chefs/sponsor/9/website](https://opencollective.com/sous-chefs/sponsor/9/avatar.svg?avatarHeight=100)