apache22 web root directive

Mel fbsd.questions at rachie.is-a-geek.net
Thu Sep 13 03:51:38 PDT 2007


On Thursday 13 September 2007 03:15:25 Rong-En Fan wrote:
> On Wed, Sep 12, 2007 at 10:58:24PM +0200, Mel wrote:
> > On Monday 10 September 2007 14:58:13 Rong-En Fan wrote:
> > > On Mon, Sep 10, 2007 at 07:16:15AM -0500, Eric wrote:
> > > > Matthew Seaman wrote:
> > > >> -----BEGIN PGP SIGNED MESSAGE-----
> > > >> Hash: SHA256
> > > >>
> > > >> Eric wrote:
> > > >>> close, but I am not running in a non standard DocumentRoot as far
> > > >>> as I know. its set to apache22's /usr/local/www/apache22/data,
> > > >>> which is the default, but if you look at the mailgraph Makefile, it
> > > >>> uses /usr/local/www/data for the install.
> > > >>>
> > > >>> the more i look at it, the more it seems like its a mailgraph
> > > >>> issue.
> > > >>>
> > > >>> i guess I am curious of the apache20 default of /usr/local/www/data
> > > >>> was around so long its just what everyone assumes, but from what I
> > > >>> can tell, thats not the recommended practice. isnt it better to
> > > >>> install to /usr/local/www/mailgraph and then alias things?
> > > >>
> > > >> Web-based applications will generally install into a subdirectory of
> > > >> /usr/local/www independent of what web server you use.  There are
> > > >> some exceptions -- eg. cacti installs into /usr/local/share/cacti
> > > >>
> > > >> This means that you will have to make provision in your httpd.conf
> > > >> (or whatever the equivalent is for the webserver you're using) so
> > > >> that the filesystem space the application lives in is mapped into
> > > >> the URL-space provided by your webserver.  In apache, that typically
> > > >> means setting up an alias and then applying appropriate access
> > > >> controls in a <Location> or <Directory> block.
> > > >>
> > > >> Formerly many web applications installed into the apache specific
> > > >> directory /usr/local/www/data but this behaviour is now discouraged.
> > > >> It's not, AFAIK, absolutely forbidden, but you'ld have a hard time
> > > >> getting a new port through committal if it behaved like that. I
> > > >> don't think there has been a concerted effort to find all of the
> > > >> older ports that install under /usr/local/www/data and modify them;
> > > >> rather individual maintainers are expected to modify their ports as
> > > >> the occasion arises.
> > > >>
> > > >> 	Cheers,
> > > >>
> > > >> 	Matthew
> > > >>
> > > >> - --
> > > >
> > > > yes, and this is how i would prefer to see mailgraph operate as well.
> > > >  I was just pointing out the fact that mailgraph didnt work this way.
> > > >
> > > > Just to be clear, I am not doing anything out of the ordinary or
> > > > using a non-recommended DocumentRoot.
> > > >
> > > > The patch at
> > > >
> > > > http://people.freebsd.org/~rafan/mailgraph.diff
> > > >
> > > > appears to work properly, but shouldnt mailgraph be installed to
> > > > /usr/local/www/mailgraph as per the recommendations and an alias
> > > > added to apache for access to mailgraph?
> > >
> > > As I said in previous mail, I want minimal user interaction
> > > for such a simple script. I asked on ports@ before committing.
> >
> > So why don't ports use the convenient etc/apache*/Includes?
> > Defaults:
> > WWWNAME ?= ${PORTNAME}
> > WWWDIR ?= ${LOCALBASE}/www/${PORTNAME}
> >
> > post-install:
> > 	${ECHO_CMD} Alias /${WWNAME}/ "${WWDIR}" > \
> > 		${PREFIX}/etc/apache*/Includes/${WWWNAME}.conf
> >
> > User can override, minimal user interaction...
>
> Apache is not the only http server.

No really. /usr/local/www/data is hardly ever the document root in the real 
world as well. What's in ports now:
- some use /usr/local/www/portname, some use /usr/local/www/data/portname, 
some make efforts to look for the real document root (inconsistent)
- installing into the assumed document root fails when it's not the actual 
document root (user interaction required)
- user cannot override install location beyond $LOCALBASE/$PREFIX mechanisms

Any self-respecting webserver supports aliases in one way or another, the 
above was an example. A 'bsd.www.mk' activated by WWWPORT=yes in a ports 
Makefile, that installs targets for aliasing in a detected webserver, should 
resolve all of the above. Anyway, wishful thinking maybe. Sure would be nice 
to do ls -al /usr/local/www and instantly see what packages one can offer to 
a virtual host.
-- 
Mel


More information about the freebsd-questions mailing list