Skip to main content

Creare un webserver locale

Per un webdesigner, esistono svariate occasioni in cui si rende necessario un ambiente di test dove provare un sito senza renderlo pubblico. Questo vale innanzitutto per tutta la fase di realizzazione del sito, ma anche durante una fase di demo verso il cliente, nonchè nel caso vogliamo lavorare su qualche modifica al sito ma senza interferire con il buon funzionamento delle pagine pubblicate.

Se abbiamo la fortuna di avere un server dedicato o un provider comprensivo che ci mette a disposizione un ambiente di test, possiamo cavarcela così. Ma per molti questa non è una opzione disponibile o comunque non è la preferita, per cui risulta comodo avere un webserver locale sul proprio PC.

Vediamo come si può fare.

Vantaggi

Un webserver locale ha diversi vantaggi:

  • ci permette di lavorare e testare un sito senza essere necessariamente connessi a Internet
  • offre delle ottime prestazioni, quindi aumentando la nostra efficienza mentre proviamo le modifiche
  • esclude problematiche legate a firewall, problemi di rete o di configurazione su server a cui non abbiamo accesso
  • ci permette di avere in un punto unico diversi progetti, senza dover accedere continuamente a server diversi nella fase di sviluppo

Ovviamente tutto questo deve essere tenuto presente quando poi pubblicheremo il sito: ad esempio, non è possibile aspettarsi le stesse prestazioni da un sito acceduto via Internet rispetto allo stesso sito acceduto in locale, e prima o poi dovremo fare i conti con firewall, problemi di rete o di configurazione.

Svantaggi

Lo svantaggio principale di un sito locale è proprio la difficoltà nel mostrarlo a qualcun altro. Se abbiamo a disposizione uno spazio web pubblico, possiamo dargli un nome “temporaneo”, condividerlo con i soli addetti e poter visualizzare insieme le modifiche. Un sito locale, invece, potrà essere mostrato solo portando fisicamente noi e il nostro portatile dal cliente (salvo che siate abbastanza bravi da impostare il vostro portatile come un server pubblico, ma in tal caso non avete bisogno di leggere questo articolo).

Webserver

Il webserver vero e proprio è il software che si occupa di prendere dei file e pubblicarli come pagine web. I due webserver più famosi sono Apache e IIS. Il secondo è disponibile solo su ambiente Windows. In senso esteso, si intende “webserver” l’intera macchina che ospita il sito, e che quindi conterrà anche probabilmente un server di database, e uno o più linguaggi di scripting.

L’infrastruttura più diffusa e famosa è la LAMP, ovvero Linux + Apache + MySQL + PHP. MySQL sarebbe il database e PHP il linguaggio di scripting Se avete un desktop Linux, come il sottoscritto, potete installare questi pacchetti e avere pronto il vostro webserver locale, facilmente gestibile da linea di comando.

Se usate Mac o Windows, potete ugualmente installare questi pacchetti ma probabilmente avrete un pochetto di stabilità in meno e poi, diciamocelo, se non usate un desktop Linux e perchè l’uso della linea di comando non è proprio il vostro forte, no ?:-)

Per cui esistono dei pacchetti all-inclusive che si installano come un unico software ma contengono in realtà i vari software summenzionati. Tra questi i più noti sono XAMPP, EasyPHP, WAMP (specifico per Windows). Attenzione ai conflitti: se installate uno di questi pacchetti evitate di avere altri pezzi di webserver sparsi. Per capirci, se installate XAMPP su Windows, disattivate IIS o altrimenti la parte Apache di XAMPP non partirà mai.

Gestione

La gestione dei servizi (cioè avviare e fermare i vari componenti) è abbastanza semplice: se usate i pacchetti tutto-compreso avrete a disposizione dei pulsanti per avviare e fermare il tutto, mentre se usate i singoli software potrete avviarli e fermarli come qualsiasi altro servizio del sistema operativo.

In qualunque caso, non potete prescindere dall’uso di phpMyAdmin come strumento di gestione del database. Si tratta di una interfaccia, a sua volta realizzata come sito web, che ci permette di gestire tutti i nostri database: creazione, backup, cancellazione, assegnazione di utenti, modifica di record…

Se avete la possibilità di creare più virtual host di Apache (nulla a che vedere con le macchine virtuali) sfruttatela: avrete diversi siti attivi contemporaneamente, senza dover svuotare e riempire sempre la stessa cartella, o senza dover usare diverse sottocartelle di uno stesso sito.