immagine di sfondo articolo
Tecnica tempo di lettura: 4 min

Dove realizzare siti web? Lavorare su un server locale dedicato o su area di staging

Dove realizzare siti web? Lavorare su un server locale dedicato o su area di staging

Articolo datato

Questo articolo non è più aggiornato da almeno 6 mesi perciò verifica le informazioni che vi sono contenute in quanto potrebbero essere obsolete.

Sommario

Per poter costruire un sito internet dinamico è necessario appoggiarci ad un server su cui far risiedere i nostri file man mano che lo realizziamo in cui testare i diversi script che andremo a produrre o configurare.

Analizziamo oggi i diversi metodi per creare un ambiente di sviluppo in cui costruire un sito web. Vedremo insieme le peculiarità e i difetti di ognuno.

Attenzione: questo articolo è rivolto a tutti coloro che sviluppano siti internet utilizzando come linguaggio di programmazione il PHP e necessitano di conseguenza di Web Server come Apache o Nginx. Se utilizzi ASP.NET su un server ISS queste informazioni potrebbero non esserti utili.

Perchè offrire la possibilità al nostro cliente di accedere al sito di sviluppo?

Facciamo un esempio. Siamo a Biella per vacanza, ma nello stesso tempo stiamo realizzando un sito web Torino. Offrendogli accesso al nostro lavoro (una volta completato) potremo:

  • Mostrare il nostro lavoro senza bisogno di doverci spostare.
  • Effettuare tutti gli interventi di fine tuning in tempo reale, mentre il cliente visiona il prodotto finito.
  • Formare il cliente all'uso del software. Nel caso di sito web creato in Wordpress, ad esempio, potremo spiegargli il pannello facendogli modificare direttamente le pagine provando lo strumento senza rischio di fare danni (ma fate un backup prima, non si sa mai!).
  • Nel caso di successivi interventi avremo sempre una area di sviluppo su cui effettuare modifiche prima di intervenire nell'area di produzione.

Costruzione di sito direttamente sul dominio online

Alcuni webmaster alle prime armi scelgono di realizzare il sito internet di cui han preso commessa direttamente sul dominio che verrà utilizzato una volta che il prodotto entrerà in produzione. In questo modo sarà semplice far vedere al cliente il lavoro, ma potremo incorrere in molti problemi fra cui:

  • Intervento non immediato sui file, dovendo effettuare upload e download degli stessi via FTP.
  • Difficile gestione degli errori degli script, non tutti gli host permettono di accedere ai file di log.
  • Il dominio sarà inutilizzabile fino a che il progetto non sarà completato. Nel caso del restyling di un sito già esistente questo potrebbe comportare penalizzazioni SEO, sopratutto nel caso di lunghi down delle pagine dovuti all'attività di sviluppo.
  • Durante lo sviluppo vi è il rischio di creare codice che generi loop infiniti, mandando offline server non configurati in maniera ottimale.

Utilizzare una sottocartella o un sottodominio all'interno del server di produzione (area di staging)

Per non incorrere in alcuni dei problemi sopra elencati alcuni sviluppatori scelgono di creare una sottocartella nella root del dominio o di utilizzare un sottodominio in cui sviluppare il nuovo sito.

Anche in questo caso però si potrebbe incorrere in alcuni dei problemi descritti prima (tranne rendere il dominio inutilizzabile perchè il suggerimento è quello di usare un database differente dal sito di produzione) ma si potrebbe aggiungere un problema lato SEO, nel caso di ammodernamento di prodotto preesistente. Per ovviare a questi problemi è sufficiente proteggere la zona di sviluppo mediante autentificazione .htaccess per evitare contenuti duplicati.

Il punto positivo è però nell'essere sicuri di avere uno spazio di sviluppo totalmente allineato, dal punto di vista di risorse e tecnologie, con l'area di produzione. Conseguentemente avremo meno difficoltà andando live.

Realizzazione di sito internet su dominio di test

Alcune Web Agency utilizzano un host dedicato allo sviluppo, su cui costruire i siti, con un dominio dedicato non indicizzato dai motori di ricerca. Scegliendo questa modalita di lavoro è necessario dedicare un piccolo budget annuo per il mantenimento dell'area di test (15/20 € per il dominio più il costo dell'host) ma anche in questo caso lo sviluppatore impiegherà più tempo a sviluppare il prodotto in quanto dovrà sempre effettuare il download e l'upload dei file mediante FTP.

Sviluppo di sito web sul proprio computer

Un buon compromesso è quello di realizzare un sito internet sviluppandolo in locale sul computer su cui si lavora.
Per far questo è opportuno realizzare un ambiente di sviluppo WAMP, LAMP o MAMP, in funzione del sistema operativo utilizzato:

  • WAMP: Windows, Apache, PHP e MySQL
  • LAMP: Linux, Apache, PHP e MySQL
  • MAMP: MAC OS, Apache, PHP e MySQL

WAMP, LAMP o MAMP: tre tecnologie per creare un ambiente di sviluppo siti sul proprio computer. Share on X

