idealista / apache_httpd_role Goto Github PK
View Code? Open in Web Editor NEWAnsible role to install an Apache HTTP server
License: Apache License 2.0
Ansible role to install an Apache HTTP server
License: Apache License 2.0
[Description of the issue]
[A clear and concise description of why do you think this is needed]
[Any additional information, configuration or data.]
[Description of the issue]
It would be nice to have a Docker Image ready to use with volumes.
Remove support for installing logrotate.
This is because logrotate should not be installed using this role, but the logrorate role instead.
In case users need Apache to rewrite URLs, it is needed that the role can include a rewrites file.
Upgrade tests to latest Molecule version (2.12, at the moment).
Deploying this role with Brotli in a Debian 9 machine, it fails to start the Apache server due to some missing library that is actually installed:
libbrotlienc.so.1: cannot open shared object file: No such file or directory
Googling the error, I stumbled upon with this issue and a solution: google/ngx_brotli#23 (comment)
So from now on, after doing Brotli's make install
, ldconfig
will be performed.
Add symlink in sites-enabled
task in config.yml
is a bit error prone because it expects the prior task to copy configuration files. If no configuration files are copied, Add symlink in sites-enabled
will fail
[Description of the issue]
Expected behavior:
Installation complete
Actual behavior:
Installation failed with this error:
The task includes an option with an undefined variable. The error was: 'apache_modjk_pagespeed_files' is undefined
Reproduces how often:
100%
Do a little research on reloading instead of restarting Apache after some changes (virtualhosts, for instance)
We should add the ability to confgure any file under /etc/apache/conf using provided files or templates. Currently this role only supports the override of the main httpd config file.
Expected behavior: I would expect to provide a file or template called httpd-mpm.conf(.j2) to be used
Actual behavior: Only copies httpd.conf provided as template
To enable, for instance deflate
module, there has to be the possibility of passing extra parameters to the ./configure
step in Apache build and install possible prerrequisites of these modules.
All extracted, copied or templated files are set wit 640 permissions. As stated in https://www.owasp.org/index.php/SCG_WS_Apache#Apache_File_Ownership_and_Permissions, 755 permissions should be set.
All of them.
Add optional Brotli installation with Apache.
References:
https://httpd.apache.org/docs/current/mod/mod_brotli.html
https://www.tunetheweb.com/performance/brotli/
In order to avoid failures related with "too many open files" from a running process, we have to add support to setup systemd service in case expand this threshold would be a requirement.
Because there may be some situations where expand the ulimit is required.
There are some roles that have already had it, for example:
The role can't handle --with options. There is no way for adding it in configure execution before build.
Reproduces how often:
Always
Assert that all included modules in /etc/apache2/mods-enabled are enabled using apachectl -M
Expected behavior:
The modules listed by the built-in apachectl -M command are equals to the modules present in /etc/apache2/mods-enabled directory
Actual behavior:
We aren't actually asserting which modules are loaded :)
1.0.0
Add the option to install the PageSpeed module.
It is needed to optimize httpd's performance
N/A
Using a apache_reinstall
variable, there should exist the possibility of skipping the idempotence condition and reinstall apache
Build is failling in Travis CI
https://app.travis-ci.com/github/idealista/apache_httpd_role/builds/267144982
Expected behavior:
Build passed.
Actual behavior:
Build KO.
Reproduces how often:
100%.
N/A
N/A
And maybe move that variable to defaults/main.yml
to make it easier to override when the URL changes
Follow OWASP's recommendations: https://www.owasp.org/index.php/SCG_WS_Apache
Add ability to establish Apache service status and whether it is enabled or not via two variables: apache_service_state
and apache_service_enabled
Because of having the httpd.conf
template under the role's template folder, playbooks aren't able to use any other template but that one.
httpd.conf
template under the playbook's template folder.httpd.conf
in the host.Expected behavior:
The rendered httpd.conf
is the one in the playbook's template folder.
Actual behavior:
The rendered httpd.conf
is the one in the role's template folder.
Reproduces how often: [What percentage of the time does it reproduce?]
v1.2.0
As @jdvr noticed, the httpd.conf template doesn't include extra configurations for sites-enabled
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.