• User Attivo

    Creare un dominio di terzo livello: come?

    Salve a tutti,
    ho un dominio di primo livello del tipo:
    www.nomedominio.it

    Vorrei creare un dominio di terzo livello:
    www.nome.nomedominio.it

    E' possibile farlo via "software" (nel senso con un linguaggio server-side)? Oppure come si fa?

    Grazie


  • User

    Ciao,
    come prima cosa e' un problema di DNS.

    Devi inanzitutto creare un record nel DNS del tuo dominio, per il dominio di terzo livello che ti interessa e che punti verso un IP della macchina dove vuoi mettere il sito.

    Poi sulla macchina occorrera' configurare un server web (apache, IIS o altro) per dirgli di rispondere alle richieste riguardanti il dominio www.nome.nomedominio.it

    ciao


  • User Attivo

    @newmedialabs said:

    Ciao,
    come prima cosa e' un problema di DNS.

    Devi inanzitutto creare un record nel DNS del tuo dominio, per il dominio di terzo livello che ti interessa e che punti verso un IP della macchina dove vuoi mettere il sito.

    Poi sulla macchina occorrera' configurare un server web (apache, IIS o altro) per dirgli di rispondere alle richieste riguardanti il dominio www.nome.nomedominio.it

    ciao
    Apache già gira, ma è necessario il record nel DNS? Ho letto da qualche parte che basta solo la modifica del file di apache inserendo un nuovo virtual host.


  • User

    ti faccio un esempio
    ora tu hai configurato il dns in questo modo
    www.nomedominio.it Record A su ip (ip tuo server)
    nomedominio.it Record A su ip (ip tuo server)
    mail.nomedominio.it Record A su ip (ip tuo server)

    ok cosi i dns sanno che devono puntare questi indirizzi sul tuo server

    risponde ora apache tramite questo codice
    ServerName www.nomedominio.it
    ServerAlias nomedominio.it
    poi punta la chiamata alla directory del sito
    DocumentRoot /var/www/html/nomedominio.it/

    nel tuo caso
    devi creare 2 nuovi record dns
    www.nome.nomedominio.it Record A su ip (ip tuo server)
    nome.nomedominio.it Record A su ip (ip tuo server)

    poi in apache un nuovo virtual host

    ServerName nome.nomedominio.it
    ServerAlias www.nome.dominio.it
    DocumentRoot /var/www/html/nome.dominio.it

    in questo caso apache apre sia se inserisci il www sia senza www.


  • User Attivo

    @virtualsite.it said:

    ti faccio un esempio
    ora tu hai configurato il dns in questo modo
    www.nomedominio.it Record A su ip (ip tuo server)
    nomedominio.it Record A su ip (ip tuo server)
    mail.nomedominio.it Record A su ip (ip tuo server)

    ok cosi i dns sanno che devono puntare questi indirizzi sul tuo server

    risponde ora apache tramite questo codice
    ServerName www.nomedominio.it
    ServerAlias nomedominio.it
    poi punta la chiamata alla directory del sito
    DocumentRoot /var/www/html/nomedominio.it/

    nel tuo caso
    devi creare 2 nuovi record dns
    www.nome.nomedominio.it Record A su ip (ip tuo server)
    nome.nomedominio.it Record A su ip (ip tuo server)

    poi in apache un nuovo virtual host

    ServerName nome.nomedominio.it
    ServerAlias www.nome.dominio.it
    DocumentRoot /var/www/html/nome.dominio.it

    in questo caso apache apre sia se inserisci il www sia senza www.
    Mmhm, il problema è se non so se posso modificare i DNS (penso cmq di si, visto che si tratta di un server quasi dedicato).
    Inoltre volevo fare qualcosa di dinamico con le espressioni regolari, è possibile?


  • User

    puoi essere + chiaro?


  • User Attivo

    @virtualsite.it said:

    puoi essere + chiaro?
    In pratica vorrei fare qualcosa di dinamico del tipo:
    nomeutente.dominio.it

    senza dover creare ogni volta un virtual host diverso per ogni nuovo sottodominio, ma fare in modo che ogni cosa del tipo:
    stringa.dominio.it

    venga mappata in:
    www.dominio.it/dir/stringa/


  • User

    @Giacomo79 said:

    In pratica vorrei fare qualcosa di dinamico del tipo:
    nomeutente.dominio.it

    senza dover creare ogni volta un virtual host diverso per ogni nuovo sottodominio, ma fare in modo che ogni cosa del tipo:
    stringa.dominio.it

    venga mappata in:
    www.dominio.it/dir/stringa/
    si puoi farlo, crei in apache un virtual host di default (praticamente un vh dove tutte le richieste non processati dagli altri vhost vanno a questo). E poi all'interno del vhost metti un file php o quello che sia che controlla la url contattata dall'utente e gli fai fare quello che ti serve (magari anche un redirect).
    Per PHP puoi guardare l'arrey $_SERVER, dovresti trovare tutte le informazioni che ti servono per capire l'utente a che url sta cercando di accedere.

    Altrimenti si potrebbe anche fare con una regex con il rewrite url di apache. Magari definita direttamente all'interno della configurazione del vhost principale.


  • User

    ma non hai un pannello di controllo host caricato sul server? ci sono dei pannelli host gratuiti che gestiscono in automatico webserver e dns. in questo modo puoi creare un 3 livello e in automatico ti crea dns e cartella per il 3 livello.

    per creare un terzo livello devo cmq creare un sempre un virtual host. se i terzi livelli devono finire nella stessa dir puoi creare un unico virtual host credo che la stringa sia questa
    ServerName *.nomedominio.it
    DocumentRoot /var/www/html/nome.dominio.it

    in questo modo apache butta tutto quello che vede come terzo livello nella dir
    /var/www/html/nome.dominio.it

    naturalmente devi sempre creare i dns


  • User Attivo

    @virtualsite.it said:

    per creare un terzo livello devo cmq creare un sempre un virtual host. se i terzi livelli devono finire nella stessa dir puoi creare un unico virtual host credo che la stringa sia questa
    ServerName *.nomedominio.it
    DocumentRoot /var/www/html/nome.dominio.it

    in questo modo apache butta tutto quello che vede come terzo livello nella dir
    /var/www/html/nome.dominio.it

    naturalmente devi sempre creare i dns
    Scusate se resuscito questo post, ma non ho capito una cosa: in quest'ultimo caso, che dns devo creare? Sempre con l'asterisco?


  • User Attivo

    Ciao ragazzi,
    ho installato nel sottodominio blog.spaccioworld.com word press mu. Per far si che ogni utente abbia il proprio indirizzo nomeutente.blog.spaccioworld.com la soluzione penso sia il virtual host. Ho un vps con os linux centOs apache 2.0.52 di seguito la configurazione del vhosts:

    
    <VirtualHost *:80>
    DocumentRoot /home/httpd/vhosts/spaccioworld.com/subdomains/blog/httpdocs/
    ServerName blog.spaccioworld.com
    ServerAlias *.blog.spaccioworld.com
    </VirtualHost>
     <directory /home/httpd/vhosts/spaccioworld.com/subdomains/blog/httpdocs/ >
    AllowOverride FileInfo Options
    </directory>
    
    

    dove pensate che sbagli? Mi appare la pagina del plesk ciò significa che non ridireziona sul blog.spaccioworld.com/index.php?parametro AIUTOOOO!


  • User

    Se il sito usa php:

    [php]<?
    function urlRedirect() {
    //controlla che ci sia la variabile HTTP_HOST
    if(isset($_SERVER['HTTP_HOST']))
    {
    $host = strtolower($_SERVER['HTTP_HOST']);
    $serverip = $_SERVER['SERVER_ADDR'];
    //se si accede al sito tramite l'ip del server lo riconosce
    if ($host == $serverip) { index();
    return;
    }
    if ($host == "localhost") { index();
    return;
    }
    //genera la variabile contenente l'array dell'url
    $array_url = explode(".",$host);
    //calcola quanti elementi ci sono nell'array e li salva in una variabile
    $num_dom = count($array_url);
    //se nell'array ci sono solo tre elementi (quindi non è stato inserito alcun sottodominio) genera la home
    if ($num_dom == "3") { index();
    return; }
    //variabile per l'estrazione dei domini
    $num_par = $num_dom - 1 ;
    //salva in una variabile la posizione del dominio di quarto livello nell'array
    $ndominio = $num_par - 3 ;
    //salva in una variabile il nome del dominio di quarto livello
    $dominio = $array_url[$ndominio];
    //salva in un array i domini di primo secondo e terzo livello e li unisce formando il dominio completo del sito
    $nhost[1] = $num_par;
    $nhost[2] = $num_par -1 ;
    $nhost[3] = $num_par - 2 ;
    $dhost = $array_url[$nhost[3]] . "." . $array_url[$nhost[2]] . "." . $array_url[$nhost[1]];
    //verifica la presenza dei parametri di redirect
    $rfile = "redirects/" . $dominio . ".link";
    if (file_exists($rfile)) {
    $rcontent = file($rfile);
    if ($rcontent['0'] == "index") index();
    else header ("location: $rcontent[0]");
    }
    else { //genera l'url
    $url = "http://" . $dhost . "/domini/" . $dominio . "/";
    $redfolder = "domini/" . $dominio . "/";
    $baseurl = "http://" . $dhost . "/";
    //fa il redirect
    if (file_exists($redfolder)) header ("location: $url");
    else header ("location: $baseurl"); }
    }
    else index();
    }

    function index() { include "home.php"; }

    //lo stato del controllo (1 = on | 0 = off)
    $url_control = "1";

    //verifica se effettuare il controllo dell'url oppure se visualizzare la index
    if ($url_control == "1") urlRedirect();
    else index();

    ?>[/php]

    function index() { include "home.php"; }

    questa funzione è importantissima perchè gestisce il comportamento dello script nei casi in cui:

    • non ci sia un dominio di quarto livello
    • si acceda al sito tramite l'ip del server
    • si acceda al sito tramite LOCALHOST
    • il controllo sui domini sia disabilitato
    • si sia deciso che il dominio X debba visualizzare la homepage
    • non ci sia nessuna corrispondenza del dominio X

    in questo caso ho scelto di includere il file home.php ma ovviamente possiamo sfruttare lo script a nostro piacimento,
    ad esempio possiamo eseguire un redirect:

    function index() { header ("location: /home"); }

    //lo stato del controllo (1 = on | 0 = off)
    $url_control = "1";

    questo parametro invece serve per abilitare o disabilitare il controllo sui domini,
    impostandolo a 1 il controllo viene eseguito, in qualsiasi altro caso, (escluso quello in cui la variabile sia nulla) viene semplicemente eseguito il comando per la homepage

    Altri due punti importanti sono le cartelle che lo script utilizza per la gestione dei domini:

    la cartella "redirects": contiene i files che lo script utilizza per fare i redirect, il file ha estensione .link, ha come nome il dominio di quarto livello a cui corrisponde e ha come contenuto l'url a cui vogliamo far destinare il dominio.

    la cartella "domini": contiene le cartelle a cui lo script andrà a redirectare il dominio nel caso in cui non ci siamo corrispondenze con i files della cartella redirects. il nome della cartella è il nome del dominio a cui corrisponde.


  • User Attivo

    Sinceramente non ho capito come sfruttare questo script, dove inserirlo...


  • User

    nell'index.php


  • User Newbie

    Salve a tutti.
    Chiedo in questa discussione visto che si parla di domini di terzo livello.
    Io ho creato un dominio di terzo livello caricandoci tutte le immagini riguardanti il tema del sito, volevo rendere questo dominio di terzo livello cookieless.
    Tutte le informazioni che trovo nel web non fanno altro che confondermi.
    In sostanza attualmente io ho il dominio example. dove risiede tutto il sito, e nel dominio img.example. sono presenti solo le immagini relative al template. Il mio dubbio è come rendere senza cookie questo dominio di terzo livello.
    Grazie in anticipo per l'aiuto.