Sous domaine illimité et automatique vers répertoire ?

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour à tous,

Après plusieurs heures de recherches et de test je me résigne à venir demander de l'aide car je ne trouve pas la solution.

Certain site comme les service de création de forum, de blog, de site, etc permettent de créer un un site directement en ligne avec une adresse en sous domaine.

Par exemple :

Le site http://www.e-monsite.com/ permet de créer des sites avec cette adresse :

http://peewee-production.e-monsite.com/

http://estellevuillemin.e-monsite.com/

Les différents sites créés sont des sous domaines du site principal (E-monsite). Comment font-il cela ?

Ce qui m’intéresse ce n'est pas le site en lui même mais la génération des sous-domaines.

J'imagine que à chaque fois qu'un site est créé cela créer un répertoire sur le ftp d'e-monsite, puis que le .htaccess redirige vers le sous domaine.

Est-ce bien comme cela que ça fonctionne ?

J'ai essayé sur mon mutualisé mais je n'y suis pas arrivé.

Est ce possible sur un mutualisé ?

Comment feriez-vous ça vous ?

Je vous remercie par avance

Florian

Édité par Coyote

+0 -0
Staff

Cette réponse a aidé l'auteur du sujet

Sur un mutualisé c'est très compliqué à mettre en place — pour ne pas dire impossible je pense. Surtout que chez OVH il faut utiliser leur manager pour créer des sous-domaines sur un mutualisé…


En réalité je pense plutôt qu'ils créent un vhost (pas un simple .htaccess) pour chaque sous-domaine, qui du coup est directement lié à sa propre URL et avec sa propre config personnalisée (ce qui permet de récupérer les infos nécessaires côté serveur directement, de pointer dans le bon dossier, etc.)


Si tu veux l'option vhost_alias pour faire ça il y a des chances que tu doives passer par un dédié ou un VPS. OVH propose des KimSufi qui peuvent permettre de se faire la main pour pas trop cher…

Édité par viki53

Auteur du sujet

Salut viki53,

Tout d'abord je te remercie pour ta réponse rapide.

Je ne connais absolument pas pour le moment tous ce qui est serveur VPS et dédié mais cela fait un moment que cela me démange.

Là ou j'ai du mal à comprendre (surement du à mon ignorance) c'est que les utilisateurs créent leur site à travers une interface php. Les informations propres à leur site web sont stocké en base de données et pour la création des différentes pages dans un répertoire.

Comment est créé le vhost ? Quel est le cheminement ?

As-tu des ressources sur le sujet ?

Je suis désolé si je t'ennui avec mes questions de débutant.

Florian

+0 -0
Staff

Cette réponse a aidé l'auteur du sujet

Le vhost est défini dans un fichier de configuration Apache tout simplement, c'est le même format qu'un .htaccess mais défini en amont donc non accessible à PHP (en théorie, si le serveur est sécurisé).

Ils ont peut-être un script qui permet de créer un vhost (en Bash par exemple) que le PHP lance à chaque fois, qui lui va s'occuper de mettre en place les infos sur le serveur (créer le dossier et le vhost, tout ça…) pendant que le PHP va lui s'occuper de la BDD et de ce à quoi il a accès plus facilement.

Édité par viki53

Auteur du sujet

Ok Vikie53. Merci pour ces pistes.

Je viens de faire quelques recherches et grâce à ton aide j'ai trouvé des pistes notamment grâce au VirtualHost dynamiques.

Par contre, je me demande quel type de serveur pour commencer ce type de configuration il faut. Selon toi un VPS classic (https://www.ovh.com/fr/vps/vps-classic.xml) cela peut être suffisant ?

+0 -0

Sur un mutualisé c'est très compliqué à mettre en place — pour ne pas dire impossible je pense. Surtout que chez OVH il faut utiliser leur manager pour créer des sous-domaines sur un mutualisé…

viki53

Je me permet de te contredire, sous OVH il est bien possible de faire ceci via l'API en php. Par contre je pense que c'est légèrement plus long l'activation que sur un VPS/dédie (quelques minutes).

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php

try {
 $soap = new SoapClient("https://www.ovh.com/soapi/soapi-re-1.63.wsdl");

 //login
 $session = $soap->login("xxxxxx-ovh", "******","fr", false);
 echo "login successfull\n";

 //subDomainAdd
 $soap->subDomainAdd($session, "zestedesavoir.com", "exemple", "127.0.0.1", "fr");
 echo "subDomainAdd successfull\n";

 //logout
 $soap->logout($session);
 echo "logout successfull\n";

} catch(SoapFault $fault) {
 echo $fault;
}

?>

http://www.ovh.com/soapi/fr/?method=subDomainAdd

+0 -0

Sauf que ça reste dépendant l'OVH. Donc le jour où ils arrêtent le support de l'API ou que l'OP change d'hébergeur, il faut tout refaire.

viki53

Tout refaire ? Il aura juste besoin de refaire la fonction en question, qui attribue le sous domaine, cette solution est loin d'être parfaite mais elle reste possible, selon les contraintes existantes.

De plus, je vois très mal OVH changer d'API, surtout sans prévenir au moins 6 moins à l'avance.

+0 -0

oui, sur un mutu OVH, tu veux créer un sous domaine qui s'appelle « * » et tous les sous-domaines qui ne match pas sont redirigés vers lui (mais reste que tous les sous-domaines pointent vers le même dossier)

+0 -0
Auteur du sujet

Salut tout le monde,

Je réponds avec un peu de retard, semaine chargée.

Pour le moment on va dire que le VPS n'ayant pas l'habitude, je bloque sur la config … je suis dérouté par le manque d'interface. J'ai installé php, apache et compagnie mais je ne sais pas comment accéder à ma base de données. Quand je vais sur l'adresse du serveur je ne sais pas ou sont hébergés les fichiers sur le FTP, etc. Pour le moment j'avoue que je suis perdu de ce coté là.

Talus -> J'ai essayé ça fonctionne plus ou moins bien. J'ai fais cela ainsi dans le fichier .htaccess :

<VirtualHost :80> ServerName www.monsite.com ServerAlias monsite.com .monsite.com DocumentRoot /www/ </VirtualHost>

C'est bien de cela dont tu parles ? Si ce n'est pas le cas, tu aurais un exemple ou des ressources stp ?

Mais j'avoue ne pas trop comprendre le document ROOT et surtout d’après mes essais cela fonctionne que si je met un fichier .htaccess dans tous les sous dossiers.

Au final, j'avoue que je galère :-)

A-312 -> Je vais regarder de ce coté là, mais là ou il va y avoir un problème, c'est que si je ne dis pas de bêtise sur les mutu le nombre de sous domaine est limité.

Autant dire la galère.

Merci à tous pour vos réponses, je vais y arriver avec votre aide ;-).

