2009-08-25 9 views
7

Sto tentando di eseguire più di un virtualhost (?), Ad esempio: http:/localhost punta a un progetto, http:/newsite a un altro e http:/myfavourite di nuovo a un progetto diverso una diversa radice del documento.Eseguire localmente più siti Web Apache PHP Ubuntu

(ogni http: // è http:/qui a causa delle restrizioni collegamento ipertestuale di invio)

ho avuto alcun successo guardando dove modificare i file apache in/etc/apache2. Sto cercando un file vhosts?

Qualsiasi consiglio sarebbe fantastico, grazie.

risposta

1

localhost non ha nulla a che fare con apache, ma è un alias sulla macchina (ip 127.x.x.x).

devi modificare /etc/hosts per ottenere ciò che desideri.

perché vuoi farlo? non è sufficiente http://localhost/newsite?

+1

Configurare un host vitual corretto sulla propria casella di sviluppo offre un ambiente di sviluppo più realistico rispetto all'uso di una directory in/var/www /. – Luke

4

È possibile modificare i propri/etc/hosts e aggiungere più nomi che puntano a 127.0.0.1, quindi aggiungere voci VirtualHost per ciascuno di questi nomi. A seconda del server, la configurazione potrebbe essere in /etc/apache2/conf/httpd.conf o in/etc/apache2/sites-available. Se è il secondo, allora here è il primo hit di google che ho ottenuto per la configurazione.

9

Ecco un capitolo di un e-book che spiega come creare host virtuali per fare esattamente ciò che si vuole - e gli esempi si utilizza Ubuntu: Creating A Local Domain Using Apache Virtual Hosts

In poche parole:

  • È necessario prima creare il VirtualHost
  • Quindi, è necessario modificare il file hosts (in Linux, è /etc/hosts) in modo che il nuovo "nome dominio pseudo" punti al proprio computer.

Per VirtualHost, con Ubuntu, si crea un nuovo file in /etc/apache2/sites-available/; per esempio chiamato your-site.com; conterrebbe qualcosa di simile:

<VirtualHost *:80> 
    ServerName your-site.com 
    DocumentRoot /.../www/... 

    <Directory /.../www/...> 
     Options Indexes FollowSymLinks Includes 
     AllowOverride All 
     Order allow,deny 
     Allow from all 
    </Directory> 
</VirtualHost> 

E voi registrare questo file in modo è caricato da Apache, con questo comando:

sudo a2ensite your-site.com 

E, poi, ricaricare Apache:

sudo /etc/init.d/apache2 reload 


Quindi è necessario modificare/etc/hosts per aggiungere una riga come questa:

127.0.0.1  your-site.com 

Quindi "your-site.com" punta effettivamente al tuo computer.


Ciò che è importante è che il nome utilizzato per accedere al sito Web in un browser è quello che viene dichiarato nel file hosts; deve anche essere uguale a quello utilizzato dalla direttrice ServerName nella configurazione di Apache.


Quando lo hai fatto per un VirtualHost ... È lo stesso per tutti gli altri: solo il nome del sito, ed è DocumentRoot, cambia.


Spero che questo aiuti!

+0

Il valore 'ServerName' deve avere un'estensione? Ho notato che hai usato 'your-site.com', ma potresti invece aver usato qualcosa come' mysite'? – henrywright

Problemi correlati