# Pedagogic html static file server > [!NOTE] > > 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.\ > **Path**: nginx | Variable | Description | |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------| | **nginx.domain_name**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | Domain name.
**Validator**: type domainname
**Example**: exemple.fr | | **nginx.email**
[`mail`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | Email for the domain name.
This is for certbot.
**Example**: contact@exemple.fr | | **nginx.htpasswd_file**
[`UNIX filename`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | Htpassword file.
**Validator**: file type allowed: "directory" and "file"
**Default**: /etc/nginx/.htpasswd | ## Nginx authenticated user credentials > [!NOTE] > > This family contains lists of variable blocks.\ > **Path**: nginx.users | Variable | Description | |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------| | **nginx.users.username**
[`UNIX user`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `multiple` `mandatory` `unique` | Nginx user. | | **nginx.users.password**
[`secret`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | Nginx password. |