Florian

+0 -0

A-312 -> Je vais regarder de ce coté là, mais là ou il va y avoir un problème, c'est que si je ne dis pas de bêtise sur les mutu le nombre de sous domaine est limité.

Florian

arglow

Je ne pense pas qu'il y est une limite, et cette solution à l'avantage d'être la plus simple si tu ne maitrises pas l’administration d'une machine pour un serveur web debian.

Pour le virtualhost, il ne faut pas le mettre dans un .htaccess mais dans un fichier config dans un dossier spécifique (regarde : http://doc.ubuntu-fr.org/tutoriel/virtualhosts_avec_apache2, même si ce n'est pas Debian c'est compréhensible).

Regarde dans le fichier httpd.conf d'Apache (apache/conf/httpd.conf). Cherche le terme "vhosts" ou "IncludeOptional" regarde si tu as une ligne qui pointe vers un dossier vhosts :

1
IncludeOptional "/web/conf/vhosts/*"

Si tu ne l'as pas tu rajoutes cette ligne (en dessous du bloc VirtualHost existant) et dans le dossier tu rajoutera des fichiers .conf par exemple avec ton bloc <VirtualHost></VirtualHost> :

1
2
3
4
5
6
7
8
9
<VirtualHost *:80>
    ServerAdmin postmaster@zestedesavoir.com
    ServerName myhost.zestedesavoir.com

    DocumentRoot /web/host/myhost/
    <Directory /web/host/myhost/>
        AllowOverride All
    </Directory>
</VirtualHost>
+0 -0
Auteur du sujet

Merci A-312.

Pour le nombre de sous domaine, après vérification ils sont limité à 1000 (https://www.ovh.com/fr/hebergement-web/hebergement-perso.xml).

C'est là ou je vois que je suis totalement à coté de la plaque. Sur un mutu, je n'ai pas accès au fichier de config d'apache (httpd.conf)?

As-tu des tuto sur la configuration d'un VPS pour un site web ?

Merci. Florian

+0 -0
Auteur du sujet

Dans la suite de mes pérégrinations.

A-312 -> j'ai fais le test avec l'API d'OVH et cela fonctionne par contre lors de la création d'un sous domaine il y a un délai de … 24h :-( (quand on créé un sous domaine le message "L'opération a été exécutée avec succès ! La modification sera effective d'ici 24 heures.").

Pour ce qui est du VPS, définitivement je n'y comprends rien. Une fois les installation des différents packages (php 5, apache, phpmyadmin, …) je n'arrive pas à y accéder.

J'avoue être dépité car sans ça, le service que je souhaite développer n'a plus d’intérêt. Toute la partie dev ne me pose pas de problème, il n'y a que la config serveur qui me bloque.

+0 -0

Il existe différentes possibilités de configurations. La configuration que propose ovh avec son api est une méthode DNS, l'explication des 24h vient du fait qu'il faut attendre que la modification apportée soie répercuté dans le monde entier.

Cependant, il existe d'autres techniques, comme par exemple le wilcard (* ) au niveau du DNS, on fait ce réglage une seule fois (qui mes 24h à se propager) puis c'est tout au niveau des DNS, tous les changements à prévoir ensuite ne dépendront que du serveur en lui même donc pourra être instantané.

Si tu es sur un vps, lorsque tu veux créé un nouveau sous domaine il te suffit de configurer une nouvelle vhost et tu es parti, le sous domaine sera totalement indépendant et tu pourra y faire ce que tu souhaite.

Si ton idée est de faire comme pour un système de blog alors ce n'est pas totalement la même chose. Une technique souvent utilisée c'est que quelque soie le nom de domaine/sous domaine tu arrive toujours sur le même dossier. La seule chose c'est que dans le script php on regarde quel host il s'agit et on se connecte à la bonne base de données. Du coup c'est le même code mais pas avec les même données, ce qui fait que l'on à du coup des blog/forum/… différents.

+1 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte