La via più moderna allo sviluppo web

Installare un server virtuale per programmare in PHP

di

thumbnail

02

mar

2018

La configurazione del sistema di lavoro va tutelata. Meglio installare software e componenti in un ambiente separato.

[Pubblichiamo un estratto da Sviluppare applicazioni con PHP e MySQL, testo fondamentale per aspiranti programmatori web; proprio oggi inizia la nostra promzione di marzo ed è possibile acquistarlo risparmiando il 25 percento!]

Prima di scrivere codice PHP e sviluppare un sito web, è conveniente installare tutto il software necessario per eseguire un server virtuale.

  • Git, che consente di scaricare rapidamente e con facilità il codice.
  • VirtualBox, il software che esegue le macchine virtuali.
  • Vagrant, uno strumento che garantisce una configurazione rapida e semplice delle macchine virtuali, collaborando con VirtualBox per creare il vostro server.

Installazione in Windows

Scaricate e installate le versioni più aggiornate di questi software.

Dopo aver installato tutto, richiamate dal menu Start il programma Git Bash e poi saltate alla sezione Usare Vagrant, più avanti in questa pagina. Tutti i comandi specificati devono essere digitati nel programma Git Bash, non al prompt dei comandi di Windows.

Installazione in macOS

Scaricate e installate le versioni macOS dei software appena citati.

Dopo aver installato tutto, aprite il programma Terminale e poi saltate alla sezione Usare Vagrant, qui di seguito.

Installazione in Linux

In Linux l’installazione di software è molto semplice. Nella maggior parte delle distribuzioni, si deve impiegare un apposito package manager.

Debian/Ubuntu:

sudo apt-get install git dkms virtualbox virtualbox-dkms vagrant

 

Fedora/Red Hat:

sudo dnf install git VirtualBox vagrant vagrant-libvirt

 

Arch Linux:

sudo pacman -S git virtualbox vagrant

 

Dopo aver installato tutto il software, aprite un programma Terminale e procedete con le istruzioni.

Usare Vagrant

Ora che tutto il software è installato, è il momento di eseguire il download di un server virtuale. Da qui in poi le istruzioni sono le stesse, indipendentemente dal fatto che usiate Windows, macOS o Linux. Una guida completa (in inglese) all’operazione si trova sull’articolo di SitePoint Quick Tip: Get a Homestead Vagrant VM Up and Running).

Useremo una macchina virtuale (o box) pronta all’uso chiamata Homestead Improved. Questa macchina contiene PHP, MySQL e NGINX già configurati per le attività di sviluppo. Per scaricarla, dal prompt del terminale, raggiungete innanzitutto la directory nella quale intendete memorizzare i file del vostro sito web (tramite il comando cd e inserendo il percorso della directory tra doppi apici ove contenga spazi) e poi eseguite questi comandi:

git clone https://github.com/swader/homestead_improved my_project
cd my_project; mkdir -p Project/public
bin/folderfix.sh

 

Dopo aver eseguito i comandi, nella directory del progetto verranno creati vari file. Questi file contengono istruzioni per la creazione e configurazione del server virtuale. Infine, non rimane che avviare il server usando il seguente comando:

vagrant up

 

È necessario eseguire il comando vagrant up dalla directory contenente i file scaricati precedentemente tramite il comando git clone. Se digitate ls, vi troverete il file Vagrantfile. Se il file non compare, dovete raggiungere la directory corretta, utilizzando il comando cd.

Il server verrà avviato e comparirà qualcosa come ciò che è rappresentato in questa figura.

F01-02

Dettaglio dell’esecuzione di vagrant up.

 
Se il comando si blocca sulla riga Connection timed out. Retrying… per più di qualche minuto, è probabile che il PC non sia configurato per la virtualizzazione, ovvero per l’esecuzione di macchine virtuali. Per correggere la situazione, dovete accedere al BIOS del PC e attivare la tecnologia VT-x (se avete un microprocessore Intel) o AMD-V (per i microprocessori AMD). Per farlo, consultate il manuale del computer o usate Google per trovare istruzioni sull’accesso al BIOS del PC. Questa impostazione, in genere è chiamata Virtualization technology, VT-x, SVM o Hardware virtualization, a seconda del produttore del PC.

Alla prima esecuzione di Vagrant, dovrete attendere qualche minuto, in quanto dovrà eseguire il download di un file di grandi dimensioni. Non preoccupatevi, le volte successive non sarà necessario e il vostro server partirà molto più rapidamente.

A differenza di quanto avviene con un’installazione manuale di NGINX/PHP/MySQL direttamente sul PC, il server si avvia solo quando desiderate, tramite il comando vagrant up. Poi potrete fermarlo quando volete, tramite il comando vagrant halt e poi riavviarlo con vagrant up.

