2012-02-29 25 views
12

me interesa, si puedo tener host virtuales en Apache con los nombres de dominio como: http://something.com/something o http: // {IP_del_servidor -address-here}/algo?anfitriones virtuales en Apache con la URL de subcarpetas como

Estoy usando Apache 2.2.20 en Ubuntu Server, ese es mi servidor doméstico y estoy probando algunas cosas aquí, no tengo ningún servidor DNS aquí y lo que tengo es solo una dirección IP pública y un nombre de dominio adjunto. desde el servicio de dns abierto.

Así que, ¿qué hice:

  1. He creado nuevo "demo" de archivo en /etc/apache2/sites-available
  2. puse allí esta (en realidad se copia con modificaciones de archivos por defecto):

    <VirtualHost *:80> 
        ServerAdmin [email protected] 
        ServerName {mydomain-here}/demo/ 
        DocumentRoot /vhosts/demo 
    <Directory /> 
         Options FollowSymLinks 
         AllowOverride None 
    </Directory> 
    <Directory /vhosts/demo/> 
         Options Indexes FollowSymLinks MultiViews 
         AllowOverride None 
         Order allow,deny 
         allow from all 
    </Directory> 
    
    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ 
    <Directory "/usr/lib/cgi-bin"> 
         AllowOverride None 
         Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch 
         Order allow,deny 
         Allow from all 
    </Directory> 
    
    ErrorLog ${APACHE_LOG_DIR}/error.log 
    
    # Possible values include: debug, info, notice, warn, error, crit, 
    # alert, emerg. 
    LogLevel warn 
    
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
    
    Alias /doc/ "/usr/share/doc/" 
    <Directory "/usr/share/doc/"> 
        Options Indexes MultiViews FollowSymLinks 
        AllowOverride None 
        Order deny,allow 
        Deny from all 
        Allow from 127.0.0.0/255.0.0.0 ::1/128 
    </Directory> 
    </VirtualHost> 
    

  3. Creado enlace simbólico en/etc/apache2/sites-enabled/que apunta a/etc/apache2/sites-available/demo

  4. Creado /vhosts/demo/index.html archivo.

Y ahora lo que se ve es que cuando voy a {mi-dominio} Voy a VHOST que he creado, pero el problema es que servidor me apunte allí en cualquier caso, no sólo {mi-dominio }/demo lo que quiero.

En conclusión, deseo que pueda crear diferentes hosts virtuales y adjuntarlos a diferentes URL que tendrán la misma URL base, por ejemplo, www.mydomain.com/vhost1, www.mydomain.com/vhost2 etc.

¿Es posible? Gracias :)

Respuesta

15

Para empezar, la razón por la que va allí es cualquier caso es hacer que usted tenga usted tiene un *: 80 ajustes de su máquina virtual, por lo que si no coincide con la solicitud que utiliza la entrada de la primera máquina virtual

Si entiendo lo que usted está tratando de hacer que parece como si sólo puede ser que desee poner un alias para cada 'host virtual'

lo que estamos tratando de hacer no es una serie bastante virtual (al menos lo que un host virtual se supone que debe hacer), pero es posible que pueda lograrlo mediante el uso de alias característica de apache

Alias /vhost1 /whatever/folder/your/vhost1/site/is/at 
Alias /vhost2 /whatever/folder/your/vhost2/site/is/at 

Así que ahora cualquier dominio que use, p. Ej. http://whatever.com/vhost1 o http://whatever.com/vhost2 Los dos de ellos aparecerán como sitios separados

+0

Gracias :) Creé Alias ​​y obtuve exactamente ese resultado, ¡lo que quería! Pero, por interés: Parece que no es posible hacer hosts virtuales de esa manera, ¿o sí? – Jibla

+0

No lo creo, nunca lo había usado antes. En general, lo usa cuando necesita un servidor para poder archivos de servidor para varios dominios/ips, p. www.vhost1.com y www.vhost2.com y el uso del host virtual es la forma en que el servidor sabe qué archivos para el servidor www.vhost1.com y www.vhost2.com – jeffchong07

+0

en su caso, solo hay un dominio, por lo que el host virtual no es necesariamente útil para diferenciar sus sitios – jeffchong07

Cuestiones relacionadas