Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 6 Jun 2006 20:06:35 -0400
From:      "John DeStefano" <john.destefano@gmail.com>
To:        fbsd@a1poweruser.com
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Virtual hosts and PHP "downloads": php5 and apache22 on FreeBSD6.1-STABLE
Message-ID:  <f2160e0d0606061706w37ebdb46x8ffe94ba59165c1c@mail.gmail.com>
In-Reply-To: <MIEPLLIBMLEEABPDBIEGIEBPHIAA.fbsd@a1poweruser.com>
References:  <f2160e0d0606061245t7d1eb3deg9091d9117fccf3c3@mail.gmail.com> <MIEPLLIBMLEEABPDBIEGIEBPHIAA.fbsd@a1poweruser.com>

next in thread | previous in thread | raw e-mail | index | archive | help
First and foremost, thanks for the reply.

On 6/6/06, fbsd <fbsd@a1poweruser.com> wrote:
> The php5 port is broken in 6.1.
> It no longer defaults to activating the php/apache module.

Thanks for that. I do appreciate it.

>
> This has been covered in great detail on this list in the past 6
> weeks which you would have found out if you reviewed the list
> archives before posting this question.

I may have missed a week or two, but the only responses I've seen
personally have been "see /usr/ports/UPDATING", which I did.  I'm not
thrilled with the stock "RTFM" post, but I guess that's par for the
course.

>
> After downloading the 6.1 version php5 port config files you have to
> do "make config" and select the apache module. The "make install"
> will automatically make the correct changes to your httpd-config
> file for serving up php pages correctly. php5-extensions is not
> normally needed.

I did that.  That's pointed out in /usr/ports/UPDATING.
Unfortunately, it didn't automatically fix the issue for me.

>
> Your other httpd-config problems are due to you using apache22
> instead of apache13 which is the rock hard production version of
> Apache web server. Apache22 is generally considered as the
> developmental version.

I was running 1.3 before my BSD upgrade to 6.1-STABLE.  There were
security issues with 1.3 that were not resolved at the time of my
upgrade.  And I assumed with the package changes to PHP5 in 6.1 that
going with an updated version of apache as well would be the best
method.  If you're saying I should revert back to 1.3, should I also
revert to an earlier version of PHP5, or is the latest and greatest
still best compatible with apache13?

Thank you,
~John
> -----Original Message-----
> From: owner-freebsd-questions@freebsd.org
> [mailto:owner-freebsd-questions@freebsd.org]On Behalf Of John
> DeStefano
> Sent: Tuesday, June 06, 2006 3:46 PM
> To: freebsd-questions@freebsd.org
> Subject: Virtual hosts and PHP "downloads": php5 and apache22 on
> FreeBSD6.1-STABLE
>
>
> 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 "<VirtualHost *:80>").
>
> 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
>
> <VirtualHost *: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
> </VirtualHost>
>
> <VirtualHost *:80>
> 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
> </VirtualHost>
>
> 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?f2160e0d0606061706w37ebdb46x8ffe94ba59165c1c>