wampp servidor remoto para internet desde configurar acceso acceder php windows zend-framework wamp virtualhost

php - servidor - virtual host wampp



Configurar la aplicaciĆ³n VirtualHost para Zend en el servidor Wamp (1)

Estoy siguiendo este tutorial para aprender cómo iniciar un proyecto usando ZendFramework

http://framework.zend.com/manual/1.12/en/learning.quickstart.create-project.html

Cuando logro configurar un host virtual me quedo atascado. Si hago exactamente lo que dice el tutorial, me muestra un error (en todo mi proyecto, zend o no), dice que el archivo no se encontró.

Entonces encontré este tutorial en StackOverflow muy útil

No se puede ejecutar la aplicación zend framework MVC en WAMP

Seguir lo que el chico de la parte inferior de la página dice me lleva al mismo error cuando intento acceder a mi aplicación como zendProject.local/

Esto es lo que conseguí

en el archivo hosts (Windows / System32 / drivers / etc / hosts)

127.0.0.1 blog.local

en el archivo httpd-vhosts.conf

<VirtualHost 127.0.0.1> ServerName blog.local DocumentRoot /blog/public SetEnv APPLICATION_ENV "development" <Directory /blog/public> DirectoryIndex index.php AllowOverride All Order allow,deny Allow from all </Directory>

¿Puedes decirme qué estoy haciendo mal? El navegador aún dice " No encontrado". La URL / el público solicitado no se encontró en este servidor cuando voy a http://blog.local/

Estoy ejecutando WAMP en Windows. Y esta es la ruta absoluta al proyecto ''blog'' C:/wamp/www/blog

@Edit RiggsFolly

esto es lo que obtuve ahora en el archivo httpd-vhosts.conf

<VirtualHost *:80> ServerName localhost DocumentRoot "C:/wamp/www" <Directory "C:/wamp/www"> AllowOverride All # make sure this is only allowed to be accessed by the local machine # then if/when you open one of your other sites up to the internet and somebody uses your IP # they will get directed here as its the first VH def and then receive a 403 not allowed to access Require local </Directory> </VirtualHost> <VirtualHost *:80> ServerName blog.local DocumentRoot "C:/websites/blog/public" Options Indexes FollowSymLinks SetEnv APPLICATION_ENV "development" <Directory "C:/websites/blog/public"> DirectoryIndex index.php AllowOverride All Require all granted </Directory> </VirtualHost>

Y creé un nuevo directorio en C: / llamado ''sitios web'' como sugirió


Debes ser un poco más específico con las ubicaciones de tus carpetas. Supongo que este tutorial fue escrito para Unix y estás usando Windows.

Para Apache 2.2.x use esta sintaxis:

NameVirtualHost *:80 <VirtualHost *:80> ServerName blog.local DocumentRoot "C:/wamp/www/blog/public" Options Indexes FollowSymLinks SetEnv APPLICATION_ENV "development" <Directory "C:/wamp/www/blog/public"> DirectoryIndex index.php AllowOverride All Order Allow,Deny Allow from all </Directory>

Sería mejor evitar el Allow from all y usar Allow from localhost 127.0.0.1 ::1 hasta que realmente desees permitir que el universo vea tus sitios.

Para Apache 2.4.x use esta sintaxis:

<VirtualHost *:80> ServerName blog.local DocumentRoot "C:/wamp/www/blog/public" Options Indexes FollowSymLinks SetEnv APPLICATION_ENV "development" <Directory "C:/wamp/www/blog/public"> DirectoryIndex index.php AllowOverride All Require all granted </Directory>

Nota NameVirtualHost *:80 ya no es necesario para Apache 2.4.x.

De nuevo, será mejor que evite el Require all granted y el uso de Require local hasta que realmente desee permitir que el universo vea sus sitios.

EDITADO Después del comentario del Interlocutor:

Correcto, ese es el valor predeterminado de Apache. Si ingresa una url, no puede encontrar una definición de host virtual, ya que de manera predeterminada tendrá la primera definición de host virtual que le proporcionó, el blog en su caso.

Ok, entonces ahora necesitas crear un Host Virtual para cada uno de tus otros proyectos, y LO MÁS IMPORTANTE es que el primero debe ser localhost y solo se puede acceder desde la PC local para un poco de seguridad extra.

Ahora personalmente, aprovecharía esta oportunidad para mover mis sitios reales a una estructura de carpetas totalmente independiente fuera de la estructura de la carpeta / wamp /, de modo que no haya confusión con los derechos otorgados a la carpeta / wamp / www y a mis otros sitios.

Entonces, por ejemplo, cree una carpeta c:/websites/www y en esa carpeta cree una carpeta para cada uno de sus proyectos, por ej.

c:/websites/www/blog c:/websites/www/project2

A continuación, dirija sus hosts virtuales a la carpeta relevante que contiene el código del sitio (esto puede estar en otro disco si lo desea). Esto le permite especificar la seguridad de Apache (quién está permitido en este sitio) específicamente para cada uno de sus VHOSTS. Entonces, cuando quiere que un cliente o amigo pueda jugar en un sitio, simplemente cambia la seguridad en ese sitio mientras los deja jugar.

Me gusta esto:

<VirtualHost *:80> ServerName localhost DocumentRoot "C:/wamp/www" <Directory "C:/wamp/www"> AllowOverride All # make sure this is only allowed to be accessed by the local machine # then if/when you open one of your other sites up to the internet and somebody uses your IP # they will get directed here as its the first VH def and then receive a 403 not allowed to access Require local </Directory> </VirtualHost> <VirtualHost *:80> ServerName blog.local DocumentRoot "C:/websites/www/blog/public" Options Indexes FollowSymLinks SetEnv APPLICATION_ENV "development" <Directory "C:/websites/www/blog/public"> DirectoryIndex index.php AllowOverride All Require all granted </Directory> </VirtualHost> <VirtualHost *:80> ServerName project2.dev DocumentRoot "C:/websites/www/project2" Options Indexes FollowSymLinks <Directory "C:/websites/www/project2"> DirectoryIndex index.php AllowOverride All Require local # this site also available to other PC''s on my internal network Require ip 192.168.0 </Directory> </VirtualHost>

Recuerde, para cada nuevo sitio de Virtual Host que cree, también debe agregar ese ServerName (project2.dev) al archivo de hosts.

hosts file: 127.0.0.1 blog.local 127.0.0.1 project2.dev

Espero que esto ayude.