What are the advantages/disadvantages of including *.conf e.g
Include /etc/apache2/extra/*.conf

compare to including separate conf files e.g
Include /etc/apache2/extra/ssl.conf
Include /etc/apache2/extra/dav.conf

In the later case, users can comment/uncomment lines in httpd.conf to
enable/disable a feature.

If we support *.conf then to disable a feature(or a set of configuration) users
have to rename a .conf file to something else e.g ssl.conf to ssl.conf.unused 

Regards,
Basant.

On Fri, Aug 10, 2007 at 03:05:02PM -0700, Sriram Natarajan wrote:
> It is definitely a very cool and easily manageable thing. But please 
> note that every vendor who redistributes Apache has done it slightly in 
> his own way. So, my humble request would be to thoroughly think this 
> through with an administrative view of point without breaking the 
> convention.
> 
> thanks
> sriram
> 
> Shanti Subramanyam - PAE wrote:
> > +1 for enabling the extra conf files. This is the new way of doing 
> > Apache configs and we should be supporting that rather than sticking to 
> > the old single file httpd.conf.
> >
> > Shanti
> >
> > Seema Alevoor wrote:
> >   
> >> There were some errors in the Apache Test suite conf files. I fixed them 
> >> and ran the tests again.
> >> The result is as below:
> >>
> >> Failed Test                Stat Wstat Total Fail  Failed  List of Failed
> >> -------------------------------------------------------------------------------
> >> t/modules/include.t                      86    1   1.16%  53
> >> t/security/CVE-2006-5752.t                2    1  50.00%  2
> >> 11 tests and 14 subtests skipped.
> >> Failed 2/66 test scripts, 96.97% okay. 2/2421 subtests failed, 99.92% okay.
> >>
> >>
> >> Some thoughts on the new layout :
> >> The initial proposal mentioned about a new directory, "conf.d" under 
> >> /etc/apache2 to host various Apache 2.2.4
> >> server configuration files. I don't think we need this new directory. We 
> >> already have "extra" directory under
> >> /etc/apache2 which can serve this purpose. Currently, httpd.conf-example 
> >> file explicitly includes
> >> (but the lines are commented) all the .conf files under /etc/apache2/extra 
> >> dir.
> >> Instead, we can include the following line (commented by default) in 
> >> httpd.conf-example file.
> >>      Include /etc/apache2/extra/*.conf
> >>
> >> Similarly, can't we use the existing file, "/usr/apache2/bin/envvars" 
> >> (already sourced from apachectl), for setting the variable
> >> "HTTPD" which determines the server mpm that would be used at startup ?
> >>
> >>
> >> Thanks and Regards,
> >> Seema.
> >>
> >>
> >>
> >> Seema Alevoor wrote:
> >>     
> >>> Just a clarification on the directory name change.
> >>> The change from libexec to modules was not required for building the 
> >>> co-located httpd binaries.
> >>> Stefan had suggested this change. So, I just modified the required files 
> >>> along with the other build related files.
> >>>
> >>> Thanks,
> >>> Seema.
> >>>
> >>> Seema Alevoor wrote:
> >>>       
> >>>> Hi,
> >>>>
> >>>> I tried prototyping this layout structure with multiple MPMs using sfw 
> >>>> build environment.
> >>>> I modified sfw build scripts to build and install prefork, worker mpm 
> >>>> binaries under usr/apache2/bin directory.
> >>>> First I built apr and apr-util libraries with --enable-threads option 
> >>>> and then built prefork followed by worker.
> >>>> I have used different configure options for prefork and worker.
> >>>> All the required modules are created during prefork mpm build (existing 
> >>>> way).  For building worker mpm,
> >>>> I did not include the extra module options used for prefork since only 
> >>>> the 'httpd' binary from the worker build is copied to
> >>>> usr/apache2/bin directory as httpd.worker. There is no need to build 
> >>>> these modules again.
> >>>> All the modules that are generated during prefork build get installed 
> >>>> under usr/apache2/modules
> >>>> (I have changed the directory name from "libexec" to "modules" which is 
> >>>> more intuitive).
> >>>>
> >>>> I tested these 2 co-located mpms along with the prefork mpm (part of 
> >>>> SXDE installation) located under /usr/apache2.
> >>>> First, I used torture script.  Then I ran Apache Test suite. I have 
> >>>> listed the result of these runs.
> >>>> Initially, some of the tests of Apache Test suite which passed for 
> >>>> prefork mpm failed (tests were hanging) for worker mpm.
> >>>> It was failing in cgi module. By default, prefork mpm uses mod_cgi and 
> >>>> worker mpm uses mod_cgid. My build didn't have mod_cgid.
> >>>> When I built and used cgid module, these tests passed for worker mpm and 
> >>>> got consistent results for co-located mpms and existing prefork mpm.
> >>>>
> >>>> I  have listed below, the configuration options used for building 
> >>>> prefork and mpm.
> >>>>
> >>>> prefork:
> >>>>              ./configure --prefix=/usr/apache2 \
> >>>>                  --enable-layout=Solaris-Apache2 \
> >>>>                  --enable-mods-shared=all \
> >>>>                  --enable-so \
> >>>>                  --enable-suexec \
> >>>>                  --enable-proxy \
> >>>>                  --enable-proxy-connect \
> >>>>                  --enable-proxy-ftp \
> >>>>                  --enable-proxy-http \
> >>>>                  --enable-proxy-ajp \
> >>>>                  --enable-proxy-balancer \
> >>>>                  --enable-file-cache \
> >>>>                  --enable-disk-cache \
> >>>>                  --enable-cache \
> >>>>                  --enable-mem-cache \
> >>>>                  --enable-deflate \
> >>>>                  --enable-cgi \
> >>>>                  --enable-cgid \
> >>>>                  --enable-ssl \
> >>>>                  --with-ssl=/usr/sfw \
> >>>>                  
> >>>> --with-apr=$(SRC)/cmd/apache2/httpd-prefork/$(VER)/srclib/apr \
> >>>>                  
> >>>> --with-apr-util=$(SRC)/cmd/apache2/httpd-prefork/$(VER)/srclib/apr-util \
> >>>>                  --with-mpm=prefork)
> >>>>
> >>>> worker:
> >>>>              ./configure --prefix=/usr/apache2 \
> >>>>                  --enable-layout=Solaris-Apache2 \
> >>>>                  --enable-mods-shared=all \
> >>>>                  --enable-so \
> >>>>                  --with-ssl=/usr/sfw \
> >>>>                  
> >>>> --with-apr=$(SRC)/cmd/apache2/httpd-prefork/$(VER)/srclib/apr \
> >>>>                  
> >>>> --with-apr-util=$(SRC)/cmd/apache2/httpd-prefork/$(VER)/srclib/apr-util \
> >>>>                  --with-mpm=worker)
> >>>>
> >>>>
> >>>> Test Resutls:
> >>>>
> >>>> A) torture.pl script runs:
> >>>>
> >>>> 1) Running torture on co-located worker mpm
> >>>>
> >>>> output:
> >>>> -------
> >>>>  > ./torture.pl -c 3000 http://localhost:3000/index.html
> >>>> ** torture.pl version 1.05 starting at Wed Aug  8 01:43:47 2007
> >>>> Transactions:           3000
> >>>> Elapsed time:           43.836 sec
> >>>> Bytes Transferred:      72000 bytes
> >>>> Response Time:          15.00 sec
> >>>> Transaction Rate:       68.44 trans/sec
> >>>> Throughput:             1642.50 bytes/sec
> >>>> Concurrency:            1026.7
> >>>> Status Code 200:        3000
> >>>> ** torture.pl version 1.05 ending at Wed Aug  8 01:45:03 2007
> >>>>
> >>>>
> >>>> 2) Running torture on co-located prefork mpm
> >>>>
> >>>> output:
> >>>> -------
> >>>>  > ./torture.pl -c 1000 http://localhost:3000/index.html
> >>>> ** torture.pl version 1.05 starting at Wed Aug  8 02:04:06 2007
> >>>> Transactions:           1000
> >>>> Elapsed time:           171.426 sec
> >>>> Bytes Transferred:      24000 bytes
> >>>> Response Time:          65.32 sec
> >>>> Transaction Rate:       5.83 trans/sec
> >>>> Throughput:             140.00 bytes/sec
> >>>> Concurrency:            381.1
> >>>> Status Code 200:        1000
> >>>> ** torture.pl version 1.05 ending at Wed Aug  8 02:07:07 2007
> >>>>
> >>>>  > ./torture.pl -c 2000 http://localhost:3000/index.html
> >>>> ** torture.pl version 1.05 starting at Wed Aug  8 01:55:07 2007
> >>>> Transactions:           2000
> >>>> Elapsed time:           221.519 sec
> >>>> Bytes Transferred:      38784 bytes
> >>>> Response Time:          108.84 sec
> >>>> Transaction Rate:       9.03 trans/sec
> >>>> Throughput:             175.08 bytes/sec
> >>>> Concurrency:            982.7
> >>>> Status Code 200:        1616
> >>>> Status Code 503:        384
> >>>> ** torture.pl version 1.05 ending at Wed Aug  8 01:59:10 2007
> >>>>
> >>>>
> >>>>
> >>>> 2) Running torture on original (the one that gets installed as part of 
> >>>> OS installation under /usr/apache2) prefork mpm
> >>>>
> >>>> output:
> >>>> -------
> >>>>  > ./torture.pl -c 1000 http://localhost:3000/index.html
> >>>> ** torture.pl version 1.05 starting at Thu Aug  2 03:25:22 2007
> >>>> Transactions:           1000
> >>>> Elapsed time:           168.460 sec
> >>>> Bytes Transferred:      44000 bytes
> >>>> Response Time:          57.37 sec
> >>>> Transaction Rate:       5.94 trans/sec
> >>>> Throughput:             261.19 bytes/sec
> >>>> Concurrency:            340.6
> >>>> Status Code 200:        1000
> >>>> ** torture.pl version 1.05 ending at Thu Aug  2 03:28:21 2007
> >>>>
> >>>> ./torture.pl -c 2000 http://localhost:3000/index.html
> >>>> ** torture.pl version 1.05 starting at Thu Aug  2 03:20:29 2007
> >>>> Transactions:           2000
> >>>> Elapsed time:           223.134 sec
> >>>> Bytes Transferred:      69916 bytes
> >>>> Response Time:          110.50 sec
> >>>> Transaction Rate:       8.96 trans/sec
> >>>> Throughput:             313.34 bytes/sec
> >>>> Concurrency:            990.4
> >>>> Status Code 200:        1589
> >>>> Status Code 503:        411
> >>>> ** torture.pl version 1.05 ending at Thu Aug  2 03:24:33 2007
> >>>>
> >>>>
> >>>>
> >>>> B) Apache Test suite runs: on co-located prefork, worker and original 
> >>>> (the one that gets installed as part of OS installation under 
> >>>> /usr/apache2) prefork mpms :
> >>>>
> >>>> Failed Test                Stat Wstat Total Fail  Failed  List of Failed
> >>>> -------------------------------------------------------------------------------
> >>>> t/apache/errordoc.t                      14    6  42.86%  2 4 6 10 12 14
> >>>> t/modules/cache.t                         3    3 100.00%  1-3
> >>>> t/modules/include.t                      86    6   6.98%  4-6 47-48 53
> >>>> t/modules/proxy.t                        13   12  92.31%  1-8 10-13
> >>>> t/modules/proxy_balancer.t                1    1 100.00%  1
> >>>> t/modules/vhost_alias.t                   8    8 100.00%  1-8
> >>>> t/protocol/nntp-like.t      255 65280     5    8 160.00%  2-5
> >>>> t/security/CVE-2006-5752.t                2    1  50.00%  2
> >>>> 11 tests and 14 subtests skipped.
> >>>> Failed 8/66 test scripts, 87.88% okay. 41/2421 subtests failed, 98.31% 
> >>>> okay.
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> The modified part of the layout looks like this:
> >>>>
> >>>>  proto/root_i386/usr/apache2/bin/httpd.worker
> >>>>  proto/root_i386/usr/apache2/bin/httpd
> >>>>  proto/root_i386/usr/apache2/bin/apr-1-config
> >>>>  proto/root_i386/usr/apache2/bin/apu-1-config
> >>>>  proto/root_i386/usr/apache2/bin/htpasswd
> >>>>  proto/root_i386/usr/apache2/bin/htdigest
> >>>>  proto/root_i386/usr/apache2/bin/rotatelogs
> >>>>  proto/root_i386/usr/apache2/bin/logresolve
> >>>>  proto/root_i386/usr/apache2/bin/ab
> >>>>  proto/root_i386/usr/apache2/bin/checkgid
> >>>>  proto/root_i386/usr/apache2/bin/htdbm
> >>>>  proto/root_i386/usr/apache2/bin/htcacheclean
> >>>>  proto/root_i386/usr/apache2/bin/httxt2dbm
> >>>>  proto/root_i386/usr/apache2/bin/apxs
> >>>>  proto/root_i386/usr/apache2/bin/apachectl
> >>>>  proto/root_i386/usr/apache2/bin/dbmmanage
> >>>>  proto/root_i386/usr/apache2/bin/envvars-std
> >>>>  proto/root_i386/usr/apache2/bin/envvars
> >>>>  proto/root_i386/usr/apache2/bin/suexec.disabled
> >>>>  proto/root_i386/usr/apache2/modules
> >>>>  proto/root_i386/usr/apache2/modules/mod_auth_gss.so
> >>>>  proto/root_i386/usr/apache2/modules/mod_authn_file.so
> >>>>  proto/root_i386/usr/apache2/modules/mod_authn_dbm.so
> >>>>  proto/root_i386/usr/apache2/modules/mod_authn_anon.so
> >>>>  proto/root_i386/usr/apache2/modules/mod_authn_dbd.so
> >>>>  proto/root_i386/usr/apache2/modules/mod_authn_default.so
> >>>>  proto/root_i386/usr/apache2/modules/mod_authz_host.so
> >>>>  proto/root_i386/usr/apache2/modules/mod_authz_groupfile.so
> >>>>  proto/root_i386/usr/apache2/modules/mod_authz_user.so
> >>>>  proto/root_i386/usr/apache2/modules/mod_authz_dbm.so
> >>>>  proto/root_i386/usr/apache2/modules/mod_authz_owner.so
> >>>>  proto/root_i386/usr/apache2/modules/mod_authz_default.so
> >>>>  proto/root_i386/usr/apache2/modules/mod_auth_basic.so
> >>>>  proto/root_i386/usr/apache2/modules/mod_auth_digest.so
> >>>>  proto/root_i386/usr/apache2/modules/mod_file_cache.so
> >>>>  proto/root_i386/usr/apache2/modules/mod_cache.so
> >>>>  proto/root_i386/usr/apache2/modules/mod_disk_cache.so
> >>>>  proto/root_i386/usr/apache2/modules/mod_mem_cache.so
> >>>>  proto/root_i386/usr/apache2/modules/mod_dbd.so
> >>>>  proto/root_i386/usr/apache2/modules/mod_dumpio.so
> >>>>  proto/root_i386/usr/apache2/modules/mod_ext_filter.so
> >>>>  proto/root_i386/usr/apache2/modules/mod_include.so
> >>>>  proto/root_i386/usr/apache2/modules/mod_filter.so
> >>>>  proto/root_i386/usr/apache2/modules/mod_deflate.so
> >>>>  proto/root_i386/usr/apache2/modules/mod_log_config.so
> >>>>  proto/root_i386/usr/apache2/modules/mod_log_forensic.so
> >>>>  
> >>>>
> >>>>
> >>>> Please share your thoughts on this new layout & build options.
> >>>>
> >>>>
> >>>> Thanks and Regards,
> >>>> Seema.
> >>>>
> >>>>
> >>>> Sriram Natarajan wrote:
> >>>>         
> >>>>> Hi
> >>>>>   I just posted my thoughts on as to how Apache 2.2.4 file layout could 
> >>>>> look so as to support multiple MPM support as part of our SAMP stack 
> >>>>> effort within SXDE. I would very much appreciate, if you could take a 
> >>>>> moment to review this proposal and let us know your concerns / 
> >>>>> suggestions.
> >>>>>
> >>>>> Here is the url
> >>>>> http://www.opensolaris.org/jive/thread.jspa?threadID=36272
> >>>>>
> >>>>>
> >>>>> Thanks in advance
> >>>>> sriram
> >>>>> _______________________________________________
> >>>>> webstack-discuss mailing list
> >>>>> webstack-discuss at opensolaris.org
> >>>>> http://mail.opensolaris.org/mailman/listinfo/webstack-discuss
> >>>>>           
> >>>> _______________________________________________
> >>>> webstack-discuss mailing list
> >>>> webstack-discuss at opensolaris.org
> >>>> http://mail.opensolaris.org/mailman/listinfo/webstack-discuss
> >>>>         
> >>> _______________________________________________
> >>> webstack-discuss mailing list
> >>> webstack-discuss at opensolaris.org
> >>> http://mail.opensolaris.org/mailman/listinfo/webstack-discuss
> >>>       
> >> _______________________________________________
> >> webstack-discuss mailing list
> >> webstack-discuss at opensolaris.org
> >> http://mail.opensolaris.org/mailman/listinfo/webstack-discuss
> >>     
> > _______________________________________________
> > webstack-discuss mailing list
> > webstack-discuss at opensolaris.org
> > http://mail.opensolaris.org/mailman/listinfo/webstack-discuss
> >   
> _______________________________________________
> webstack-discuss mailing list
> webstack-discuss at opensolaris.org
> http://mail.opensolaris.org/mailman/listinfo/webstack-discuss

Reply via email to