Sur loth, un serveur apache en frontal (port 80 et 443) servant de reverse proxy vers les instances de chaque adherent. 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
Cloner CS_CT/ansible_hadoly.git
Le nom de domaine à héberger doit être associé via un CNAME à loth.hadoly.fr
Sur la base du modèle suivant:
--- # fichier webhosting.yml - hosts: loth.hadoly.fr vars: adherent_login: CHANGEME adherent_password: CHANGEME apache_server_name: CHANGEME certbot_domains: - "{{ apache_server_name }}" certbot_email: CHANGEME certbot_test: true certbot_docroot: /srv/tom/www/ certbot_services: [ apache2 ] roles: - hebergementweb - tconstans.certbot
On peut ensuite lancer le playbook:
<code> admin/ansible> ansible-playbook -u thomas -K webhosting.yml <code>
Ce playbook va:
Des fois ça ne marche pas lors de la première exécution, il ne faut pas hésiter à relancer.
Sur zabbix, sur la machine loth il faut:
last(/loth/web.test.rspcode[check web sites,alainsaintemarie.fr])<>200last(/loth/web.test.rspcode[check web sites,hadoly.fr])<>200
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
WIP
## Notes rapides sur l“'hébergement d'un wordpress:
wp-config.php:
WP_HOME et WP_SITEURL doivent pointer sur le fqdn du site en http
```php if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$list = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']); $_SERVER['REMOTE_ADDR'] = $list[0]; }
define( 'WP_HOME', 'http://hadoly.fr' ) ; define( 'WP_SITEURL', 'http://hadoly.fr' ) ;
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
$_SERVER['HTTPS']='on';
```
config frontal nginx doit inclure la directive:
proxy_set_header X-Forwarded-Proto https;