Windows incontra Linux: come avviare un server Web con WSL in tempo zero

Una guida semplice per creare in pochi minuti un server Web su Windows tramite WSL. Utilizzando lo script serveit, è possibile avviare un server locale su qualsiasi cartella, esporlo in LAN e condividerlo rapidamente anche su Internet.

Creare un server Web in pochi minuti su Windows non è mai stato così semplice grazie a WSL (Windows Subsystem for Linux). Questa potente integrazione consente di eseguire un ambiente Linux completo direttamente all’interno di Windows 10 o Windows 11, senza ricorrere a una virtualizzazione pesante. Con pochi comandi, è possibile configurare un server Web leggero e renderlo raggiungibile sia nella rete locale (LAN) che da remoto.

In questa guida vedremo come avviare un server Web “al volo” con WSL, come configurare il port forwarding per consentire l’accesso da altri dispositivi nella rete, e come pubblicarlo su Internet in modo sicuro.

Creazione del server Web con WSL su Windows 10 o Windows 11

Seguendo le indicazioni riportate nell’articolo citato in apertura, si supponga di aver installato Ubuntu all’interno di WSL, in Windows 10 o in Windows 11.

Scaricate quindi il file serveit di Evan Hahn, citato tra i 20 microscript che aiutano a snellire il lavoro e aumentare la produttività:

mkdir -p ~/.local/bin

curl -L https://codeberg.org/EvanHahn/dotfiles/raw/branch/main/home/bin/bin/serveit -o ~/.local/bin/serveit

chmod 755 ~/.local/bin/serveit

Digitando il comando serveit da una qualunque cartella di WSL, è possibile istantaneamente avviare un server Web che si pone in ascolto su localhost:8000. Per verificare che tutto funzioni, basta digitare questo URL nella barra degli indirizzi del browser, nella macchina host Windows.

Server Web locale con WSL in Windows

Lo script serveit permette di avviare rapidamente un server Web locale nella directory corrente, scegliendo automaticamente il linguaggio disponibile tra PHP, Python (2 o 3) o Ruby. Di default utilizza la porta 8000, ma è possibile specificarne una diversa come argomento. Se nessuno degli interpreti è presente, lo script segnala un errore e termina la sua esecuzione. In pratica, consente di esporre il contenuto di qualsiasi cartella locale contenuta in WSL, senza configurazioni complesse.

Esporre il server Web in rete locale

Per fare in modo che il contenuto del server Web (immagine dell’installazione Linux in esecuzione su WSL) sia accessibile attraverso la rete locale, basta aprire una finestra PowerShell nel sistema Windows 10/11 host e digitare quanto segue:

$wslIp = wsl -d NOME_LINUX_WSL -- bash -lc "ip -4 addr show eth0 | grep 'inet ' | cut -d' ' -f6 | cut -d'/' -f1"
Write-Output $wslIp

Al posto di NOME_LINUX_WSL va indicato il nome dell’installazione Linux in esecuzione su WSL, ad esempio Ubuntu-24.10. Il nome esatto può essere recuperato utilizzando il comando wsl -l -v.

Il comando PowerShell restituisce l’indirizzo IP della macchina Linux in esecuzione su WSL. Adesso si deve digitare quanto segue:

netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=8000 connectaddress=IP_LINUX_WSL connectport=8000

New-NetFirewallRule -DisplayName "WSL 8000" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 8000 -Profile Private

Al posto di IP_LINUX_WSL, va indicato l’indirizzo IP recuperato con il precedente comando. L’ultima istruzione PowerShell crea una regola firewall chiamata WSL 8000 che apre la porta TCP 8000 in ingresso, in modo da accettare le richieste di connessione al server Web provenienti da altri sistemi.

Come raggiungere il server Web di WSL dalla rete locale

Digitando ipconfig /all sul sistema host, si può annotare il suo indirizzo IP privato: di solito si trova al di sotto della sezione Scheda EthernetScheda WiFi. È bene pensare di assegnare alla macchina un indirizzo statico in modo che l’IP del server Web non cambi mai.

Scrivendo l’indirizzo IP del sistema che ospita WSL nella barra degli URL del browser, su un altro device collegato in rete locale, si riceverà risposta da parte del server Web:

Server Web con WSL e una distro Linux

Condividere rapidamente file e documenti

Lo script serveit crea un server Web leggero “al volo” nella directory corrente di WSL, ma ha delle limitazioni importanti sui contenuti che può servire.

Può condividere il contenuto di file HTML, CSS, JavaScript, immagini, PDF e qualsiasi altro file presente nella cartella. È quindi ideale per testare pagine statiche o condividere rapidamente file con altri dispositivi. La capacità di gestire contenuti dinamici dipende dal linguaggio scelto: se serveit rileva PHP, può caricare file .php e quindi gestire pagine dinamiche lato server, come moduli, calcoli, sessioni o accesso a database.

Accedendo dal sistema host alla cartella condivisa \\WSL$\NOME_LINUX_WSL\home\NOME_UTENTE, si può creare una cartella “ad hoc” e condividere file attraverso serveit. Basta copiare i file all’interno di tale cartella per renderli immediatamente disponibili.

Ovviamente, sarà possibile collegarsi da remoto al server Web creato con WSL anche utilizzando strumenti come VPN (OpenVPN/WireGuard) oppure utilizzando il comando ngrok http 8000.

Cos’è ngrok e come può essere utile

ngrok è un servizio che permette di esporre un server locale (in esecuzione sul PC o in WSL) a Internet in modo sicuro, senza dover configurare router, firewall o DNS. Crea un tunnel sicuro tra il computer e un URL pubblico temporaneo (https://…) fornito da ngrok.

È utile per demo, test di API, sviluppo Web, integrazione con Webhook o per condividere rapidamente un server locale con altre persone. Supporta HTTP, HTTPS e TCP, e fornisce un URL pubblico temporaneo che punta al server in ascolto sul tuo computer.

Conclusioni

Grazie a WSL e a strumenti leggeri come lo script serveit, avviare un server Web su Windows diventa un’operazione rapida, semplice e versatile, senza la necessità di installare complessi ambienti di virtualizzazione. È possibile testare pagine statiche, condividere file in rete locale o persino rendere il server accessibile da remoto in sicurezza, sfruttando VPN o servizi come ngrok.

La soluzione proposta rappresenta un approccio pratico per sviluppatori, tester e chiunque abbia bisogno di un ambiente Web immediato, riducendo tempi di configurazione e complessità tecnica.

L’integrazione tra Windows e Linux dimostra ancora una volta come sia possibile semplificare notevolmente attività quotidiane legate allo sviluppo e alla condivisione dei contenuti.

Ti consigliamo anche

Link copiato negli appunti