Domanda

Cosa fare per configurare un sottodominio per gli utenti quando si iscrivono al mio sito.

Quali sono le infrastrutture necessarie? Sto usando i server Linux.

È stato utile?

Soluzione

Puoi creare una voce CNAME / A Record nelle tue impostazioni DNS, per ciascun sottodominio

  

Un record CNAME è un record nel tuo   Impostazioni di gestione del dominio che consente   di controllare un tuo sottodominio   dominio.

Per automatizzarlo insieme alla registrazione, puoi scrivere uno script che viene eseguito per ciascun utente, quando si registra.

Puoi fare riferimento anche a questo link per una procedura dettagliata per Apache:

Come configurare sottodomini in apache

(da quando hai citato Linux, presumo che debba essere APache. Per favore, menziona se è diversamente)

Soluzione alternativa

Puoi anche fare riferimento alla soluzione jolly, fornita da Alnitak , nella stessa discussione. Trovo che il suo sia un modo più semplice. :)

Altri suggerimenti

Puoi utilizzare una voce DNS specifica (CNAME o A / AAAA) per ciascun sottodominio noto o una voce DNS con caratteri jolly che accetti * .example.com:

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

o

$ORIGIN example.com
*       IN A 12.34.6.78

Il vantaggio di quest'ultimo è che non sono necessarie modifiche alla configurazione DNS o Apache quando il servizio è in esecuzione. Lo svantaggio è che tutte queste ricerche con caratteri jolly devono (per definizione) finire per restituire lo stesso indirizzo IP.

La configurazione di Apache dipenderà dalle vostre esigenze, sia per il controllo dell'utente finale che per la sicurezza. Se gli utenti dispongono dell'autorizzazione per eseguire script CGI sul server, sarà necessaria un'installazione aggiuntiva per garantire che ciò avvenga in modo sicuro.

A seconda che il contenuto sia statico o dinamico, ciò influirà anche sulla tua configurazione:

  1. Usa mod_vhost_alias per mappare i singoli host virtuali nelle loro singole directory sul server.

  2. Se veramente vuoi, crea una sezione <VirtualHost> separata per ogni sito noto, ma dovrai riavviare Apache ogni volta che un nuovo utente si iscrive

  3. Usa un singolo $SERVER_NAME e poi guarda la parte del nome host dell'URL richiesto (dalla <=> variabile d'ambiente) negli script che rendono l'output per capire quale contenuto dell'utente visualizzare.

l'infrastruttura include l'accesso al server DNS per aggiungere una voce jolly e riscrivere le regole in Apache.

Prova queste risposte:

o questo link:

Se stai usando un server Linux, suppongo che tu usi Apache come server web.

Dovrai impostare il routing DNS corretto per il sottodominio e per un host virtuale.

Gli host virtuali sono abbastanza facili da configurare ma non sono sicuro di quanto sia facile eseguirli al volo in modo programmatico.

Il più delle volte è facile come modificare il file di configurazione di apache e aggiungere quanto segue:

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 probabilmente ti sarà utile.

Apache consente di specificare un numero qualsiasi di "siti" basati su sottodomini su un singolo server. La creazione di un nuovo file di "definizione del sito" con le informazioni del sottodominio appropriate, insieme ai caratteri jolly DNS appropriati, farà ciò che desideri.

In altre parole, il processo è così:

  1. Installa i caratteri jolly in modo che * .mysite.com indirizzi al server corretto.
  2. Quando un nuovo utente si iscrive, crea il file di definizione del sito Apache corretto: probabilmente avrai un modello di base in cui inserire e salvare le informazioni del sottodominio corretto.
  3. Fai in modo che Apache rileggi la sua configurazione.
  4. Profit.

IMPORTANTE Questo si basa su una configurazione Apache in stile Debian, in cui i file di configurazione sono inclusi in una directory e la configurazione principale legge tutti i file di configurazione in quella directory. Questo semplificherà molto le cose, perché aggiungere / rimuovere sottodomini significa aggiungere / rimuovere file, piuttosto che modificare un singolo file, e quindi il processo sarà molto più facile da automatizzare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top