I am playing with the Zend Framework on my laptop. In my reading of Zend documentation it looks like Zend wants a certain directory structure so I created: /var/www/html/QuickStart/ /var/www/html/QuickStart/application/ /var/www/html/QuickStart/application/controllers/ /var/www/html/QuickStart/application/views/ /var/www/html/QuickStart/application/views/scripts/ /var/www/html/QuickStart/library/ /var/www/html/QuickStart/public/
The last directory 'public' wants to be the DocumentRoot I want to set up a virtual server whose DocumentRoot is /var/www/html/QuickStart/public
my machine's name is confianza and it is running Fedora 10 [root@confianza conf]# uname -a Linux confianza 2.6.27.21-170.2.56.fc10.i686 #1 SMP Mon Mar 23 23:37:54 EDT 2009 i686 i686 i386 GNU/Linux
I set up /etc/hosts so both confianza and confianzazend resolve to 127.0.0.1 [root@confianza conf]# grep 127.0.0.1 /etc/hosts 127.0.0.1 localhost.localdomain localhost confianza confianzazend
My current apache web server uses /var/www/html as it's DocumentRoot and runs fine.
[root@confianza conf]# yum list installed | grep -i http httpd.i386 2.2.11-2.fc10 installed httpd-tools.i386 2.2.11-2.fc10 installed jakarta-commons-httpclient.i386 1:3.1-0.3.fc10 installed system-config-httpd.noarch 5:1.4.4-2.fc10 installed [root@confianza conf]# yum list installed | grep -i zend php-ZendFramework.noarch
I edited /etc/httpd/conf/httpd.conf as follows: # ServerName confianza:80 NameVirtualHost *:80 # <VirtualHost *:80> ServerName confianza DocumentRoot "/var/www/html"
</VirtualHost> # <VirtualHost *:80> ServerName confianzazend DocumentRoot "/var/www/html/QuickStart/public" </VirtualHost>
I then restart httpd [root@confianza html]# service httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ]
I want http://confianza to return the contents of /var/www/html I want http://confianzazend to return the contents of /var/www/html/QuickStart
What is happening is that both http://confianza and http://confianzazend are both returning the contents of /var/www/html
I've looked at several web pages and they all say the same thing, this should just work (TM). It seems simple enough yet my problem persists. What else do I need to do?
Thanks
Dennis:
Having read the entire thread, so far, I don't believe that anyone else has actually identified the issue.
The issue is the use of:
<VirtualHost *:80>
You've got a wildcard in every "VirtualHost" declaration. As a result, you're going to match on the very first VirtualHost, and never get past it.
Instead, your VirtualHost declaration needs to be specific about the hostname (or FQDN) for which it is supposed to serve up the particular web pages.
What you need to do, instead, is set:
<VirtualHost confianza:80>
and
<VirtualHost confianzazend:80>