Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Un web server su un Linux virtualizzato

Come installare un'infrastruttura LAMP (Linux, Apache, MySQL, PHP) su un server Linux Debian virtualizzato con Virtualbox. Le istruzioni passo per passo per OS X
Come installare un'infrastruttura LAMP (Linux, Apache, MySQL, PHP) su un server Linux Debian virtualizzato con Virtualbox. Le istruzioni passo per passo per OS X
Link copiato negli appunti

In questo articolo vedremo come installare sulla nostra Linux Box un'infrastruttura server LAMP su una macchina virtuale, allo scopo di poterlo sfruttare per rendere accessibile remotamente il PC o per ospitare un piccolo sito personale.  LAMP (Linux Apache MySQL PHP/ Perl/Python) è l'acronimo che indica una delle configurazioni server più diffuse al mondo: Apache per consentire la gestione delle richieste HTTP inviate dai comuni browser, MySQL come database e PHP (talvolta sostituito da Python o Perl) per gestire la logica delle applicazioni (o applicazioni web).

Installeremo il web server utilizzando VirtualBox per la gestione delle macchine virtuali, ed adotteremo Debian 6 nella versione più scarna e minimale, dotata del minimo indispensabile per avviare le applicazioni sopra citate (non avremo la necessità, per esempio, di ambienti desktop). Con poche modifiche, inoltre, è facile utilizzare le istruzioni che seguono per installare un server LAMP su una macchina reale ben distinta.

Per rendere tutto il processo "windows-free" utilizzeremo come host di virtualizzazione OS X. Non entreremo, sarebbe al di fuori dell'argomento di questo articolo, nella procedura di configurazione di PHP o MySQL. Per questo potete fare riferimento alla Guida PHP su Linux o alla Guida MySQL.

Installare VirtualBox e creare la macchina virtuale

La prima cosa che dovremo fare sarà scaricare, dal sito ufficiale, l'ultima versione di VirtualBox, un programma di virtualizzazione in grado di fornire le risorse virtuali ad un sistema operativo (detto virtualizzato) di architettura x86, e che quindi ne consente l'esecuzione all'interno di un altro sistema operativo principale.

L'installazione di questo programma è molto semplice ed intuitiva e non richiede precisazioni. Una volta installato, potremo avviarlo e decidere se montare o no le immagini di uno o più sistemi operativi, eventualmente su più periferiche virtuali.

Figura 1: VirtualBox su OS X Lion
(clic per ingrandire)

Prima di procedere, però, scarichiamo Debian 6. Esistono diverse possibilità per l'installazione: Debian, infatti, può essere installato appoggiandosi ad una connessione ad internet, per poi selezionare tutti e soli i pacchetti utili. Ovviamente esiste anche l'opzione tradizionale, ma in tal caso il download richiede più tempo, dal momento che le immagini da scaricare dovranno contenere molti più pacchetti. Nel prosieguo, seguiremo il processo di installazione tramite internet, avendo scelto di scaricare l'immagine per un CD ridotto.

Una volta scaricata l'immagine, apriamo VirtualBox ed aggiungiamo una nuova macchina virtuale, cliccando sul pulsante New. Seguiamo i passi della procedura guidata, inserendo come nome "Debian 6" ed assegnando una RAM virtuale di circa 400 MB (va bene anche lasciare il valore consigliato). A questo punto ci verrà chiesto di creare un nuovo disco fisso virtuale, dove sarà installato il sistema operativo virtualizzato. Senza addentrarci troppo in questi dettagli, andiamo avanti lasciando tutte le impostazioni così come sono predefinite (vi verrà chiesto di dare un nome al vostro disco, ma questo è abbastanza irrilevante per i nostri scopi).

Alla fine della procedura guidata, avremo creato la macchina virtuale.

Figura 2:  La macchina virtuale (ancora vuota) è pronta per essere utilizzata
(clic per ingrandire)

Figura 2:  La macchina virtuale (ancora vuota) è pronta per essere utilizzata

Installare Debian 6 tramite internet

A questo punto, non ci resta che montare, su una periferica virtuale accessibile dalla virtual machine appena creata, l'immagine del sistema operativo che abbiamo scaricato. Per farlo, clicchiamo con il tasto destro sul nome della macchina virtuale, e selezioniamo la voce Settings…. Qui andiamo alla scheda Archiviazione e, alla voce Controller IDE, clicchiamo sull'icona a forma di CD e selezioniamo un file dal disco. Per semplicità, la schermata di riferimento è mostrata in figura 3.

Figura 3: Montare l'immagine del sistema operativo sulla periferica virtuale
(clic per ingrandire)

Figura 3: Montare l'immagine del sistema operativo sulla periferica virtuale

Una volta selezionata l'immagine, clicchiamo su OK ed avviamo la macchina virtuale, selezionando il pulsante Start. In questo modo si avvierà la procedura di installazione di Debian, che per nostra fortuna è abbastanza semplice. L'unica cosa cui dobbiamo prestare attenzione è la scelta dei pacchetti che ci interessa installare per il nostro server LAMP.

