Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637

    Ubuntu 8.04 - Bind9 - VirtualHost

    Premetto di essere un programmatore .Net, quindi lo scopo di questa richiesta è fatto per pura conoscenza personale.
    Ho una rete casalinga formata, essenzialmente, da 2 macchine nelle quali girano, rispettivamente, win2003 server e ubuntu 8.04 server.

    Nelle mie prove, stò cercando di configurare un sistema di test, in cui 2 siti web che risiedono nella macchina server ubuntu, possano essere raggiunti in questo modo:
    http://sito1.test
    http://sito2.test

    Mi sembra di aver capito, che per fare questa operazione occorre creare dei VirtualHost.
    ho seguito vari HowTo e, in questo, mi sembra di aver capito abbastanza su come funziona la struttura di apache e i files da configurare

    Il problema nasce dal fatto, che tutte le guide che ho letto, omettono la parte relativa alla configurazione del DNS che, in ubuntu 8.04, si regge sulla struttura denominata BIND9.

    Anche quì ho seguito moltissime guide, howto, ma non riesco a capire se questa è la strada giusta da intraprendere perchè oltre a mancare di basi fondamentali, che nella confusione non capisco quali essere, gli esempi che mi studio, non sembrano funzionare nel mio sistema.

    Esiste qualche volenteroso che conosca una guida completa o, quanto meno, sia capace di introdurmi in uno schema da seguire per configurare un sistema come quello che vorrei testare?

    Questa è una delle risorse che ho seguito, ma francamente non sò se è la risorsa giusta:
    https://help.ubuntu.com/community/BIND9ServerHowto

    grazie

    P.s.
    ho anche letto questo thread: http://forum.html.it/forum/showthrea...ighlight=bind9
    ..ma nulla.
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  2. #2
    ... con 2 pc..... a cosa ti serve Bind ?

  3. #3
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    Francamente stò cercando di imparare qualcosa che esula dalle mie competenze... a titolo personale.
    Detto questo, credo che il numero di pc non sia importante per il semplice fatto che il mio scopo sarebbe questo:
    attraverso un unico indirizzo ip assegnato alla macchina server, vorrei che da questa fossero raggiungibili 2 diverse applicazioni web (che risiedono in essa), ma non con un indirizzo simile a questo:

    http://nomeserver/applicazione1
    http://nomeserver/applicazione2

    ma direttamente:

    http://applicazione1
    http://applicazione2

    Inizialmente ho provato a configurare apache2 creando i VirtualHost ed editanto il file hosts, ma non ha funzionato.
    In alcune guide, ho letto che bisognerebbe configurare la macchina server in modo che possa instradare le richieste alla giusta applicazione web configurando il DNS: è un errore?
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  4. #4
    Utente di HTML.it L'avatar di zoseppe
    Registrato dal
    Jan 2005
    Messaggi
    306
    premettendo che configurare BIND non è proprio banale io farei così: nella macchina ubuntu, dove c'è apache, installerei anche bind. Ora bisogna configurarlo...supponiamo che la tua macchina ubuntu si chiami "ns.tuodominio.test" e che abbia come indirizzo IP 192.168.0.100 e la macchina WIN2003 si chiami win.tuodominio.test con IP 192.168.0.200: devi aggiungere in /etc/bind/named.conf qualcosa del tipo:

    zone "0.168.192.in-addr.arpa" {
    type master;
    file "/etc/bind/0.168.192.rev";
    };

    zone "tuodominio.ltd" {
    type master;
    file "/etc/bind/tuodominio.test.host";
    };

    il primo per la risoluzione inversa e il secondo per il dominio "tuodominio.test"

    i files /etc/bind/0.168.192.rev e /etc/bind/tuodominio.test.host dovranno contenere, rispettivamente, qualcosa del tipo:

    /etc/bind/0.168.192.rev:
    $ttl 86400
    @ IN SOA tuodominio.test. hostmaster.tuodominio.test. (
    2008111401 ; Serial
    28800 ; Refresh
    7200 ; Retry
    604800 ; Expire
    86400 ) ; Defaul TTL

    @ IN NS ns.tuodominio.test.
    100 IN PTR ns
    200 IN PTR win

    /etc/bind/tuodominio.test.host:
    $ttl 86400
    @ IN SOA tuodominio.test. hostmaster.tuodominio.test. (
    2008111401 ; Serial
    28800 ; Refresh
    7200 ; Retry
    604800 ; Expire
    86400) ; Default TTL

    @ IN NS ns

    ns IN A 192.168.0.100
    win IN A 192.168.0.200
    www.applicazione1.tuodominio.test. CNAME 192.168.0.100
    www.applicazione2.tuodominio.test. CNAME 192.168.0.100

    ora configura sulla macchina ubuntu vai su /etc/resolv.conf, cancella tutto e scrivi

    nameserver 127.0.0.1

    e riavvia

    mentre sulla macchina WIN configura come DNS primario 192.168.0.100 e da li fai le prove...
    spero di non aver fatto errori di battitura se qualcosa non dovesse funzionare chiedi pure! Bada che bene i punti alla fine dei nomi a dominio non sono messi a caso servono per evitare che bind "appenda" alla fine del record il nome del dominio...

    Fammi sapere

  5. #5
    no no... non avevo capito



    ma i server sulla macchina locale funzionano?

  6. #6
    Utente di HTML.it L'avatar di zoseppe
    Registrato dal
    Jan 2005
    Messaggi
    306
    dimenticavo la configurazione di Apache, è molto minimale...

    <VirtualHost *>
    DocumentRoot "/tua/directory/applicazione1"
    ServerName www.applicazione1.tuodominio.test
    </VirtualHost>


    <VirtualHost *>
    DocumentRoot "/tua/directory/applicazione2"
    ServerName www.applicazione2.tuodominio.test
    </VirtualHost>

    buon lavoro!

  7. #7
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    A me sembra che nel modo specificato da te, si venga a creare un ulteriore livello.
    In realtà posso dire di aver risolto, conscio di averlo fatto con una accozzaglia di tentativi.
    Resta un interrogativo non tanto sul Bind ma su apache.
    In realtà non ho ben capito il funzionamento del file 000-default, mi spiego:
    Se non sbaglio, i Virtual Host possono essere suddivisi in file di inclusione.
    I file di inclusione sono contenuti nella cartella sites-available mentre nella cartella sites-enabled ci sono i collegamenti simbolici a ciascuno di questi file.
    Pensando che aggiornare il file default in sites-available significasse anche aggiornare automaticamente il file 000-default in sites-enabled ho proseguito incappando in un mal funzionamento generale.

    Detto questo, ho anche notato che se vengono creati tanti file di inclusione per quanti sono i virtual host, al riavvio apache2, sforna degli "avvisi" sul NameVirtualHost o l'overlaps se questo non è specificato.. insomma, a me non sembra che questo sistema sia incoraggiante.
    Quindi ho messo tutto nel file default, ho dovuto aggiornare "a manina" il file 000-default (copia incolla del contenuto del file default), ho dovuto cancellare l'istruzione NameVirtualHost * nel file ports.conf, perchè altrimenti si andava a ripetere nel gioco delle inclusioni e alla fine mi ha funzionato tutto.

    Praticamente, ecco che tipo di architettura mi premeva testare:
    attraverso un servizio free di gestione dei DNS, disponibili su internet, ho scelto due indirizzi di test:
    subdomain1.domain.com
    subdomain2.domain.com
    dove domain.com è un'opzione forzata, resa disponibile dal fornitore del servizio di gestione del DNS

    All'interno del file /etc/bind/named.conf.local, ho aggiunto le seguenti istruzioni:
    zone "subdomain1.domain.com" {
    type master;
    file "/etc/bind/db.subdomain1.domain.com";
    };
    zone "subdomain2.domain.com" {
    type master;
    file "/etc/bind/db.subdomain2.domain.com";
    };

    All'interno del file (ex novo) /etc/bind/db.subdomain1.domain.com ho aggiunto queste istruzioni
    ;
    ; BIND data file for local loopback interface
    ;
    $TTL 604800
    @ IN SOA subdomain1.domain.com. hostmaster.subdomain1.domain.com. (
    13 ; Serial
    604800 ; Refresh
    86400 ; Retry
    2419200 ; Expire
    604800 ) ; Negative Cache TTL
    ; Negative Cache TTL
    ;
    @ IN NS subdomain1.domain.com.
    @ IN A 192.168.1.101


    All'interno del file (ex novo) /etc/bind/db.subdomain2.domain.com ho aggiunto queste istruzioni

    ;
    ; BIND data file for local loopback interface
    ;
    $TTL 604800
    @ IN SOA subdomain2.domain.com. hostmaster.subdomain2.domain.com. (
    13 ; Serial
    604800 ; Refresh
    86400 ; Retry
    2419200 ; Expire
    604800 ) ; Negative Cache TTL
    ; Negative Cache TTL
    ;
    @ IN NS subdomain2.domain.com.
    @ IN A 192.168.1.101

    dove 192.168.1.101 è l'indirizzo ip della macchina server dove girano le applicazioni web

    All'interno del file /etc/resolv.conf ho inserito la riga:

    nameserver 192.168.1.101

    All'interno del file /etc/hosts ho inserito le due righe:

    192.168.1.101 sito1.test
    192.168.1.101 sito2.test

    Infine ho eseguito i comandi:

    sudo /etc/init.d/bind9 restart
    sudo /etc/init.d/networking restart

    Fatto ciò, sono passato ad apache e sia all'interno del file default (in sites-available) che all'interno del file 000-default (in sites-enabled), ho inserito questo codice:

    NameVirtualHost 192.168.1.101:80

    <VirtualHost subdomain1.domain.com:80>
    ServerName subdomain1.domain.com
    ServerAdmin indirizzo@email.it
    DocumentRoot /var/www/sito1.test
    <Directory /var/www/sito1.test>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
    </Directory>
    </VirtualHost>

    <VirtualHost 192.168.1.101:80>
    DocumentRoot /var/www
    ServerName server1
    ServerAdmin indirizzo@email.it
    <Directory />
    Options FollowSymLinks
    AllowOverride None
    </Directory>
    <Directory /var/www>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
    AllowOverride None
    Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
    </Directory>

    ErrorLog /var/log/apache2/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/access.log combined
    ServerSignature On

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
    </VirtualHost>



    <VirtualHost subdomain2.domain.com:80>
    DocumentRoot /var/www/sito2.test
    ServerName subdomain2.domain.com
    ServerAdmin indirizzo@email.it
    DocumentRoot /var/www/sito2.test
    <Directory /var/www/sito2.test>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
    </Directory>
    </VirtualHost>


    Fatto questo, ho riavviato apache, ho impostato i DNS sulle altre macchine, impostato il ruter ed ora le applicazioni sono raggiungibili sia dall'interno della rete che dall'esterno attraverso gli indirizzi:

    http://subdomain1.domain.com
    http://subdomain2.domain.com

    Sono convinto che si possa fare molto meglio, questo esempio manca del reverse che ora testerò... ma se qualcuno sà come fare meglio tutta questa struttura, spero di poter avere notizie
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.