Problématique de base : nous offrons la possibilité d'avoir son site web sur nos serveurs. Assos ou particuliers (et Yann et Zat ont pleeeein de sites à transférer).
Tant qu'il y avait une ou deux organisations avec peu de site ça allait, mais ça explose vite, et on ne peux pas laisser accès à “tout, tout le monde” ni administrer tout entièrement. La solution serait donc de proposer quelque chose façon “mutualisé” : la possibilité de gérer son propre espace web et ses propres domaines.
Exploration des possibles : j'ai regardé divers logiciels (dont Froxlor), malheureusement ils me semblent mal adaptés dans notre cas. Mais cela m'a permis de revoir nos besoins.
On veut permettre l'hébergement de trucs en html/css/php/js, guère plus. S'il y a des sites plus complexes, on passe à d'autres besoins. On peut potentiellement permettre de lier à des bases de données (mariadb etc), mais pour le moment je n'ai pas intégré ça dans la structure.
A priori, on nous dira “je veux un site pour machin.exemple.org”. On lancera un script qui fera “tout” et donnera donc accès à cet espace sftp où poser les fichiers de son site. Certficat let'encrypt géré de notre côté. L'utilisatrice a ensuite accès à une interface web avec la liste de son/ses site(s), que mettre dans son dns, son quota disque.
Or les solutions existantes proposent plus… trop ! Mail, DNS, entre autre, et ça fiche un bazar monstre. Donc je prévois de créer la solution maison.
C'est quelque chose qui va être à construire de toute façon (hors mutualisé).
Il existe des logiciels permettant de construire des tableaux de bord maison, je pense m'appuyer sur ça. Par exemple (pas testé) :
⇒ ou pas. Parce que c'est encore des trucs qui font le café, en demandant d'installer des milliards de trucs. On a assez de compétences pour faire ce qu'il faut avec un peu de php ?
Certaines infos s'obtiendront en interrogeant l'annuaire LDAP. Connexion via SSO.
Ce qui doit être affiché :
Il me semble aussi simple d'avoir des script bash qui sont appelés suivant les besoins. On ne fait pas des sites complètement sans intervention admin, puisqu'on est entre humains et non dans des relations clients.
/home/gudule/ ├── www/ → racine web ├── logs/ → logs apache ├── private/ → trucs pas publiques └── conf/ → vhost customisable ?
setquota -u gudule 15000000 16000000 0 0 /home/gudule/
(à vérifier)Si l'utilisatrice n'est plus membre de webuser ou que sa date d'expiration est dépassée :
a2dissite exemple.org
)Sans doute avec un mix Ansible/Bash.
Les scripts sont faits en grande partie là-dessus.
Sources pour s'inspirer :
Récupérer les infos suivantes :