Archivi per la categoria ‘Server’

Impostare BIND: DNS locale su Leopard.

giovedì, 19 marzo 2009

dns Impostare BIND: DNS locale su Leopard.Premetto che non so che cosa ho fatto di preciso, ma giuro a me stesso che approfondirò questo argomento, anche perchè pare funzionare alla grande!

Molto spesso ci capita di lamentarci della lentezza delle nostre connessioni a banda larga, ma non sempre tutto questo è dovuto al brand del fornitore di servizi internet, o meglio, solo in parte.

Occhio che sto per scrivere una frase riscrita milioni di volte negli anni: ad ogni indirizzo web corrisponde un indirizzo IP quindi scrivere nella barra indirizzi del browser http://www.google.com o http://74.125.43.103/ è esattamente la stessa cosa, ma col vantaggio che il caricamento del secondo indirizzo sarà più immediato del primo.

Se moltiplichiamo tutti i piccoli ritardi accumulati nel surfing giornaliero ci accorgiamo che clicka di qua e clicka di là, alla fine della giornata abbiamo passato 1/5 del nostro tempo aspettando il caricamento delle pagine (stima un tantino esagerata, comunque, dai, fate i bravi, un bloger deve esagerare, è risaputo! Lo fanno tutti i blog fighi).

In pratica se ci ricordassimo l’indirizzo IP di tutti i siti che frequentiamo saremmo a cavallo, ma dovremmo anche linkare i siti inserendone l’IP e poi….insomma, sarebbe un’incubo! E’ qui che ci vengono incontro i server DNS (Domain Name System), che memorizzano per noi tutte le coppie NomeDominio-IP presenti nel WEB. Ogni ISP consiglia i suoi server DNS, una massa incolore di nerd pseudo-geek spinge per l’adozione in massa dei famosi OpenDNS (che ogni tanto rallentano talmente tanto la navigazione da ricordare i “vecchi tempi”…..ma è solo un’esperienza personale, in giro c’è gente entusiasta).

Quello che qui mi accingo a descrivere è l’impostazione di un Servizio di Domain Name proprio sul nostro mac, in modo che le coppie nome-numero vengano memorizzate in locale, per un accesso praticamente istantaneo, senza interrogare DNS esterni, che devono poi interrogare altri DNS e così via.

Cominciamo allora, per me ha funzionato, poi magari cercherò pure di capire cosa ho fatto icon biggrin Impostare BIND: DNS locale su Leopard.

Creiamo prima di tutto una chiave rndc col seguente comando in terminale

$ sudo rndc-confgen -a

ci verrà richiesta la password da amministratore e la inseriremo. Fatto il primo passo, ora, visto che abbiamo il terminale aperto e la maggior parte del lavoro va fatto qui, usiamo anche l’editor di testo nano così poco preso in considerazione, in modo da far tutto nel terminale.

Prima trasformiamoci nell’onnipotente root

$ sudo su -

Inseriamo la nostra password

$ cd /System/Library/StartupItems

$ mkdir BIND
$ cd BIND
$ nano -w BIND

Ora siamo in nano e stiamo creando il file BIND che riempiremo con le seguenti righe:

#!/bin/sh

. /etc/rc.common

if [ "${DNSSERVER}" = "-YES-" ]; then
ConsoleMessage “Starting BIND DNS Server”
/usr/sbin/named
fi

Chiudiamo con ctrl-X e salviamo il file con Y e poi INVIO. Ora ci serve un’altro file, che prontamente andremo a creare:

$ nano -w StartupParameters.plist

aggiungendo queste righe:

{
Description = “Local DNS”;
Provides = (”DNS Server”);
OrderPreference = “None”;
Messages =
{
start = “Starting DNS Server”;
stop = “Stopping DNS Server”;
};
}

Rendiamo il file eseguibile:

$ chmod +x BIND

E assicuriamoci che si avvii ad ogni reboot del mac:

$ nano -w /etc/hostconfig

E aggiungiamo questa riga alla fine, se non esiste già:

DNSSERVER=-YES-

Se esiste già nel file avrà valore -NO-, quindi cambiamo -NO- con -YES- ed abbandoniamo la condizione di root:

$ exit

Ora lanciamo il nostro script:

$ sudo /System/Library/StartupItems/BIND/BIND

Adesso possiamo uscire dal terminale, abbiamo attivato il servizio locale di DomainName BIND, ma non è ancora finita, perchè dobbiamo utilizzarlo:

andiamo in Preferenze > Network
Cancelliamo i DNS presenti e inseriamo 127.0.0.1.

FATTO!

Per verificare che il DNS in uso sia effettivamente quello locale ricorriamo nuovamente al terminale:

$ nslookup www.apple.com
Server:        127.0.0.1
Address:    127.0.0.1#53

Non-authoritative answer:
www.apple.com    canonical name = www.apple.com.akadns.net.
Name:    www.apple.com.akadns.net
Address: 17.149.160.10

Sinceramente ho notato un miglioramento che definirei bestiale, davvero non me l’aspettavo!

[Fontissima!]

Trasformare il Mac Mini in un Server, con tanto di supporto PHP e MySQL: MAMP

sabato, 28 febbraio 2009

2672478595 551bb54fe4 Trasformare il Mac Mini in un Server, con tanto di supporto PHP e MySQL: MAMPSono anni, ma dico anni, che una delle vocine che affollano la mia testa mi dice di impostare un server a casa. E sono anni, ma dico anni, che rispedisco quella vocina nei meandri più remoti della scatola cranica, tanto che dopo secoli di opportunità avute quando su tutte le mie macchine girava linux (tutti continuano a dire che linux è la miglior piattaforma su cui far girare un server), mi son deciso a realizzare qualcosa di vagamente somigliante ad un server proprio quando le mie macchine son tutte Apple, eccetto che per l’EEEpirlotto che di fare il server non ne vuol sapere (eppure gliel’ho chiesto gentilmente!).

