Home Apple Un web server fatto in casa

Un web server fatto in casa

Vi state dilettando con un blog ospitato su un servizio gratuito ma
volete provare a costruire qualcosa di più complesso? Siete degli
smanettoni e non vi accontentate di usare un servizio preconfezionato?
Il vostro sogno è quello di fare da grandi i webmaster o i web designer?
Avete una connessione a banda larga molto veloce e volete accedere a
documenti o piccoli servizi della vostra rete domestica anche a
distanza?
I motivi che possono spingere un utente a creare un
piccolo web server domestico sono tanti: voglia di scoprire l’ignoto,
voler risparmiare sulla spesa di gestione di un costoso server a
noleggio, bisogno di condividere alcuni file personali attraverso
Internet ma mantenendoli in sicurezza all’interno della propria rete
domestica… e chi più ne ha più ne metta.
Nel caso di un web server,
può trattarsi di uno sfizio quanto di un utile compagno di lavoro o di
studio. Non serve necessariamente un computer vecchio da riciclare,
qualora il servizio vi serva occasionalmente e non attivo 24 ore su 24,
ma il tutorial che stiamo per presentarvi può venire incontro alle
esigenze di ogni tipo di utente, sia che vogliate mantenere attivo un
sito web direttamente da casa sia che il vostro scopo sia lavorare su
CMS o pagine web da voi create sperimentando i linguaggi web più
diffusi.

Un po’ di teoria
Circa il 70
percento dei siti web che visitate ogni giorno sono gestiti da una
piattaforma che prende il nome di Apache HTTP Server (o comunemente
Apache). Questa “applicazione” funziona sui sistemi operativi UNIX
(quindi Mac OS X), Linux e Windows e consente di gestire gli indirizzi
Internet di un sito web e il relativo traffico di pagine web, immagini e
file in genere che un utente richiama ogniqualvolta si collega
utilizzando il suo browser.
Fino a qualche anno fa, quando i siti
Internet erano più che altro composti da pagine statiche legate tra loro
attraverso collegamenti ipertestuali, per eseguire un web server era
sufficiente un’installazione di Apache che si occupava del dialogo tra
computer remoto e computer locale. Con l’evoluzione di Internet non è
più sufficiente il solo Apache ed è opportuno associare a questa
piattaforma un intero ecosistema di strumenti necessari per il
funzionamento completo di questa complessa architettura.
Oltre alle
pagine statiche, comunemente realizzate con il linguaggio HTML, al
giorno d’oggi buona parte dei siti web sono realizzati attraverso
linguaggi di programmazione dedicati appositamente a Internet. Uno dei
più noti, grazie anche alla natura open source del progetto, è il PHP o
PHP: Hypertext Preprocessor (un esempio di codice PHP è visibile nella figura), che
consente di sviluppare pagine dinamiche, ovvero il cui contenuto può
cambiare in base a una serie di variabili che l’utente visitatore ha
modo di selezionare per richiedere al web server, che fa da interprete, i
dati a cui è interessato.

Se le pagine HTML, statiche, contenevano
al loro interno codice, aspetto grafico e contenuti, nel caso di PHP le
pagine hanno una struttura analoga a quelle delle pagine statiche ma i
contenuti possono variare anche all’interno di una pagina stessa: un
esempio può essere rappresentato dal numero di visitatori, l’elenco dei
commenti in una discussione che può gradualmente aumentare e molto
altro, tutto gestito lato server senza l’intervento manuale di un
amministratore che debba aggiornare la pagina (statica) come in passato.
Un
ulteriore livello per la gestione dei dati per un web server è quello
della “base dati”, o più semplicemente del database. Se il codice HTML
rappresenta l’impalcatura e PHP il linguaggio che consente di ricreare i
contenuti, per poter offrire a un utente la pagina finita è necessario
che un ulteriore elemento del server invii, su richiesta, i dati
necessari per riempirla di testi e ulteriori informazioni. Queste ultime
sono appunto catalogate in un database che può essere idealmente
rappresentato come una tabella o un foglio di calcolo di Excel.
Per
fare un esempio molto sintetico, sulla pagina 1 (il cui numero può
essere quindi un identificativo di pagina, o ID) troveremo tanti dati
nella riga 1 del database quante sono le colonne riempite. Una potrebbe
essere il titolo di pagina, un’altra il nome dell’autore, un’altra
ancora il contenuto e così via. Il database è quindi la raccolta delle
informazioni che vengono catalogate e conservate per essere poi
proposte, su richiesta dell’utente, tramite il server Apache e
interpretate dal linguaggio PHP per essere offerte come semplici pagine
web.
Per velocizzare questa serie di operazioni esistono ulteriori
strati di elaborazione, che consentono di ridurre il carico di lavoro
del computer server evitando di eseguire operazioni ridondanti: è il
caso degli strumenti di caching, che si occupano di conservare in
memoria le richieste da parte degli utenti che potrebbero essere
riproposte in seguito a nuovi visitatori.
Ci sarebbe in effetti molto
altro da illustrare, come immaginano i più smanettoni, ma per lo scopo
di questo articolo possiamo fermarci qui.

