vps test
This commit is contained in:
parent
38e80f4d0b
commit
a879e225bd
10 changed files with 40 additions and 41 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -1 +1 @@
|
||||||
host_vars
|
.venv
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
ansible-playbook -i inventory.yml install.yml
|
ansible-playbook -i $(which rougail) install.yml
|
||||||
|
|
|
||||||
20
install.yml
20
install.yml
|
|
@ -26,7 +26,7 @@
|
||||||
|
|
||||||
- name: Créer le répertoire pour le site web
|
- name: Créer le répertoire pour le site web
|
||||||
file:
|
file:
|
||||||
path: "/var/www/{{ domain_name }}"
|
path: "/var/www/{{ intranet.nginx.domain_name }}"
|
||||||
state: directory
|
state: directory
|
||||||
owner: www-data
|
owner: www-data
|
||||||
group: www-data
|
group: www-data
|
||||||
|
|
@ -52,28 +52,28 @@
|
||||||
|
|
||||||
- name: Créer le fichier htpasswd avec le premier utilisateur
|
- name: Créer le fichier htpasswd avec le premier utilisateur
|
||||||
command: >
|
command: >
|
||||||
htpasswd -bc {{ htpasswd_file }} {{ users[0].username }} {{ users[0].password }}
|
htpasswd -bc {{ intranet.nginx.htpasswd_file }} {{ intranet.nginx.users[0].username }} {{ intranet.nginx.users[0].password }}
|
||||||
args:
|
args:
|
||||||
creates: "{{ htpasswd_file }}" # Ne recrée pas le fichier s'il existe déjà
|
creates: "{{ intranet.nginx.htpasswd_file }}" # Ne recrée pas le fichier s'il existe déjà
|
||||||
|
|
||||||
- name: Ajouter les utilisateurs suivants au fichier htpasswd
|
- name: Ajouter les utilisateurs suivants au fichier htpasswd
|
||||||
command: >
|
command: >
|
||||||
htpasswd -b {{ htpasswd_file }} {{ item.username }} {{ item.password }}
|
htpasswd -b {{ intranet.nginx.htpasswd_file }} {{ item.username }} {{ item.password }}
|
||||||
loop: "{{ users[1:] }}" # Ignore le premier utilisateur déjà ajouté
|
loop: "{{ intranet.nginx.users[1:] }}" # Ignore le premier utilisateur déjà ajouté
|
||||||
when: users | length > 1 # Exécute uniquement s'il y a plus d'un utilisateur
|
when: intranet.nginx.users | length > 1 # Exécute uniquement s'il y a plus d'un utilisateur
|
||||||
|
|
||||||
- name: Configurer le site Nginx avec authentification (HTTP)
|
- name: Configurer le site Nginx avec authentification (HTTP)
|
||||||
template:
|
template:
|
||||||
src: nginx_site_http.conf.j2
|
src: nginx_site_http.conf.j2
|
||||||
dest: "/etc/nginx/sites-available/{{ domain_name }}"
|
dest: "/etc/nginx/sites-available/{{ intranet.nginx.domain_name }}"
|
||||||
owner: root
|
owner: root
|
||||||
group: root
|
group: root
|
||||||
mode: '0644'
|
mode: '0644'
|
||||||
|
|
||||||
- name: Activer le site Nginx
|
- name: Activer le site Nginx
|
||||||
file:
|
file:
|
||||||
src: "/etc/nginx/sites-available/{{ domain_name }}"
|
src: "/etc/nginx/sites-available/{{ intranet.nginx.domain_name }}"
|
||||||
dest: "/etc/nginx/sites-enabled/{{ domain_name }}"
|
dest: "/etc/nginx/sites-enabled/{{ intranet.nginx.domain_name }}"
|
||||||
state: link
|
state: link
|
||||||
|
|
||||||
- name: Tester la configuration Nginx
|
- name: Tester la configuration Nginx
|
||||||
|
|
@ -97,7 +97,7 @@
|
||||||
|
|
||||||
- name: Obtenir un certificat SSL avec Certbot
|
- name: Obtenir un certificat SSL avec Certbot
|
||||||
command: >
|
command: >
|
||||||
certbot --nginx -d {{ domain_name }} --non-interactive --agree-tos --email {{ email }} --redirect
|
certbot --nginx -d {{ intranet.nginx.domain_name }} --non-interactive --agree-tos --email {{ intranet.nginx.email }} --redirect
|
||||||
notify: Redémarrer Nginx
|
notify: Redémarrer Nginx
|
||||||
|
|
||||||
handlers:
|
handlers:
|
||||||
|
|
|
||||||
1
install_rougail_lib.sh
Executable file
1
install_rougail_lib.sh
Executable file
|
|
@ -0,0 +1 @@
|
||||||
|
pip install -r requirements.txt --extra-index-url https://test.pypi.org/simple/
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
all:
|
|
||||||
hosts:
|
|
||||||
intranet.whirlingai.fr:
|
|
||||||
ansible_python_interpreter: /usr/bin/python3
|
|
||||||
vars:
|
|
||||||
ansible_user: root
|
|
||||||
ansible_ssh_private_key_file: ./host_vars/forge.gwhirlingai.fr.key
|
|
||||||
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
server {
|
server {
|
||||||
listen 80;
|
listen 80;
|
||||||
server_name {{ domain_name }};
|
server_name {{ intranet.nginx.domain_name }};
|
||||||
|
|
||||||
root /var/www/{{ domain_name }};
|
root /var/www/{{ intranet.nginx.domain_name }};
|
||||||
index index.html;
|
index index.html;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
auth_basic "Accès restreint";
|
auth_basic "Accès restreint";
|
||||||
auth_basic_user_file {{ htpasswd_file }};
|
auth_basic_user_file {{ intranet.nginx.htpasswd_file }};
|
||||||
try_files $uri $uri/ =404;
|
try_files $uri $uri/ =404;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
17
requirements.txt
Normal file
17
requirements.txt
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
rougail==1.2.0a63
|
||||||
|
rougail-cli==0.2.0a42
|
||||||
|
rougail-output-ansible==0.2.0a24
|
||||||
|
rougail-output-display==0.2.0a30
|
||||||
|
rougail-output-doc==0.2.0a46
|
||||||
|
rougail-output-formatter==0.1.0a24
|
||||||
|
rougail-output-json==0.2.0a18
|
||||||
|
rougail-output-table==0.1.0a2
|
||||||
|
rougail-structural-bitwarden==0.1.0a6
|
||||||
|
rougail-user-data-ansible==0.1.0a5
|
||||||
|
rougail-user-data-bitwarden==0.1.0a30
|
||||||
|
rougail-user-data-commandline==0.1.0a5
|
||||||
|
rougail-user-data-environment==0.1.0a18
|
||||||
|
rougail-user-data-questionary==0.1.0a4
|
||||||
|
rougail-user-data-yaml==0.2.0a19
|
||||||
|
tiramisu==5.2.0a26
|
||||||
|
tiramisu-cmdline-parser==0.7.0a5
|
||||||
|
|
@ -1,2 +1 @@
|
||||||
rougail -m structure.yml -u yaml -yf userdata.yml -s intranet
|
rougail -m structure.yml -u yaml -yf userdata.yml -s intranet -xn hosts -xd 0 hosts.yml
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
domain_name: "tototest.fr"
|
|
||||||
htpasswd_file: "/etc/nginx/.htpasswd"
|
|
||||||
email: "gwenael.remond@protonmail.com"
|
|
||||||
users:
|
|
||||||
- username: "gwen"
|
|
||||||
password: "blabla"
|
|
||||||
- username: "student"
|
|
||||||
password: "blibli"
|
|
||||||
14
userdata.yml
14
userdata.yml
|
|
@ -2,15 +2,13 @@
|
||||||
|
|
||||||
intranet:
|
intranet:
|
||||||
vps:
|
vps:
|
||||||
domain_name: tutu.fr
|
domain_name: defder.fr
|
||||||
# ssh_key: ./host_vars/forge.gwhirlingai.fr.key
|
ssh_key: ./multipass-ssh-key
|
||||||
|
|
||||||
nginx:
|
nginx:
|
||||||
|
|
||||||
domain_name: tototiti.fr
|
email: gwenael.remond@free.fr
|
||||||
|
|
||||||
email: gwenael.remond@protonmail.com
|
|
||||||
|
|
||||||
users:
|
users:
|
||||||
- username: foo
|
- username: foo
|
||||||
password: SoSecr31
|
password: SoSecr31
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue