From owner-freebsd-questions@FreeBSD.ORG Tue Jun 6 19:45:39 2006 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7EA6F16AFE2 for ; Tue, 6 Jun 2006 19:45:39 +0000 (UTC) (envelope-from john.destefano@gmail.com) Received: from nz-out-0102.google.com (nz-out-0102.google.com [64.233.162.207]) by mx1.FreeBSD.org (Postfix) with ESMTP id ADEB143D46 for ; Tue, 6 Jun 2006 19:45:38 +0000 (GMT) (envelope-from john.destefano@gmail.com) Received: by nz-out-0102.google.com with SMTP id 13so4896nzn for ; Tue, 06 Jun 2006 12:45:38 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=lt42Ij1pWu5LT3JkDtpcQWkjRtVd1FbkN88EhhX4y2q1PeFO1E+Yd7Ks7VABKhJbyny8q9qpeajFaVjicik7Y9Dpsl2nAAI/CKhZE/24QKnYjkOXKLvv14cpkIIfG3sihc30NujYC+WSXuYquPzxcHXW3AE3v/Yl9sPjoIdAXic= Received: by 10.65.38.5 with SMTP id q5mr4959369qbj; Tue, 06 Jun 2006 12:45:38 -0700 (PDT) Received: by 10.65.150.2 with HTTP; Tue, 6 Jun 2006 12:45:38 -0700 (PDT) Message-ID: Date: Tue, 6 Jun 2006 15:45:38 -0400 From: "John DeStefano" To: freebsd-questions@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Subject: Virtual hosts and PHP "downloads": php5 and apache22 on FreeBSD 6.1-STABLE X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2006 19:45:48 -0000 I upgraded my system from 5.4-RELEASE to 6.1-STABLE last week, and my web server immediately stopped serving PHP pages, where I had no problem doing so before. Instead of processing the PHP code on the server and displaying the result in a browser, browsing to any page containing PHP code resulted in a prompt to download the PHP page as a file. /usr/ports/UPGRADING mentions that PHP has been streamlined and must be recompiled to work with Apache and other packages. After deinstalling, configuring (where applicable), and reinstalling PHP5, php5-extensions, and apache2 to the latest versions, not only were PHP files not being served, but my web server was toast: "Forbidden You don't have permission to access / on this server." I edited the new apache config file (now located in /usr/local/etc/apache22/httpd.conf) with my system information, including a DocumentRoot path. But when I started apache, I got some very peculiar errors: "Warning: DocumentRoot [/www/docs/dummy-host.example.com] does not exist Warning: DocumentRoot [/www/docs/dummy-host2.example.com] does not exist" Not only did I confirm beforehand that I had set the DocumentRoot path, and that apache was using the correct config file... but these "dummy" paths didn't exist in the config file! I learned eventually that a new apache directive splits out virtual host directives to a new include file (/usr/local/etc/apache22/extra/httpd-vhosts.conf). Then I learned after getting a server warning ("NameVirtualHost *:80 has no VirtualHosts") that the syntax has been slightly modified, so that the IP/port value of each VirtualHost specification must match that of the NameVirtualHost directive (i.e., "NameVirtualHost *:80" and ""). Still having trouble though: my "main" site loads properly, but the other virtual hosts aren't. Browsing to any virtual host address other than the default results in either the wrong content or an error. Here's what my httpd-vhosts.conf looks like: NameVirtualHost *:80 ServerName www.SiteA.com ServerAlias SiteA.com *.SiteA.com DocumentRoot /usr/www ErrorLog /var/log/httpd-SiteA-error.log CustomLog /var/log/httpd-SiteA-access.log combined ServerName www.SiteB.com ServerAlias SiteB.com *.SiteB.com DocumentRoot /usr/www2 ErrorLog /var/log/httpd-SiteB-error.log CustomLog /var/log/httpd-SiteB-access.log combined So, what's happening is that SiteA works as expected, but browsing to SiteB brings you to SiteA, or doesn't load at all ("403" error). In addition, I'm back to my original problem, where PHP files are not loading, and browsing to a PHP page prompts the user to download the page as a file. Any help on either the virtual hosts or the PHP download issue would be greatly appreciated. Thanks, ~John