Anche in questo caso però abbiamo delle controindicazioni:

  • In particolare rischiamo di creare un ambiente di sviluppo diverso da quello di produzione. Il pericolo è che una volta effettuato l'export del nostro sito su server online, a causa della diversa configurazione di Apache o PHP, gli script non funzionino a dovere, richiedendo una modifica degli stessi "in corsa".
  • Abbiamo la possibilità di mostrare al nostro cliente il prodotto che stiamo costruendo, ma solo fintanto che il computer su cui sviluppiamo rimane acceso.
  • Mantenere attivo un web server su un computer che utilizziamo per scrivere codice (e altre operazioni) ne inficia le prestazioni.

Costruzione di siti internet su server locale

La soluzione ottimale, per chi realizza professionalmente siti internet è quella di acquistare un server Linux per lo sviluppo o convertire un pc inutilizzato, da dedicare interamente a questa attività, installando e configurando una distribuzione come replica identica dell'host online.

In particolare una macchina dedicata potrà rimanere sempre accesa e se possediamo un ip statico possiamo far puntare un dominio al nostro host locale, fornendolo ai clienti con cui interagiamo in modo che possano accedere al nostro server di sviluppo.

Grazie ad una condivisione Samba potremo lavorare sui file in tempo reale e analizzare i log da terminale senza nessun problema. Naturalmente configurando l'FTP potremo lavorare da remoto.

Unica nota (importante) vi consiglio di blindare il vostro server grazie ad un .htaccess, in modo che non venga per sbaglio indicizzato dai motori di ricerca!

Un server locale è la migliore scelta per sviluppare e testare siti internet. Share on X

Lascia un commento

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

Commenti

Rispondi 31-07-2015 08:30
Alessandro Di Somma della Web Napoli Agency
Ciao Pino ottimo post, io di solito creo aree di test su un nostro server locale per verificare il funzionamento corretto della struttura del sito web, in maniera tale da non avere spiacevoli sorprese durante l'effettiva installazione sul dominio. Nonostante tutto non mi sono mai lanciato ad sviluppare un sito web di un cliente in locale, anche se questa pratica mi ha sempre incuriosito. Questo articolo mi ha aiutato a schiarirmi le idee, grazie per i tuoi consigli!
Rispondi 31-07-2015 16:01
Pino
Grazie Alessandro e sono contento che questo articolo ti abbia chiarito qualche dubbio! Vorrà dire che non appena trovo tempo provo ad approfondire l'argomento con qualche tutorial su come far affacciare un server configurato in locale verso l'esterno, assegnandogli un ip o un dyndns.
Rispondi 10-07-2018 14:18
Cristian
Ma con Mamp e simili come si fa a rendere il sito raggiungibile dall'esterno?
Rispondi 11-07-2018 09:02
Pino
In sintesi basta fare un port forwarding sul tuo router, ma solo se hai un ip pubblico e ancor meglio statico. Mi spiego meglio. La comunicazione a mezzo web (ma non solo) avviene tra due ip e una porta (ogni ip risponde su più porte). In genere e di default la porta è l'80. Per rendere raggiungibile quindi un server (MAPM, LAMP e WAMP sono dei server a tutti gli effetti) è necessario far si che egli risponda su un ip pubblico, ossia che scrivendo http:// 192.169.1.12 (ad esempio) si arrivi al tuo server. In genere un server "casalingo" è dietro ad un router e a quel router viene assegnato dal provider un ip. È necessario quindi che quando da browser (ossia sulla porta 80) si chiama l'ip, assegnato alla tua connessione web dal provider, il router risponda girando la connessione al server. Ho parlato di ip pubblico perchè alcuni provider non ne assegnano uno alla connessione (ad esempio sotto uno stesso ip fanno navigare diversi utenti) e ancor meglio statico (ossia che non cambia nel tempo ad ogni riavvio del router).
Rispondi 13-12-2019 12:28
Alessandro
Vorrei farti una domanda. Facendo un secondo lavoro a casa dove non posso ovviamente tenere un pc acceso costantemente (è una soluzione adatta alle aziende), quale potrebbe essere la soluzione più economica ed efficace? Acquistare un dominio con hosting solo per sviluppare e testare i siti? Alternative? Che tu sappia esistono computer noleggiabili online a prezzi ragionevoli che permettano di utilizzarli come server?
Rispondi 14-12-2019 20:37
Pino
Certo, cerca un hosting con che possa fornire una VPS (virtual private server). Detto questo anche di mio spesso lavoro da casa, dove però ho una macchina server (un DELL dedicato a questa tipologia di attività) sempre acceso e collegato, dietro ad un piccolo gruppo di continuità (che alimenta anche i router). Pur avendo la fibra mi trovo meglio e posso lavorare anche nel caso salti la connessione, oltre ad avere una macchina che risponde più velocemente ai comandi, dato che è dedicata solo per me. Il suo costo si è ammortizzato negli anni decisamente.

RI.DO.PC. - P.IVA 10902370013

© 2013-2024 Tutti i diritti riservati