Dopo l'installazione del sistema di base, ci verrà chiesto di scegliere il mirror da cui scaricare i pacchetti aggiuntivi. Scegliamo la voce Italia, ed uno a scelta tra i mirror disponibili (noi abbiamo scelto ftp.it.debian.org, ma in linea di massima uno vale l'altro). A questo punto, dopo lo scaricamento di alcuni pacchetti di default, ed altre operazione che l'installar gestisce automaticamente, verrà visualizzata una lista di configurazioni predefinite (che è un'opzione decisamente preferibile alla selezione manuale dei singoli pacchetti). La configurazione che fa esattamente al caso nostro è Server web. Selezioniamola, premendo la barra spaziatrice dopo esserci posizionati sulla voce corrispondente, e scegliamo con essa anche l'opzione Utilità di sistema standard (che può sempre essere utile, come mostrato in figura:

Figura 4: Installazione di Debian 6: selezioniamo solo i pacchetti che ci interessano
(clic per ingrandire)

Figura 4: Installazione di Debian 6: selezioniamo solo i pacchetti che ci interessano

Selezionate le voci, premiamo il tasto Invio per proseguire con l'installazione. Dopo il download e l'installazione dei pacchetti, non resta che installare le ultime componenti del nostro server virtuale: MySQL e PHP. PHP viene installato automaticamente utilizzando l'impostazione Server Web, ma è sempre bene verificare che ci siano tutti i componenti necessari a gestire un sito con questo linguaggio.

Debian, come tutti i sistemi basati su questa distribuzione, dispone di uno strumento molto utile per l'installazione dei pacchetti presenti sui repository ufficiali: apt. Usiamolo per installare MySQL:

$ su
# apt-get install mysql-server

E per installare PHP con tutti i pacchetti aggiuntivi:

$ su
# apt-get install libapache2-mod-php5 libapache2-mod-perl2 php5 php5-cli php5-common php5-curl php5-dev php5-domxml php5-gd php5-imap php5-ldap php5-mcal php5-mhash php5-mysql php5-odbc php5-pear php5-xslt

Alla fine, dovremmo avere installato tutto ciò che ci serve per utilizzare il nostro server LAMP. Vediamo adesso come utilizzare praticamente gli strumenti appena installati.

Un mini-sito statico sul server virtuale

Apache risponde alle richieste HTTP riferendosi ad una directory del server in cui vengono salvate tutte le risorse accessibili. Per prima cosa, quindi, dobbiamo rintracciare questa directory all'interno del sistema appena installato. Avendo installato Apache contestualmente all'installazione di Debian, la directory in questione sarà /var/www, e al suo interno troveremo una pagina HTML di test (index.html). Basterà aggiungere file o pagine web a questa directory, per poi potervi accedere tramite un comune browser web.

A questo punto, non resta che rendere accessibile dall'esterno la directory del server appena identificata. Per farlo, chiudiamo momentaneamente la virtual machine e, su VirtualBox, selezioniamo il nostro server virtuale. Apriamo, quindi, nuovamente i Settings ma, questa volta, alla scheda Rete, assicuriamoci che la voce Connessa a: sia valorizzata con l'opzione Scheda con bridge. In questo modo potremo associare alla macchina virtuale un indirizzo IP locale diverso da quello delle altre macchine connesse al router. In altre parole, per il router (e per la rete) il nostro server apparirà come una macchina reale e distinta dal PC su cui, in realtà, è eseguito in modo virtualizzato.

Figura 5: Configurazione della scheda con bridge per il server virtuale
(clic per ingrandire)

Figura 5: Configurazione della scheda con bridge per il server virtuale

Riavviamo, ora, la macchina virtuale. Dopo avere effettuato il login, digitiamo da terminale il comando:

ifconfig

e cerchiamo l'indirizzo IP che il router ha associato al nostro server. Supponiamo, ad esempio, che sia 192.168.1.10. Spostiamoci, a questo punto, su un browser del PC su cui sta girando VirtualBox, e digitiamo sulla barra degli indirizzo la URL:

http://192.168.1.10

Se tutto è andato bene, riusciremo a visualizzare la pagina web index.html, che avevamo precedentemente trovato all'interno di /var/www.

Conclusioni

A questo punto, capiamo quanto sia semplice condividere file con altri computer della rete, ovvero con tutti gli utenti del Web (configurando opportunamente il NAT sul nostro router, in modo da rindirizzare le connessioni in entrata alla porta 80 verso l'indirizzo IP locale del server virtuale). Copiando i file che rappresentano un sito web (o qualsiasi altro documento che si vuole condividere) all'interno di /var/www , sarà sufficiente digitare su un qualsiasi browser una URL simile alla seguente (con riferimento all'indirizzo IP d'esempio usato in precedenza):

http://192.168.1.10/LaMiaDirectory/fileEsempio.jpeg

Figura 6: Un esempio pratico
(clic per ingrandire)

Figura 6: Un esempio pratico

Ovviamente esistono anche metodi alternativi e molto più efficienti per la condivisione dei file. Ma un piccolo server LAMP virtuale potrebbe essere un ottimo compromesso per chi non può (o non vuole) permettersi l'hosting tramite servizi a pagamento, magari accontentandosi delle risorse relativamente limitate che una rete domestica e un PC possono offrire.

Ti consigliamo anche