documentation_technique:hebergementweb

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
documentation_technique:hebergementweb [09/15/2023 12:12:48] – thomasdocumentation_technique:hebergementweb [10/18/2026 10:35:15] (Version actuelle) – maj doc suite à déploiement hebergement adherent thomas
Ligne 1: Ligne 1:
 ====== Hébergement web ====== ====== Hébergement web ======
 +
 +=== Architecture ===
 +
 +Sur loth, un serveur apache en frontal (port 80 et 443) servant de reverse proxy vers les instances de chaque adhérent.e. Il s'occupe également de la partie ssl
 +
 +1 adhérent (qui en fait la demande) => 1 compte utilisateur => 1 instance apache (/etc/apache2-ADHERENT) => 1 pool php (/etc/php/8.1/fpm/pool.d/ADHERENT.conf)
 +
 +tous les process tournent avec l'identité de l'adhérent, pour un cloisonnement optimal.
 +
 +Le déploiement se fait automatiquement par ansible
  
 ===== Mettre en place un nouvel hébergement ===== ===== Mettre en place un nouvel hébergement =====
Ligne 8: Ligne 18:
  
 Le nom de domaine à héberger doit être associé via un CNAME à [[documentation_technique:machines:loth|loth.hadoly.fr]] Le nom de domaine à héberger doit être associé via un CNAME à [[documentation_technique:machines:loth|loth.hadoly.fr]]
 +
 +Il 
  
 === Création du playbook === === Création du playbook ===
Ligne 13: Ligne 25:
 Sur la base du modèle suivant: Sur la base du modèle suivant:
 <code>--- <code>---
-- hosts: loth.hadoly.fr +- hosts: loth.hadoly.fr                                                          
-  vars: +  vars:                                                                          
-    adherent_login: CHANGEME +    adherent_login: loginadherent                                                
-    adherent_password: CHANGEME +    adherent_password: "mot de passe adherent"                                   
-    apache_server_name: CHANGEME +    apache_server_name: "nom de domaine"                                         
-    certbot_domains: +    apache_server_alias: "aliases de nom de domaine ou null"                     
-    - "{{ apache_server_name }}" +    wh_wordpress: true                                                           
-    certbot_email: CHANGEME +    certbot_email: "adresse mail de l'admin du site"                             
-    certbot_test: true +    certbot_domains: "[{{ apache_server_name }}]"                                
-    certbot_docroot: /srv/tom/www/ +  roles:                                                                        
-    certbot_services: [ apache2 ] +
-  roles:+
     - hebergementweb     - hebergementweb
-    - tconstans.certbot 
- 
 </code> </code>
  
 +On peut ensuite lancer le playbook:
 +
 +<code>
 +admin/ansible>  ansible-playbook -u thomas -K webhosting.yml
 +<code>
 +
 +Ce playbook va:
 +  - créer un compte utilisateur (todo: utiliser ldap) système - avec le mot de passe défini dans le playbook
 +  - créer un répertoire personnel pour cet utilisateur
 +  - créer une instance apache qui va tourner avec l'identité de cet utilisateur, sur un port dédié
 +  - créer un pool php en version 8, dédié à l'utilisateur
 +  - créer une base de donnée du nom de l'utilisateur, avec le mot de passe
 +  - configure le serveur web principal qui sert de reverse
 +  - créé et déploie un certificat letsEncrypt
 +
 +Des fois ça ne marche pas lors de la première exécution, il ne faut pas hésiter à relancer.
 +
 +=== Supervision ===
 +
 +Sur zabbix, sur la machine loth il faut:
 +  * reconfigurer le monitoring "check web sites" et rajouter un "steps" concernant le nouveau site, en s'inspirant d'un step existant.
 +  * cloner le  trigger "hadoly.fr down" et changer le nom du trigger et l'expression du trigger qui doit ressembler à ça (ex pour hadoly.fr):
 +
 +
 +''last(/loth/web.test.rspcode[check web sites,alainsaintemarie.fr])<>200last(/loth/web.test.rspcode[check web sites,hadoly.fr])<>200''
 +
 +=== Axes d'amélioration ===
  
 +utiliser l'authentification ldap pour le compte unix de l'adhérent, l'accès à la base de donnée. Cela évitera d'avoir à gérer le mot de passe de l'adhérent
  
 ===== Statut ===== ===== Statut =====
  
  
-WIP+<del>WIP</del>
  
 ## Notes rapides sur l"'hébergement d'un wordpress: ## Notes rapides sur l"'hébergement d'un wordpress:
  • documentation_technique/hebergementweb.1694779968.txt.gz
  • Dernière modification : 09/15/2023 12:12:48
  • de thomas