Another PHP5 problem

Michael Powell nightrecon at hotmail.com
Thu Jun 16 16:55:46 UTC 2011


Jack L. Stone wrote:

[snip]
> 
> Thanks to both you and Mike for the advice. I've already installed
> apache22 on a test server and trying to allocate time to it as and when.
> Looks like this apr thing is going to raise the priority.

You shouldn't have any of these apr problems with 22. 
 
> Also, I see the sqlite3 is tacked on the apr you have. I only have:
> apr-ipv6-devrandom-gdbm-db46-mysql50-1.4.5.1.3.12

>>The name depends completely on the knobs you have used with
>>portbuild - my apr is:
>>apr-ipv6-devrandom-db43-pgsql84-sqlite3-1.4.5.1.3.12

Depends on what knobs you chose during the make config stage.

> What are all of those "conf" files in the apache22/extra directory? Any
> includes needed there besides perhaps the ssl if used?
> 

These are essentially just the big httpd.conf of old broken into separate 
sections. Many are not needed. You'll probably need httpd-default.conf, 
httpd-ssl.conf, httpd-mpm.conf at the bare minimum. If you are running any 
vhosts their configs will be in httpd-vhosts.conf. 

The no-accf.conf under includes is for if you do not desire to use either of 
the AcceptFilter choices, one for httpd the other for SSL traffic.  These 
can be loaded as kernel modules in /boot/loader.conf as such:

accf_http_load="YES"
accf_data_load="YES"

When there is a problem with these Apache will emit an error warning, but 
will operate OK. They are supposed to provide some small measure of 
performance improvement. What I've noticed is I never seem to get any 
warning when I boot a machine and Apache starts right up. I've only ever 
seen a warning occassionally when restarting. the no-accf.conf is simply 
telling Apache not to look for these modules. If you load these kernel 
modules simply comment out the 'Include' line at the bottom of httpd.conf.

The structure of the .conf file storage has changed, but once you look at 
the individual files themselves a lot of it is familiar, just divided up 
into pieces. There have been new and changed Directives from Apache 13, 20, 
and 22. What I did was to let apache22 install all it's default files and 
then just migrated over settings from backup copies of what I had in place 
beforehand.

One thing you'll want to know for the future - When you did make config to 
set the options for the Apache build the config gets saved as an 'options' 
file under /var/db/ports/apache22. There is a corresponding one for apr. Any 
additional extra build options not set here should be set in /etc/make.conf. 
Now I am remiss at going over and comparing mine for dupes and misfits, but 
by way of example my make.conf has this section in it:

#For Apache-2.2.9 Build
WITH_MPM=event
WITH_THREADS=yes
WITHOUT_AUTHN_MODULES=yes
WITH_CUSTOM_AUTHZ=authz_host
WITHOUT_DAV_MODULES=yes
WITHOUT_LDAP_MODULES=yes
#WITH_PROXY_MODULES=yes
#WITHOUT_SUEXEC_MODULES=yes
WITH_THREADS_MODULES=yes
WITH_CACHE_MODULES=yes
WITH_SSL_MODULES=yes
WITH_AUTH_MODULES=yes
WITH_MISC_MODULES=yes
WITH_CUSTOM_EXPERIMENTAL=ext_filter

As you can see it's old. The advantage of having these 2 configs stored is 
from now on out when you do a portupgrade it will be pretty automagical. 
I've portupgraded since 2.2.9 and never had to mess with fixing anything!

Also, I would suspect your apr was just built with whatever the port 
maintainer has set as defaults if you just launched the Apache build and it 
built the apr port as a dependency. You can set your own if you build and do 
a 'make config' in the apr port first, or you could also do 'make config 
recursive' when beginning the Apache build and this allows to set dependency 
options ahead of time. The first time a port is built and there are no saved 
'options' file it will display the build options for you to choose. Once 
this file exists you need to do 'make config' to bring that screen up again. 
A 'make config recursive' will walk the dependency tree and show you them 
all.

-Mike
  





More information about the freebsd-questions mailing list