Créer Un Sous Domaine Avec PHP !!??

Résolu
nabmoah Messages postés 17 Date d'inscription dimanche 12 juin 2005 Statut Membre Dernière intervention 1 mai 2011 - 31 mai 2007 à 12:46
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 - 2 juin 2007 à 21:28
Bonjour ...

   - Je voudrai savoir s'il existe un module en PHP pour créer mes propres sous-domaines sur mon serveur dédié ...

En fait, j'ai loué un serveur dédié et comme je vais proposer bientôt un système de blogs, je souhaiterai que l'adresse des blogueurs soit accessible via les 2 adresses "http://www.monsite.com/login_blog" et "http://login_blog.monsite.com" ... mais pour cela je dois créer un code PHP qui crée en même temps toutes les données nécessaires pour le blog ( base de données , fichiers , répertoire ...etc. ce qui est déjà fait ...) mais aussi le répertoire du blog associé au Sous-Domaine ...

   - Comment peut on créer un sous-domaine avec PHP ?
   - Comment bien sûre, éviter de créer un même répertoire pour un seul Sous-Domaine ?

Enfin, existe t'il un module pour la procédure ?

Merci d'avance pour tout ...
Cordialement ...
[mailto:N@B N@B]

3 réponses

neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
31 mai 2007 à 13:57
Salut,

Un sous-domaine n'a rien à voir avec PHP.
Les sous-domaines dépendent du domaine, et sont donc, comme le domaine, gérés par le DNS.
Tu as deux solutions : une rapide, l'autre lente. La rapide ne marche pas tout le temps...
La méthode lente consiste à définir sur le DNS le sous-domaine. Si c'est toi qui gères le DNS, un redémarrage suffit. Sinon, il faut attendre la propagation.
Il faut alors configurer Apache pour que le sous-domaine en question soit un hote virtual (Virtual Host vhost)> redémarrage d'Apache et hop.

La méthode rapide nécessite que le prestataire qui gère le DNS accepte les requêtes de type *.tondomaine.tld. Ce n'est pas le cas de tous : OVH ne le permet pas, Gandi et Amen oui (3 exemples que je connais, pour d'autres, faut voir).
A partir de là, les sous-domaines demandés qui n'existent pas affichent un sous-domaine par défaut : en général, c'est le www. Il faut alors vérifier l'adresse du serveur ( $_SERVER['SERVER_NAME'] ) et afficher les fichiers qui correspondent.

Aujourd'hui, les plateformes de blog comme dotClear ou WordPress permettent de gérer ça, mais ça ne dispense absolument pas de la configuration du serveur HTTP et du DNS.
1
nabmoah Messages postés 17 Date d'inscription dimanche 12 juin 2005 Statut Membre Dernière intervention 1 mai 2011
2 juin 2007 à 21:22
donc si je comprends bien cela ne peut se faire en PHP ...

   avec mon serveur , je cré mes sous-domaines avec un accès SSH en entrant une ligne spécifique qui me permet de les créer.

Je me demandai si je ne pouvais pas exécuter ces lignes avec PHP ( ou autre language comme cfm, jsp ou autres ) puis redémarrer Apache via ce même language aussi ...?

Merci d'avance ...
0
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
2 juin 2007 à 21:28
Salut,

Si, ça, c'est faisable. Il existe pour cela toute une panoplie de fonctions php qui permettent d'exécuter une commande Unix :
http://ch2.php.net/manual/fr/ref.exec.php

Cela dit, tout dépend de la configuration du serveur : il ne faut pas que ces fonctions soient désactivées (elle le sont obligatoirement quand Safe Mode est activé, par exemple).

Cependant, question sécurité, ce n'est absolument pas une bonne idée.

Il est très nettement préférable de stocker via PHP les sous-domaines à créer dans un fichier texte ou dans une base de données et d'exécuter une tâche cron qui va récupérer ces noms de sous-domaines et les créer, puis redémarrer Apache à intervalle régulier (tous les 1/4 d'heure par exemple).

Mais il convient, encore une fois, de ne pas confondre la configuration Apache pour que le serveur HTTP traite les requêtes pour un sous-domaine et la configuration du DNS.

Je suppose que le script ue tu as fait les deux, c'est indispensable...
0
Rejoignez-nous