Perché MAMP
Se
non vi siete persi nella descrizione teorica, possiamo andare al
nocciolo della questione: per realizzare un web server come si deve non
basta installare una “applicazione” perché non è in grado, da sola, di
fare tutto. Un web server è composto da una serie di elementi modulari
che integrati fra loro consentono di mettere in moto tutto ciò che serve
per visualizzare, gestire e mantenere perfettamente funzionante un sito
web dei giorni nostri.
Le soluzioni che ci troviamo ad affrontare
sono quindi due: installare ogni singolo elemento a mano o utilizzare
uno dei comodi strumenti all-in-one che racchiudono in un unico
pacchetto tutto ciò che ci serve. Proprio per questo ci occuperemo di
MAMP.
MAMP, che abbiamo già trattato velocemente in precedenti numeri
di Applicando, è una sigla che sta per Macintosh, Apache, MySQL and
PHP, e denomina uno dei web server “tutto in uno” più usati nel mondo
Mac, se si escludono le installazioni di Mac OS X Server. All’interno di
questa comoda “applicazione” sono stati integrati Apache, l’interprete
PHP nelle versioni più utilizzate, il database MySQL, moduli per la
gestione della cache dei comandi PHP e delle pagine web, strumenti di
configurazione e altre appendici utili per la gestione dinamica e la
trasformazione di immagini, font, compressione di file e dati.
MAMP è
una piattaforma completa, ma esclusivamente per un uso “limitato”.
Nasce infatti per gestire perlopiù piccoli siti web, intranet aziendali,
server domestici o di lavoro, sia per professionisti sia per studenti
alle prime armi. Oltre all’edizione gratuita è infatti offerta una
versione a pagamento, più completa e adatta a un pubblico più esperto.
Ciò che cambia, fondamentalmente, è la possibilità di gestire più
indirizzi web all’interno di un unico server attraverso la formula del
“virtual server”. Nel caso della versioni gratuita invece, potrete
gestire un solo sito web o comunque più siti ma aventi lo stesso
indirizzo (nomesito.it ed eventuali nomesito.it/sito1,
nomesito.it/sito2, eccetera).
La scelta di acquistare l’eventuale
licenza di MAMP Pro, che costa 39 euro, dipenderà esclusivamente dalle
vostre esigenze dopo la prima configurazione del vostro web server.
Nella quasi totalità dei casi vi basterà una delle installazioni
gratuite.

La prima configurazione
Per prima
cosa è necessario scaricare il file di installazione dal sito ufficiale
(www.mamp.info). Nella home page sono presenti i riferimenti a MAMP e
MAMP PRO, è sufficiente cliccare su Download now per ottenere
entrambe le versioni: le funzionalità PRO verranno eventualmente
sbloccate inserendo, successivamente, il codice di licenza del prodotto a
pagamento.

