nginx/structure.yml
2026-02-10 10:59:30 +01:00

60 lines
1.9 KiB
YAML

%YAML 1.2
---
version: 1.1
vps_domain_name:
description: The domain name of the VPS
examples:
- example.fr
nginx:
description: pedagogic html static file server
help: |-
This is a complete Ansible playbook to configure Nginx with basic authentication using htpasswd.
This playbook installs Nginx, configures a static website, and secures access with basic authentication.
steps:
- Installation of Nginx: The playbook installs Nginx and ensures it is started and enabled.
- Creation of the website directory: A directory is created to host the website files.
- Creation of a simple homepage: A simple HTML page is created for the website.
- Installation of apache2-utils: This package is necessary to use the htpasswd command.
- Creation of the htpasswd file: A .htpasswd file is created with a username and password.
- Configuration of the Nginx site: The nginx_site.conf.j2 template is used to configure Nginx with basic authentication.
- Activation of the Nginx site: The site is enabled by creating a symbolic link in the sites-enabled directory.
- Testing the Nginx configuration: The Nginx configuration is tested before restarting the service.
- Restarting Nginx: Nginx is restarted to apply the changes.
domain_name:
description: domain name
examples:
- example.fr
type: domainname
email:
description: email for the domain name
help: This is for certbot
examples:
- contact@exemple.fr
type: mail
htpasswd_file:
description: htpassword user credential file name
type: unix_filename
default: /etc/nginx/.htpasswd
params:
types:
- file
users:
description: nginx authenticated user credentials
type: leadership
username:
description: nginx user
type: unix_user
password:
description: nginx password
type: secret
...