Carnet Mutualisation

Service d’hébergement mutualisé

SPIP-Contrib :: Carnet SPIP :: Carnet Mutualisation :: Recherche :

Service d’hébergement mutualisé

Consulter au préalable « La mutualisation facile »

La mise en place d’un service d’hébergement nécessite un panneau de gestion des utilisateurs et des services associés. Cette note a pour objet d’exploiter l’excellente « mutualisation facile de sites SPIP » pour la mise en place d’un service d’hébergement mutualisé de sites SPIP.

Ce qui est proposé ici :

Prérequis

Paramétrage DNS / cas d’un domaine dédié à la mutualisation

Pour héberger des sous-domaine en mondomain.tld, il suffit d’insérer dans la zone DNS un enregistrement utilisant le joker pour faire pointer tous les sous-domaines vers l’adresse IP x.x.x.x

* 10800 IN A x.x.x.x

Ainsi tous les sous-domaines en mondomain.tld pointent vers un SPIP potentiel.

Configuration de SPIP

Configuration de spip/config/mes_options.php

La seconde section de définition des _INSTALL_PANEL_* permet de spécifier la BD, la table et les champs où on récupère les informations des utilisateurs, à savoir le domaine (_INSTALL_PANEL_FIELD_SITE), le mot de passe MySQL/FTP (_INSTALL_PANEL_FIELD_PASS) et le code permettant au propriétaire du site d’activer son espace (_INSTALL_PANEL_FIELD_CODE).

Panel de gestion des espaces

Le code d’un panel minimal est donné ici en exemple. Son mode de fonctionnement correspond à un service d’hébergement de type communautaire et non marchand. Des modérateurs invitent des personnes à disposer d’un site SPIP. Une fois identifié, le modérateur spécifie le prénom, nom et email du propriétaire du site. Il spécifie l’URL (toto.mondomain.tld ou encore autredomaine.tld) et le mot de passe FTP/MySQL. Arbitrairement, on laisse à la mutualisation facile de définir les identifiants MySQL et FTP mais on choisit le mot de passe (rien de plus pénible qu’un mot de passe consistant en une suite de caractère aléatoire). Lors du choix de l’URL, une vérification de la disponibilité de l’URL est effectuée. On effectue aussi un ping pour voir si le sous-domaine ou le domaine pointe bien vers le serveur d’hébergement.

Le futur propriétaire du site reçoit un courrier automatique l’annonçant que untel l’a invité à disposer du site machin.mondomain.tld et précise code d’activation, identifiants MySQL et FTP.

Cet exemple de panel est proposé sans prétention : c’est juste pour donner des idées. Par fainéantise, il s’appuie sur les librairies PEAR Auth, QuickForm, Mail et Ping.

Installation des librairies PEAR

Structure de la base

Les modérateurs sont à ajouter à la main via phpMyAdmin en utilisant la fonction md5 pour les mots de passe.

Codes de l’exemple de panel

Le fichier etc/config.inc.php est à adapté de manière similaire à ce que vous avez fait pour spip/config/mes_options.php

Zip - 7.4 ko
panel.zip

Configuration du serveur FTP

Tout serveur FTP disposant d’une extension MySQL pour aller chercher les utilisateurs fait l’affaire. A titre d’exemple, par sa robustesse et sa simplicité, nous utilisons ici pure-ftpd

apt-get install pure-ftpd-mysql

Éditer /etc/pure-ftpd/db/mysql.conf pour l’adapter à vos besoins :

En outre :

Tester en local avant de le faire sur un serveur

Un moyen simple pour tester en local sans se prendre la tête à mettre en place un serveur DNS et à configurer vos propres zones locales et d’ajouter des hostnames dans /etc/hosts comme par exemple :

127.0.0.1 toto.chezmoi.com
127.0.0.1 titi.chezmoi.com
127.0.0.1 tutu.chezmoi.com

Pour peu qu’Apache pointe vers le bon répertoire (par exemple DocumentRoot /var/www/spip/ vous pourrez tester l’activation des sites toto.chezmoi.com, titi.chezmoi.com, etc...

Retours, critiques, etc... sont les bienvenues !