Files
confdroid_apache/README.md

112 lines
4.1 KiB
Markdown
Raw Normal View History

2021-08-05 16:23:50 +02:00
# README
2017-06-19 13:34:42 +01:00
2026-02-03 00:41:35 +01:00
[![Build Status](https://jenkins.confdroid.com/buildStatus/icon?job=confdroid_apache)](https://jenkins.confdroid.com/job/confdroid_apache/)
- [README](#readme)
- [Synopsis](#synopsis)
- [WARNING](#warning)
- [Features](#features)
- [vHosts](#vhosts)
- [Dependencies](#dependencies)
- [Deployment](#deployment)
- [Parameters](#parameters)
- [SELINUX](#selinux)
- [Support](#support)
- [Tests](#tests)
- [Contact Us](#contact-us)
- [Disclaimer](#disclaimer)
2021-08-05 16:02:58 +02:00
## Synopsis
2021-08-05 16:11:02 +02:00
2017-06-20 11:25:53 +01:00
`Apache httpd` is a very powerful and widely used web server.
2026-02-03 00:41:35 +01:00
`confdroid_apache` automates the installation and configuration of httpd. This module is a base module simply providing the httpd service itself to be used by other role- or profile modules, adding more detailed configurations specific to the particular use case, like for instance Wordpress.
2017-06-19 13:34:42 +01:00
2021-08-05 16:02:58 +02:00
## WARNING
2017-06-19 13:34:42 +01:00
2026-02-03 16:06:43 +01:00
---Attention: Never use this puppet module on systems which have been previously configured manually. It is impossible to predict how and what would have been configured, hence previous configurations outside the scope of this module may be overwritten! Automated configurations require a test environment to verify that the module suits the purpose intended by the user, as well as tune the parameters, before deploying into live production---
2021-08-05 16:02:58 +02:00
## Features
2021-08-05 16:11:02 +02:00
2017-07-07 17:38:00 +01:00
Installation
2021-08-05 16:13:56 +02:00
2026-02-03 16:06:43 +01:00
- install required binaries and dependencies
2017-07-07 17:40:31 +01:00
2017-07-07 17:38:00 +01:00
Configuration
2021-08-05 16:13:56 +02:00
2026-02-03 16:06:43 +01:00
- manage directory structure (optional)
- manage configuration files (optional):
- file system permissions
- selinux context
- manage firewall settings (optional)
- manage nagios monitoring (optional)
2021-08-05 16:13:56 +02:00
2017-07-07 17:38:00 +01:00
Maintenance
2021-08-05 16:13:56 +02:00
2026-02-03 16:06:43 +01:00
- manage the service
2017-06-19 13:34:42 +01:00
2021-08-05 16:02:58 +02:00
### vHosts
2021-08-05 16:11:02 +02:00
2021-08-05 16:33:51 +02:00
As stated in the synopsis, this module was written particularly for usage as base module. `Apache httpd` has a great number of use cases where it actually is not used directly as full-blown web server by itself, but instead as platform for other applications. Examples here would be:
2017-07-09 16:08:26 +01:00
2026-02-03 16:06:43 +01:00
- front-end proxy for other applications to avoid having to put the port number into the URL
- applications like phpMyAdmin, phpPgAdmin
- WordPress
- Nagios etc.
2017-07-09 16:08:26 +01:00
2026-02-03 00:41:35 +01:00
With those use cases, you would provide the vHosts at the Puppet module for the application, not the base module. Also, if you plan to use this module to run a plain fully fledged web server, you would use a role- or profile class/module on top of `confdroid_apache` to set up your vHost exactly as needed. Examples for regular basic vHost configuration files are included in the examples directory as parameterized .erb files. You would create a define for vHosts, i.e. using the example parameters, and simply add `confdroid_apache` as requirement (i.e. require confdroid_apache) so it gets installed automatically.
2017-07-09 16:08:26 +01:00
2017-06-19 13:34:42 +01:00
### Dependencies
2021-08-05 16:11:02 +02:00
2017-06-19 13:34:42 +01:00
All dependencies must be included in the catalogue.
2021-08-05 16:02:58 +02:00
## Deployment
2017-06-19 13:34:42 +01:00
2026-02-03 16:06:43 +01:00
- native Puppet deployment
2017-06-19 13:34:42 +01:00
via site.pp or nodes.pp
2021-08-05 16:02:58 +02:00
```bash
2017-06-19 13:34:42 +01:00
node 'example.example.net' {
2026-02-03 00:41:35 +01:00
include confdroid_apache
2017-06-19 13:34:42 +01:00
}
```
2021-08-05 16:13:56 +02:00
2026-02-03 16:06:43 +01:00
- through Foreman:
2021-08-05 16:02:58 +02:00
2026-02-03 16:06:43 +01:00
In order to apply parameters through Foreman, --__confdroid_apache::params__-- must be added to the host or host group in question.
2017-06-19 13:34:42 +01:00
See [more details about class deployment on Confdroid.com](https://confdroid.com/2017/05/deploying-our-puppet-modules/).
2021-08-05 16:02:58 +02:00
## Parameters
2017-06-19 13:34:42 +01:00
2021-08-05 16:02:58 +02:00
The parameters are documented via puppet strings and [listed here](/docs/index.html). Simply open in web browser.
2017-06-19 15:33:27 +01:00
2021-08-05 16:02:58 +02:00
## SELINUX
2017-06-19 15:33:27 +01:00
2017-06-19 13:34:42 +01:00
All files and directories are configured with correct selinux context. If selinux is disabled, these contexts are ignored.
2021-08-05 16:02:58 +02:00
## Support
2017-06-19 13:34:42 +01:00
2026-02-03 16:06:43 +01:00
- OS: Rocky 9
- Puppet 8
2017-06-19 13:34:42 +01:00
2021-08-05 16:02:58 +02:00
## Tests
2021-08-05 16:11:02 +02:00
2026-02-03 16:06:43 +01:00
- Puppet Lint
- Puppet Parser
- ERB Template Parser
- Test for unwanted UTF8 files in the Puppet code (see tests/UTF_Files)
- Sonar Quality Gate
2021-08-05 16:02:58 +02:00
## Contact Us
2017-06-19 13:34:42 +01:00
[contact Us](https://confdroid.com/contact/)
2026-02-03 01:15:33 +01:00
[Feedback Portal](https://feedback.confdroid.com/)
2017-06-19 13:34:42 +01:00
2021-08-05 16:02:58 +02:00
## Disclaimer
2017-06-19 13:34:42 +01:00
ConfDroid as entity is entirely independent from Puppet. We provide custom configuration modules, written for specific purposes and specific environments.
The modules are tested and supported only as documented, and require testing in designated environments (i.e. lab or development environments) for parameter tuning etc. before deploying into production environments.