Question

Que faut-il faire pour configurer un sous-domaine pour les utilisateurs lorsqu'ils s'inscrivent sur mon site?

Quelles sont les infrastructures nécessaires? J'utilise des serveurs Linux.

Était-ce utile?

La solution

Vous pouvez créer une entrée CNAME / un enregistrement dans vos paramètres DNS pour chaque sous-domaine

  

Un enregistrement CNAME est un enregistrement dans votre   Paramètres de gestion de domaine qui permettent   vous contrôlez un sous-domaine de votre   domaine.

Pour l'automatiser lors de l'enregistrement, vous pouvez écrire un script qui est exécuté pour chaque utilisateur lors de son enregistrement.

Vous pouvez également vous référer à ce lien pour un processus pas à pas pour Apache:

Comment configurer sous-domaines dans apache

(puisque vous avez mentionné Linux, je suppose que ce doit être APache. Veuillez indiquer s'il en est autrement)

Solution alternative

Vous pouvez également consulter la solution générique proposée par Alnitak , dans le même fil. Je trouve que c'est un moyen plus facile. :)

Autres conseils

Vous pouvez utiliser une entrée DNS spécifique (CNAME ou A / AAAA) pour chaque sous-domaine connu, ou une entrée DNS générique qui accepte * .example.com:

$ORIGIN example.com
foo     IN A 12.34.6.78
bar     IN A 12.34.6.78

ou

$ORIGIN example.com
*       IN A 12.34.6.78

L’avantage de ce dernier est qu’aucune modification de la configuration DNS ou Apache n’est requise une fois que le service est en cours d’exécution. L’inconvénient est que toutes les recherches génériques de ce type doivent (par définition) finir par renvoyer la même adresse IP.

La configuration d’Apache dépend de vos exigences, tant pour le contrôle de l’utilisateur final que pour la sécurité. Notez que si les utilisateurs sont autorisés à exécuter des scripts CGI sur le serveur, une configuration supplémentaire sera nécessaire pour garantir la sécurité du processus.

Selon que le contenu est statique ou dynamique, cela affectera également votre configuration:

  1. Utilisez mod_vhost_alias pour mapper des hôtes virtuels individuels. dans leurs répertoires individuels sur le serveur.

  2. Si vous voulez vraiment, créez une section <VirtualHost> distincte pour chaque site connu, mais vous devrez ensuite redémarrer Apache à chaque fois qu'un nouvel utilisateur s'enregistre

    .
  3. Utilisez un seul $SERVER_NAME et examinez ensuite la partie du nom d’hôte de l’URL demandée (à partir de la variable d’environnement <=>) dans les scripts qui rendent la sortie pour déterminer le contenu de l'utilisateur à afficher.

infrastructure inclut l’accès au serveur DNS pour ajouter une entrée générique et la réécriture des règles dans Apache.

Essayez ces réponses:

ou ce lien:

Si vous utilisez un serveur Linux, je présume que vous utilisez Apache comme serveur Web.

Vous devrez configurer le routage DNS approprié pour le sous-domaine ainsi qu'un hôte virtuel.

Les hôtes virtuels sont assez faciles à configurer mais je ne sais pas à quel point il est facile de les faire à la volée.

La plupart du temps, il vous suffit de modifier votre fichier de configuration Apache et d'ajouter les éléments suivants:

Port 80
ServerName www.mydomain.com

NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot /www/user-bob
ServerName bob.mydomain.com
...
</VirtualHost>

<VirtualHost *:80>
DocumentRoot /www/user-sally
ServerName sally.mydomain.com
...
</VirtualHost> 

La VirtualHost Documention vous sera probablement utile.

Apache vous permet de spécifier un nombre quelconque de "sites" en fonction de sous-domaines sur un seul serveur. Créer un nouveau fichier 'définition du site' contenant les informations de sous-domaine appropriées, ainsi que les caractères génériques DNS appropriés, fera ce que vous voulez.

En d'autres termes, le processus est le suivant:

  1. Configurez les caractères génériques de sorte que * .mysite.com soit dirigé vers le serveur approprié.
  2. Lorsqu'un nouvel utilisateur s'inscrit, créez le fichier de définition de site Apache approprié. Vous aurez probablement un modèle de base dans lequel vous allez placer les informations de sous-domaine appropriées et les enregistrer.
  3. Amener Apache à relire sa configuration.
  4. Bénéfice.

IMPORTANT Ceci est basé sur une configuration Apache de type Debian, dans laquelle les fichiers de configuration sont inclus dans un répertoire, et la configuration principale lit tous les fichiers de configuration de ce répertoire. Cela simplifiera beaucoup les choses, car l'ajout / la suppression de sous-domaines impliquera l'ajout / la suppression de fichiers, plutôt que la modification d'un seul fichier, ce qui rendra le processus beaucoup plus facile à automatiser.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top