Ente accreditato Regione Veneto n.4271

Come creare un host virtuale su MAMP

Senza ricorrere a programmi a pagamento

Pubblicato da Gianni Burei // 28 Gennaio 2020

Con l’articolo di oggi riprendo in mano l’argomento MAMP, per mostrarvi come creare un Host Virtuale (virtual host) in locale.

Ma prima di tutto: Cos’è un Virtual Host? E a cosa potrebbe servirci?

Un Virtual Host è un metodo usato sui server web per ospitare sullo stesso server (e sullo stesso IP) più nomi dominio assegnando ad ognuno un nome univoco. E questo cosa centra con i nostri siti locali?

Di base, usando programmi come MAMP, siamo costretti a lavorare partendo sempre dall’url “http://localhost/”. Ogni nostro sito quindi andrà in una sotto-cartella di questo dominio. Per cui se avessi un sito salvato come “nomesito”, per raggiungerlo dovrei digitare “http://localhost/nomesito/”.

Attraverso un Virtual Host, possiamo creare un nome dominio apposito per ogni cartella che vogliamo. Ad esempio “http://nomesito/” richiamera in automatico “/htdocs/nomesito/”. Questo permette di lavorare prima di tutto in maniera più elegante, ma soprattutto ci garantisce che la root (cioè la cartella principale del sito, “/”) faccia riferimento proprio al nostro sito e non a “locahost”, evitanto possibili problemi soprattutto con chiamate PHP.

Per creare questi Virtual Host esistono 2 possibili strade.

La soluzione più semplice è sicuramente quella di utilizzare MAMP Pro. Questa versione di MAMP prevedere diverse caratteristiche aggiuntive rispetto alla versione base, e tra queste c’è anche la creazione di Virtual Host in maniera semplice, veloce e senza metter mano ad una riga di codice.

C’è un “ma”. Infatti, a differenza di MAMP, la versione Pro è a pagamento (69,00 €). Non un costo esagerato sicuramente, ma se lo dovete usare solo per creare Host virtuali si può pensare a soluzioni più economiche.

Io stesso una volta usavo la versione Pro, attratto dalle diverse funzionalità che permette di avere. Ma alla fine mi sono reso conto che di tutto quello che ho a disposizione usavo ben poco e quindi mi sono deciso di tornare alla versione gratuita.

 

Creare un Virtual Host a codice

Ed ecco la soluzione che vi consiglio. Di sicuro è più macchinosa della precedente, ma non vi costerà nulla e potrete usare la versione gratuita di MAMP. L’importante è seguire bene i passaggi seguenti. Alcuni di questi dovrete compierli solo la prima volta. Altri invece andranno fatti per ogni Host virtuale che creerete in futuro.

1 – Configurare MAMP

Prima di creare qualsiasi Virtual Host, dobbiamo abilitare MAMP alla loro gestione. Per fare questo dovete raggiungere il seguente file:

Mac     /Applicazioni/MAMP/conf/apache/httpd.conf

Win     C:\MAMP\conf\apache\httpd.conf

Aprite questo file con un qualsiasi IDE (PhpStorm, Sublimetext, Atom, ecc.) o con il classico TextEdit (Mac) o Blocco Note (Win).

Una volta aperto cercate la seguente riga:

# Virtual hosts
# Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

E togliete il cancelletto prima di “Include”. Mi raccomando solo lì. Se non trovate la riga, vi consiglio di usare il comando “Cerca” dell’editor che avete deciso di utilizzare. Una volta fatto, salvate il file e chiudetelo. Quello che avete appena fatto è stato togliere il commento (il # ad inizio riga) e quindi abilitare MAMP nell’uso di Virtual Hosts.

Questa procedura dovrete farla una sola volta.

 

2 – Configurare l’IP per il nostro sito

Ora che abbiamo finito di configurare MAMP, possiamo finalmente creare i nostri Virtual Host. Ricordatevi che i passi elencati poco fa vanno fatti una sola volta e non ogni volta che creare un Virtual Host.

Poniamo, ad esempio, di avere un sito in locale salvato su /MAMP/htdocs/miosito/, e di voler creare il suo Virtual Host “http://miosito/”.

La prima cosa da fare è modificare il file “hosts” reindirizzando il nome dominio che creeremo verso l’IP della nostra macchina (che è sempre 127.0.0.1). Raggiungete quindi i file al seguente indirizzo:

Mac     /etc/hosts

Win     C:\Windows\System32\Drivers\etc\hosts

Per modificare il file su Mac, vi consiglio di aprire il terminale e digitare il seguente comando:

sudo nano /etc/hosts

Vi chiederà d’inserire la password e premere INVIO. Fatelo e non preoccupatevi se digitando non vedrete apparire i caratteri.

Si aprirà quindi una schermata simile a quella qui sotto. Qui dovete andare all’ultima riga e digitare:

127.0.0.1          miosito

Una volta fatto, premete CTRL+X per uscire e salvare. Premete quindi il tasto “Y” e poi INVIO. Dovrebbe chiudersi la schermata e tornare alla visuale di prima (quando avete inserito il comando “sudo”).

Su Windows invece potete modificare il file usando il programma “blocco note”. Assicuratevi però di avviarlo come amministratore (Tasto destro –> esegui come amministratore). Questo è fondamentale per poter sovrascrivere il file di base.

 

3 – Creare il Virtual Host

Ora che abbiamo impostato l’IP per il nostro nuovo progetto, non ci resta che creare il Virtual Host. Raggiungete e aprite il file che trovate a seguente indirizzo:

Mac     /Applicazioni/MAMP/conf/apache/extra/httpd-vhosts.conf

Win     C:\MAMP\conf\apache\extra\httpd-vhosts.conf

In questi file troverete alla fine del documento due esempi di Virtual Host, che iniziano e terminano con <VirtualHost> … </VirtualHost>. Cancellateli pure, perché sono solo di esempio.

Al posto di questi file aggiungete il seguente codice:

<VirtualHost *:80>
    DocumentRoot "/Applications/MAMP/htdocs/miosito"
    ServerName miosito
</VirtualHost>

Come potete intuire, su “DocumentRoot” dovete mettere il percorso assoluto di dove si trova il vostro sito. Mentre su “ServerName” va messo il nome del sito (lo stesso definito in fase di configurazione IP).

N.B.: Nella schermata qui sopra, come vedete, ho creato un’ulteriore Virtual host all’inizio di tutto, che gestisce “localhost”. Questa regola mi permette di gestire il nome dominio http://localhost/ senza dover ogni volta aggiungere la porta 8888 di MAMP.

 

Ecco, ora dovrebbe essere tutto. Ora non vi resta che riavviare i server di MAMP e digitare sulla barra degli indirizzi ‘http://miosito/’. Se abbiamo seguito i passi correttamente dovreste vedere direttamente il contenuto della cartella /miosito/.

Come vedete la procedura è macchinosa, ma non impossibile. Basta seguire diligentemente i passi e il gioco è fatto. Vedrete che dopo il primo sarà tutto molto più semplice.

Buon lavoro!

Lascia un commento

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

Send this to a friend