Potete usare anche vagrant suspend, che equivale a chiudere il display di un portatile. Mette in pausa la macchina virtuale per evitare di doverla riavviare al successivo vagrant up. Se proprio non siete a corto di spazio su disco, è preferibile usare suspend, in quanto la macchina virtuale ripartirà molto più velocemente.

Una delle directory che vengono create si chiama Project. Aprite questa directory e poi la directory public al suo interno. Qui è dove conserverete gli script PHP, i file HMTL, i file CSS e le immagini. Tutti i file collocati nella directory public saranno accessibili tramite il vostro server virtuale.

Tramite il vostro editor di testi preferito, create un file chiamato index.html contenente il codice seguente:

<!DOCTYPE html>
<html>
    <body>
        <h1>Hello World!</h1>
    </body>
</html>

 

Ora potete visualizzare la pagina web sul server. Il server si comporta come un computer connesso alla rete locale e utilizza l’indirizzo IP 192.168.10.10. Se provate ad aprire il browser e a dirigervi su http://192.168.10.10/, vi troverete la pagina di test Hello World. Se vedete la pagina, significa che il vostro server è in funzione e che il file si trova nella directory corretta.

L’indirizzo IP, numerico, può disorientare. In genere, quando fate accesso a un sito web, usate qualcosa come http://www.sitepoint.com/ o http://www.google.com. Tuttavia, dietro le quinte, tutti i siti web usano un indirizzo IP. Se digitate http://216.58.201.46/ nel browser, otterrete la home page di Google.

Sarebbe molto difficile ricordare l’indirizzo IP di ogni sito web che intendete visitare (io fatico a ricordare anche il mio PIN.). Pertanto, normalmente si acquista un nome di dominio e lo si associa a un indirizzo IP. Quando si digita sitepoint.com nel browser web, questo ricerca l’indirizzo IP corrispondente e vi si connette, sempre dietro le quinte. È come una sorta di rubrica telefonica. Invece di dover ricordare il numero telefonico di qualcuno, potete scorrere l’elenco dei contatti e trovare molto più facilmente un nome riconoscibile. Questa operazione si verifica per ogni sito web che visitate, in quanto ogni sito ha un indirizzo IP simile a 129.168.10.10. Ora o nel prossimo futuro (a seconda del vostro provider), potreste iniziare a vedere indirizzi IP nel formato 2001:0db8:85a3:0000:0000:8a2e:0370:7334. Questo è un indirizzo IPv6, che funziona esattamente allo stesso modo della notazione appena presentata in questo capitolo. Il problema con gli indirizzi IP nel formato 0.0.0.0 (IPv4) è che vi sono solo circa 4 miliardi di indirizzi possibili. Sembrano molti, ma ogni singolo sito web, telefono o computer connesso a Internet richiede un proprio indirizzo IP. I nuovi indirizzi IPv6 ci permetteranno di andare avanti ancora a lungo.

Sviluppare applicazioni con PHP e MySQL

Dal primo contatto alla programmazione a oggetti, in un libro.

 

Editor di testi

L’editor di testi fornito dal sistema operativo, come Blocco note o TextEdit, non è particolarmente adatto alla realizzazione di file HTML e script PHP. Tuttavia, sono disponibili molti ottimi editor di testi che offrono un ottimo supporto all’editing di script PHP e che potete scaricare gratuitamente. Eccone alcuni che funzionano in Windows, macOS e Linux:

Sono tutti molto simili e per programmare in PHP sono tutti ottimi e vi semplificheranno le cose, rispetto a Blocco note o TextEdit.

Per ulteriori informazioni su Homestead Improved e PHP, guardate la pagina (in inglese) Jump Start PHP Environment), di Bruno Škvorc. Per i nostri scopi, tuttavia, il server ora è in funzione e tutto è pronto per iniziare a lavorare in PHP.




Tom Butler, dottorando di ricerca in ingegneria del software, è uno sviluppatore web e un cultore delle best practice della programmazione. Il suo approccio è incentrato sulla separazione dei problemi e sulla convinzione che nel codice less is more. Kevin Yank (@sentience) ha lavorato alla realizzazione di siti web per oltre 15 anni e ha prodotto numerosi libri, articoli, corsi, newsletter e podcast su questo tema. Primo staff writer di SitePoint, editore australiano specializzato in manualistica e letteratura informatica, Kevin ha firmato il primo libro della casa editrice. Oggi è CTO presso Avalanche Technology Group, società attiva nella creazione e distribuzione di prodotti e servizi digitali. È anche autore di JavaScript, edito nella collana Guida Completa. Ha un sito personale.

Letto 1.779 volte | Tag: , , , , ,

Lascia il tuo commento