Como dar de alta sitios web virtuales en Apache

Modificar httpd.conf

Para indicarle a Apache que use el fichero httpd-vhosts.conf
  • En C:\Archivos de programa\Zend\Apache2\conf abrir httpd.conf
  • En linea 415 descomento la linea de # Virtual hosts
    Include conf/extra/httpd-vhosts.conf

Modificar httpd-vhosts.conf

Aqui indicaremos las rutas de dos sitios webs, una para http://localhost y otro para http://local_proyecto
  • En C:\Program Files (x86)\Zend\Apache2\conf\extra
  • Modificamos los dos VirtualHost que hay para que queden del siguiente modo

Originalmente tenemos

<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "C:\Program Files (x86)\Zend\Apache2/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 webmaster@dummy-host2.example.com
DocumentRoot "C:\Program Files (x86)\Zend\Apache2/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>

Y lo modificamos para que en localhost, el root empiece en la carpeta public
  • cambiamos DocumentRoot
  • quitamos ServerName
  • añadimos <Directory>
  • modificamos ServerAdmin

<VirtualHost *:80>
 ServerAdmin webmaster@dummy-host.example.com
 DocumentRoot "C:\www\proyecto1\public"
 ServerAlias www.dummy-host.example.com
 ErrorLog "logs/dummy-host.example.com-error.log"
 CustomLog "logs/dummy-host.example.com-access.log" common
 <Directory "C:\www\proyecto1\public">
   Options Indexes FollowSymLinks MultiViews
   AllowOverride All
   Order allow,deny
   Allow from all
 </Directory>
</VirtualHost>
 

Lo mismo para local_proyecto, que empiece en su carpeta C:\www\proyecto2\public

Modificar hosts

  • Ir a C:\WINDOWS\system32\drivers\etc y modificar el fichero hosts
  • Agregamos
    127.0.0.1 local_proyecto

Ajustar carpetas root

  • En C:\www\proyecto2\public crear index.php
  • En C:\www\proyecto2 crear un árbol de carpetas similar a la que hicimos en proyecto1

Reiniciar Apache y probar


Así pues