54 lines
6.1 KiB
Markdown
54 lines
6.1 KiB
Markdown
# Vps target server system variables
|
|
|
|
> [!NOTE]
|
|
>
|
|
> **Path**: vps
|
|
|
|
| Variable | Description |
|
|
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
| **<a id="vps.domain_name" name="vps.domain_name">vps.domain_name</a>**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | The domain name of the VPS.<br/>**Example**: example.fr |
|
|
| **<a id="vps.ssh_key" name="vps.ssh_key">vps.ssh_key</a>**<br/>[`UNIX filename`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) | Vps ssh private key.<br/>- The ssh key path must be accessible (the file must be present)<br/>- It is possible not to declare (if the ssh key is your default key).<br/>**Validators**: <br/>• this filename could be a relative path<br/>• this file must exist<br/>• file type allowed: "file"<br/>**Example**: ./sshkeys/myssh_privatekey |
|
|
|
|
# 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.\
|
|
> \
|
|
> Dependencies:.\
|
|
> \
|
|
> - ubuntu 24.04 linux distribution.\
|
|
> **Path**: nginx
|
|
|
|
| Variable | Description |
|
|
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
| **<a id="nginx.domain_name" name="nginx.domain_name">nginx.domain_name</a>**<br/>[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | Domain name.<br/>**Validator**: type domainname<br/>**Default**: the value of the variable "[The domain name of the VPS](#vps.domain_name)"<br/>**Example**: example.fr |
|
|
| **<a id="nginx.email" name="nginx.email">nginx.email</a>**<br/>[`mail`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | Email for the domain name.<br/>This is for certbot.<br/>**Example**: contact@exemple.fr |
|
|
| **<a id="nginx.htpasswd_file" name="nginx.htpasswd_file">nginx.htpasswd_file</a>**<br/>[`UNIX filename`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | Htpassword user credential file name.<br/>**Validator**: file type allowed: "file"<br/>**Default**: /etc/nginx/.htpasswd |
|
|
|
|
## Nginx authenticated user credentials
|
|
|
|
> [!NOTE]
|
|
>
|
|
> This family contains lists of variable blocks.\
|
|
> **Path**: nginx.users
|
|
|
|
| Variable | Description |
|
|
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|
|
|
| **<a id="nginx.users.username" name="nginx.users.username">nginx.users.username</a>**<br/>[`UNIX user`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `multiple` `mandatory` `unique` | Nginx user. |
|
|
| **<a id="nginx.users.password" name="nginx.users.password">nginx.users.password</a>**<br/>[`secret`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | Nginx password. |
|
|
|
|
|