Insomma, grazie agli spippolamenti che si sono resi necessari per la realizzazione di questo blog, specialmente in seguito ai recenti spostamenti “forzati” dalla morte di HelloWeb, mi son reso conto di aver approfondito le mie conoscenze tecniche riguardanti il lato prettamente SQL e PHP di un sito come questo.

Un attimo, non sono mai stato e credo che non sarò mai un programmatore, direi che “smanettone” sia il termine che sempre meglio di qualunque altro descriverà perfettamente la mia identità informatica: quella di colui che CopIncolla pezzi di WEB in altrettanti pezzi di codice locale, il più delle volte incrociando le dita (quanto è difficile usare il mouse e la tastiera!) e non avendo la benchè minima idea di quel che sta facendo.

OK, ottima premessa, proseguiamo!

Leopard ha già implementato al suo interno un server Apache dormiente ed un sacco di altre cosine che semplicemente andrebbero risvegliate, basterebbe installare MySQL per avere un server funzionante, ma il terminale sarebbe quasi l’unica risorsa, sia per l’installazione che per l’impostazione (ORROREEEE!!!).

Per non sputtanare completamente un sistema già di suo abbastanza compromesso dagli smanettamenti di anni, ho deciso per l’uso di MAMP Pro, un ambiente di sviluppo a sè stante, munito di una comoda interfaccia grafica per l’avvio dei vari servizi, che crea un server separato da tutto ciò che è il sistema.

Davvero in 2 click ero on-line e pronto per installare WordPress sulla mia macchina, ponendo i files html o php nella directory /Applications/MAMP/htdocs, che diventa la localhost. Si può avere la prova della presenza on-line accedendo al proprio indirizzo IP con un browser; io, per avere la certezza matematica che nulla che fosse presente nella mia rete domestica interferisse con questo, ho effettuato l’accesso con l’eeePC, connesso in HSDPA mediante la mitica Huawei E169.

Una veloce ricerca su Google ci farà notare quanto la blogosfera sia ottusa: i vari “copincollaggi” da un blog all’altro mettono gente idiota nelle condizioni di parlare di software che non ha mai usato e di cui ha letto qualcosina; infatti tutti ci presentano questo software come una piattaforma destinata ad un uso esclusivamente locale, per provare ad installare un nuovo plugin su WordPress per rodarlo, prima di installarlo sul proprio blog, per esempio, oppure per provare uno script PHP di dubbia provenienza.

NULLA DI PIU’ LONTANO DALLA REALTA’! Il server di cui parliamo è un server completo in tutto e per tutto e ci permette di avere un sito in locale, del quale si possono aprire le porte per la visione da parte del mondo del fottuto WorldWideWeb!

Ma in che maniera un amministratore “casalingo” può ottenere di avere un sito web nel computer di casa, che sia visibile dall’esterno, a meno di non comunicare a tutto il mondo il suo indirizzo IP ogni volta che riavvìa il router? Infatti la maggior parte di noi ha una connessione con indirizzo IP dinamico; nulla di più semplice che l’utilizzo del servizio gratuito di DynDNS, sito che si occupa di abbinare un nome a dominio, scelto tra quelli disponibili sul sito stesso, al proprio indirizzo IP, costantemente aggiornato con svariati sistemi, come per esempio un comodo updater installato sulla macchina che avvìa un demone che comunica a DynDNS il proprio indirizzo IP ad intervalli di tempo decisi dall’utente. Nel mio caso ho la fortuna di avere un router che gestisce gli account DynDNS, quindi è lo stesso router che comunica al sito il mio IP, ogni volta che si riavvìa, senza demoni in giro per la mia RAM e la mia rete domestica.

L’indirizzo relativo al mio blog “locale”, per esempio, è http://bigo72.is-a-geek.com e, per quanto pittoresco, non è che sia decisamente ….. “professionale”, ma purtroppo DynDNS mette a disposizione solo un elenco abbastanza … come dire….”dissacrante”?

OK, a questo punto sono online, ma quel nome a dominio proprio non mi piace! Ecco che interviene il concetto di CNAME all’interno del pannello configurazione di un nome a dominio: in pratica basta l’acquisto di un dominio ed il forward del traffico dati di un altro dominio attraverso di lui, mediante la creazione di un record CNAME che punti al dominio DynDNS e il gioco è fatto: è per questo che con grande orgoglio voglio annunciare la nascita di http://www.bigo72.com

Per l’acquisto del nome a dominio consiglio NameCheap.com, di facile gestione e con prezzi davvero vantaggiosi.

Per ora è tutto, visto che per il momento sono ancora in “rodaggio” cerco di tenermi buono e caro questo spazio, con questo indirizzo, prima di trasferirmi completamente: quel blog rimarrà una brutta copia di questo per il momento, fino a quando non sarò sicuro di poterlo gestire in piena consapevolezza di ciò che faccio (quello che ho ottenuto fino ad ora è un “coso” che funziona, ma non so esattamente come ci sono riuscito!).

Certamente lo stile del presente articolo è ben lungi dall’assomigliare ad una “guida” o “tutorial” su come impostare un server in casa propria, ma credo fornisca abbastanza spunti per orientarsi nelle scelte da effettuare qualora si volesse intraprendere questa strada…..il resto è su Google icon biggrin Trasformare il Mac Mini in un Server, con tanto di supporto PHP e MySQL: MAMP