Server virtuali con Webmin

Il cuore di Apache

La configurazione del Server avviene attraverso file di testo nei quali vengono definite alcune direttive. Il file principale si chiama apache2.conf ed è posizionato nella cartella /etc/apache2. La configurazione di default è sufficiente a far funzionare il Server, ma agendo su questo file possiamo cambiare le porte di ascolto, scegliere i singoli moduli che vengono caricati (e che permettono di accedere a funzionalità non messe a disposizione dal sistema di base) e impostare i Virtual Host.

Iniziamo proprio dalla gestione di questi ultimi che è uno degli aspetti più importanti. All’interno del file di configurazione principale vengono specificati, attraverso un adirettiva “Include” il o i files relativi alla gestione dei server virtuali (è necessario che siano comprensivi di percorso). In genere tale file sono posizionati nella cartella /etc/apache2/sites-enabled. All’interno di questa, nella configurazione base, è presente è presente un solo file con nome “default”.

La prima direttiva è VirtualHost che definisce il nome del server virtuale a cui devono seguire tutte le impostazioni che lo caratterizxzano. Tale valore di default è un asterisco * con cui si indicano tutte le possibili configurazioni, ma può assumere un nome FQDN (Fully Qualified Domain Name) o un indirizzo IP. Il primo è sicuramente molto complesso da gestire e richiede la presenza di DNS e di domini registrati, mentre l’indirizzo IP è decisamente più pratico. Usando gli indirizzi IP si possono gestire, senza fatica, più server con lo stesso computer, infatti ad una scheda di rete possono essere assegnati più indirizzi che, se opportunamente “gintercettati” dalla direttiva VirtualHost, possono gestire altrettanti siti web.

Subito dopo segue la direttiva ServerAdmin che definisce l’indirizzo e-mail dell’amministratore, al quale vengono inoltrate tutte le comunicazioni importanti da parte di Apache. E’ molto importante che sia configurato correttamente, poichè ogni messaggio che contiene una breve descrizione del problema, permette di intervenire molto più rapidamente per risolvere eventuali problemi. DocumentRoot, indica, invece, la directory dove vengono posizionati i file che costituiscono il sito web relativo al server virtuale. Ovviamente ogni server virtuale deve avere deve avere la propria directory. Il valore di default è var/www e al suo interno è posizionato il file index.html, che altro non è che la pagina di test caricata in precedenza.

Infine, troviamo la direttiva Listen che definisce la porta sulla quale il server virtuale si mette in ascolto (dove atende le richieste da parte di client, i browser insomma). Il valore di default è quello del protocollo HTTP ovvero 80, ma è anche possibile usare un numero diverso. Per aggiungere un server virtuale o più di uno, basta copiare il file default e modificarlo (chiamiamolo, ad esempio, virtual1) in base alle proprie esigenze, oppure crearne uno da zero con una struttura simile a quella seguente:

<VirtualHost 192.168.1.2>
DocumentRoot “/home/pino/www/”
<Directory /home/pino/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorDocument 404 “Il file richiesto non è disponibile”
</VirtualHost>

Questo server virtuale, in particolare, risponde all’indirizzo IP 192.168.1.2 e ha la Document Root in /home/pino/www. In pratica, con i due file di configurazione quello default e virtual1, Apache fornirà i file HTML (quindi pagine web o interi siti) contenuti nella cartella /var/www se interrogato all’indirizzo localhost (o 127.0.0.1 che è lo stesso), mentre passerà all’altro server virtuale nel caso in cui la richiesta giunga sull’indirizzo IP 192.168.1.2.

Gestione Apache con Webmin

Configurare Apache manualmente non è proprio semplice. Per questo motivo sono disponibili alcuni strumenti grafici per semplificare queste operazioni. Alcune distro, addirittura, offrono strumenti specifici (openSUSE lo fa con Yast) ma, esistono soluzioni che funzionano su tutte le distribuzioni. Uno di questi è Webmin (www.webmin.com). Questo software mette a disposizione uno strumento di amministrazione via interfaccia web che permette di configurare rapidamente ogni aspetto del sistema, e tra questi ce n’è uno specifico per Apache. Per installarlo, scarichiamo il pacchetto webmin-1.441.tar.gz http://prdownloads.sourceforge.net/webadmin/webmin-1.441.tar.gz ed esguiamo le seguenti operazioni:

tar xvfz webmin-1.441.tar.gz
cd webmin-1.441
sudo ./setup.sh

Lo script di installazione pone alcune domande alle quali è necessario prestare molta attenzione: bisogna indicare la cartella dove installare l’applicativo, i file di configurazione e, cosa molto importante, il nome utente e password necessarie per accedere all’interfaccia di gestione. Al termine dell’installazione possiamo scegliere se eseguire Webmin in automatico al boot, oppure manualmente. In quest’ultimo caso il comando è (sempre da root) /etc/init.d/webmin start (stop per arrestarlo). Una volta avviato, apriamo il browser e colleghiamoci all’indirizzo http://localhost:10000. A questo punto, apparirà la schermata di autenticazione, dove dobbiamo inserire utente e password appena scelti. Per poter gestire Apache andiamo su “Servers” e poi “ApacheWebserver”.

Nuovo server

Per creare un nuovo server virtuale selezioniamo “Create virtual host” e indichiamo l’indirizzo IP al quale deve rispondere in “Specific address”.

Directory radice

Può essere indicata manualmente nel campo DocumentRoot, o selezionata graficamente premendo il tasto contrassegnato dai tre puntini. Le altre opzioni possono essere lasciate invariate, dopodichè basta premere “Create Now” per salvare la configurazione.

Tutti i server

Nella pagina principale appariranno tutti i server virtuali, compreso quello appena creato.

Share Button

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *