2016-02-07 25 views
13

Sono nuovo al Mac ma ho usato Ubuntu per lo sviluppo da molto tempo. So come creare host virtuali in Ubuntu ma non ho idea di Mac. Ho creato una voce hosts come di seguito:Come creare host virtuali in MAMP?

## 
# Host Database 
# 
# localhost is used to configure the loopback interface 
# when the system is booting. Do not change this entry. 
## 
127.0.0.1  localhost mysite.loc 
255.255.255.255 broadcasthost 
::1    localhost 

Ma cosa fare dopo?

risposta

26

Mentre googling, ho trovato questi passaggi per creare facilmente gli host virtuali su MAMP:

  1. aprire la console in Mac e modificare il file hosts come questo

    sudo vim/etc/hosts

questo apre un file system che contiene la seguente riga:

127.0.0.1 localhost 

aggiungere il proprio nome host desiderato dopo host locale:

127.0.0.1 localhost mysite.loc 

premere ESC, poi: wq! per sovrascrivere e chiudere il file.

  1. Passare alla directory MAMP e aprire il file di configurazione di apache situato in Applicazioni/MAMP/conf/apache/httpd.conf in qualsiasi editor di testo e individuare le seguenti righe:
# Virtual Hosts 
# Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf 

Rimuovere il simbolo cancelletto (cancelletto) dall'inizio della riga che inizia con includere

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

Salvare il file, e quindi aprire App licazioni/MAMP/conf/apache/extra/httpd-vhosts.conf. Questo è dove si definiscono gli host virtuali.

  1. Nella parte inferiore della pagina ci sono due esempi su come definire gli host virtuali in Apache. Sembrano questo:
<VirtualHost *:80> 
    ServerAdmin [email protected] 
    DocumentRoot "/Applications/MAMP/Library/docs/dummy-host.example.com" 
    ServerName dummy-host.example.com 
    ServerAlias www.dummy-host.example.com 
    ErrorLog "logs/dummy-host.example.com-error_log" 
    CustomLog "logs/dummy-host.example.com-access_log" common 
</VirtualHost> 

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    DocumentRoot "/Applications/MAMP/Library/docs/dummy-host2.example.com" 
    ServerName dummy-host2.example.com 
    ErrorLog "logs/dummy-host2.example.com-error_log" 
    CustomLog "logs/dummy-host2.example.com-access_log" common 
</VirtualHost> 

Modifica entrambi gli esempi. Gli host virtuali sovrascrivono l'host locale esistente, quindi il primo deve ristabilire localhost. Modifica il secondo per l'host virtuale che desideri aggiungere. Sono richieste solo le direttive DocumentRoot e ServerName. Per aggiungere un host virtuale per mysite, le definizioni di cura dovrebbe essere simile a questo:

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

<VirtualHost *:80> 
    DocumentRoot "/Users/username/Sites/mysite" 
    ServerName mysite.loc 
</VirtualHost> 

Questo presuppone che si desidera individuare i file per miosito nella cartella Siti. Sostituisci "username" nella seconda definizione con il tuo nome utente Mac. Se si desidera archiviare i file in una posizione diversa, regolare di conseguenza il valore di DocumentRoot.

Se si desidera creare più di un host virtuale, copiare una delle definizioni e modificarla di conseguenza.

Salvare tutti i file modificati e riavviare i server nel pannello di controllo MAMP.Ora dovresti essere in grado di accedere all'host virtuale con il seguente URL: http://mysite.loc/.

Divertiti .. !!

+0

Per me basta dire "Funziona" e non compare nient'altro. Perché non dovrebbe fare riferimento alla cartella corretta ora? : o – trainoasis

+5

Nella configurazione generale di MAMP, la porta Apache deve essere impostata su 80, per far funzionare questa configurazione – byroncorrales

+0

ha funzionato per me. L'unica cosa è che mentre accedete all'host virtuale, per favore non dimenticate di menzionare la porta. Per esempio. se il nome del tuo sito è myproj, accedi a http: // myproj: 8888/dove, 8888 è il numero di porta. – Pupil

3

Nella mia configurazione in MAMP, solo il primo host virtuale stava rispondendo.
Dopo ore di ricerca ho fondato le istruzioni per risolvere il problema (prima della messa in vendita di host virtuali definizioni):

NameVirtualHost *:80 

Ora, i miei 3 host virtuali stanno lavorando!

+0

ha funzionato per me. L'unica cosa è che mentre accedete all'host virtuale, per favore non dimenticate di menzionare la porta. Per esempio. se il nome del tuo sito è myproj, accedi a http: // myproj: 8888/dove, 8888 è il numero di porta. – Pupil