Dopo aver decompresso il file Zip appena scaricato, è
sufficiente eseguire l’installazione con un doppio clic sul file
MAMP_MAMP_PRO_2.1.2 (quando leggerete questa guida il numero di versione
potrebbe essere diverso) e seguire la procedura d’installazione a
schermo. Non è necessario intervenire in alcun modo, basta accettare la
licenza d’uso e praticamente cliccare su Continua fino al termine della procedura. Al termine sarà sufficiente cliccare su Chiudi.
Tra
le Applicazioni del Mac troverete quindi due nuove cartelle, MAMP e
MAMP PRO, che racchiudono gli eseguibili per avviare le corrispettive
versioni del web server e delle funzionalità legate. Potete
tranquillamente ignorare MAMP PRO fino a quando non deciderete di optare
per l’acquisto di una licenza, in ogni caso tutti i dati e le
configurazioni gestiti con la versione gratuita verranno automaticamente
importati nell’edizione a pagamento. Dalla cartella MAMP quindi
eseguite l’omonima applicazione. Contemporaneamente alla visualizzazione
del pannello di stato, si aprirà una finestra del browser con
l’interfaccia configurazione web di MAMP. La pagina principale è stata
erroneamente localizzata con il nome di Avvia (in inglese era Start) e
mostra le informazioni base dei servizi connessi: il collegamento alla
pagina informativa sulla configurazioni di PHP, i dati d’accesso per il
server MySQL (il database) e alcune stringhe di codici utilizzabili per
collegarvi a esso realizzando un vostro script.
Prima di focalizzarci
sulla configurazione via browser, torniamo ad analizzare la finestra
dell’applicazione “base”. Questa è divisa in due colonne: sulla sinistra
sono presenti fondamentalmente due semafori che vi informano sullo
stato dei due server avviati sulla vostra macchina, quello web e il
database. Qualora dovesse verificarsi un malfunzionamento o una
interruzione a uno dei due server, sarà facile notarlo grazie alla spia
rossa che vi avviserà. Sulla destra è presente un collegamento alla
pagina di acquisto di MAMP PRO, un pulsante per arrestare/avviare il
server, un collegamento alla pagina di configurazione (quella aperta
prima), le Preferenze e il tasto Esci, che chiude il server in
esecuzione e l’applicazione MAMP.
La sezione Preferenze è
indubbiamente quella più importante dell’intera applicazione, anche se
apparentemente sono presenti poche impostazioni personalizzabili. Dalla
sezione Avvia/Arresta è possibile: scegliere se avviare automaticamente
il server quando lanciate l’applicazione MAMP e il contestuale arresto
dello stesso alla chiusura; la verifica dell’esecuzione di MAMP PRO
(utile solo se avete acquistato una licenza); infine, quale indirizzo
del vostro server deve essere aperto (e se deve essere aperto) all’avvio
dell’applicazione.

Tralasciamo per un istante la scheda Porte per
focalizzarci su PHP, in cui è possibile scegliere la versione del
linguaggio più adatta alle web application che intendete utilizzare
(alcune, meno aggiornate, potrebbero non funzionare con quella più
recente) e il tipo di sistema di caching che intendete utilizzare: i più
usati sono APC e XCache, ma tutto dipende anche in questo caso dal tipo
di applicazioni PHP che svilupperete o utilizzerete. Infine nella
sezione Apache potete impostare la cartella in cui sono contenute le
pagine del vostro web server, di default presenti nella sottocartella
“htdocs” di MAMP.
Nella sezione Porte, mantenendo la configurazione
standard, saranno impostate la 8888 per il web server e la 8889 per il
database. Non si tratta di quelle tipicamente utilizzate da un server di
produzione, ma sono state scelte dal team di sviluppatori per
consentire di lavorare in locale senza aprire inavvertitamente
all’esterno le pagine su cui siete impegnati. In qualsiasi momento,
semplicemente cliccando su Imposta porte base per Apache e MySQL
verranno correttamente configurate le porte 80 e 3306 che non
richiederanno, specie per il database, la configurazione manuale delle
applicazioni che installerete sul web server per indicare quella
alternativa non standard.
Per vedere in funzione quanto avete creato,
nel vostro browser digitate l’indirizzo “http://localhost:8888” (se non
avete modificato la porta di Apache) e visualizzerete una pagina bianca
in cui troverete scritto solo “Index of /”. Ciò sta a indicare che
nella cartella “htdocs”, in cui dovrebbero poi essere caricate le vostre
pagine HTML, PHP, immagini e quant’altro, al momento non c’è nulla.

___________________________________________________

Continua la lettura su Applicando Magazine per avere informazioni su come gestire i database con phpMyAdmin e vedere le principali differenze tra MAPM e MAPM PRO.
Clicca qui per scaricare l’applicazione gratuita Applicando+ Puoi acquistare la
rivista e leggerla e conservarla sul tuo iPad.

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome

Se questo articolo ti è piaciuto e vuoi rimanere sempre informato sulle novità tecnologiche
css.php