Subject: [alpine-devel] [PATCH] main/apache2: fix worker and itk mpms, added itk configuration

From: Matt Smith <[email-masked]>
Date: Wed, 8 Dec 2010 22:35:23 -0600

The trouble I had while debugging this issue had to do with how I was attempting to install packages from aports.  Thanks to Timo and Natanael for getting me back on the right track.

Once I was able to successfully install apache2 from aports, I got down to business.  I have an updated APKBUILD that seems to fix the issue of having extra modules being compiled in with the alternative "itk" and "worker" MPMs; "{httpd,httpd.itk,httpd.worker} -l" output looks correct, and they all start without modifications to /etc/apache2/httpd.conf, so I believe this issue to be resolved.

I also added the itk configuration to httpd.conf.
fixes #473
---
 main/apache2/APKBUILD   |   47 ++++++++++++++++++++++-------------------------
 main/apache2/httpd.conf |   20 ++++++++++++++++++++
 2 files changed, 42 insertions(+), 25 deletions(-)

diff --git a/main/apache2/APKBUILD b/main/apache2/APKBUILD
index d85d1a2..8b5708d 100644
--- a/main/apache2/APKBUILD
+++ b/main/apache2/APKBUILD
@@ -1,7 +1,7 @@
 # Maintainer: Natanael Copa <[email-masked]>
 pkgname=apache2
 pkgver=2.2.17
-pkgrel=0
+pkgrel=1
 pkgdesc="A high performance Unix-based HTTP server"
 url="http://httpd.apache.org/"
 license="APACHE"
@@ -85,29 +85,26 @@ _buildmpm() {
 build () { 
 	local mpm
 
-	# build prefork with everything
-	_buildmpm prefork \
-		--enable-mods-shared=all \
-		--enable-ssl --with-ssl \
-		--enable-proxy \
-	        --enable-cache \
-	        --enable-disk-cache \
-		--enable-mem-cache \
-		--enable-file-cache \
-	        --enable-ldap --enable-authnz-ldap \
-	        --enable-cgid \
-	        --enable-authn-anon --enable-authn-alias \
-	        --disable-imagemap \
-		--enable-proxy-connect \
-		--enable-proxy-http \
-		--enable-proxy-ftp \
-		--enable-deflate \
-		--enable-dbd \
-		|| return 1
-
-	#build the alternative mpms, but without modules
-	for mpm in worker itk; do
-		_buildmpm $mpm --enable-modules=none
+	#build the mpms
+	for mpm in prefork worker itk; do
+		_buildmpm $mpm \
+			--enable-mods-shared=all \
+			--enable-ssl --with-ssl \
+			--enable-proxy \
+		        --enable-cache \
+		        --enable-disk-cache \
+			--enable-mem-cache \
+			--enable-file-cache \
+		        --enable-ldap --enable-authnz-ldap \
+		        --enable-cgid \
+		        --enable-authn-anon --enable-authn-alias \
+		        --disable-imagemap \
+			--enable-proxy-connect \
+			--enable-proxy-http \
+			--enable-proxy-ftp \
+			--enable-deflate \
+			--enable-dbd \
+			|| return 1
 	done
 }
 
@@ -191,7 +188,7 @@ d9667fcd2ffecc63e446edd4d6666731  10-nice.patch
 e322b5211e49511cac6e40c86af1b1da  apache2.confd
 75fe4138b98fcffd01b8c8c077b944f3  apache2.logrotate
 0261136ff734c3ae8dcf878a46ed5830  apache2.initd
-1dfc079be3fec873b67bca19b60c56b1  httpd.conf
+2df3891a45abcdc4083a2699ff7f26fc  httpd.conf
 5d0d024ca43571b863874ab871b2c109  ssl.conf
 b70fe826486043e3953cfe21f9e6fa16  ldap.conf
 c66ff5f70260d5266e6803a59b39bd7f  alpine.layout"
diff --git a/main/apache2/httpd.conf b/main/apache2/httpd.conf
index 88d983a..5345c4f 100644
--- a/main/apache2/httpd.conf
+++ b/main/apache2/httpd.conf
@@ -108,6 +108,26 @@ MaxClients       256
 MaxRequestsPerChild  4000
 </IfModule>
 
+# itk MPM
+# AssignUserID: takes two parameters, uid and gid (or really, user name and
+#               group name); specifies what uid and gid the vhost will run as
+#               (after parsing the request etc., of course).
+# MaxClientsVHost: a separate MaxClients for each vhost.
+# NiceValue: lets you nice some requests down, to give them less CPU time.
+# 
+# AssignUserID and NiceValue can be set wherever you'd like in the Apache
+# configuration, except in .htaccess.  MaxClientsVHost can only be set inside
+# a VirtualHost directive.
+<IfModule itk.c>
+AssignUserID apache apache
+StartServers       8
+MinSpareServers    5
+MaxSpareServers   20
+ServerLimit      256
+MaxClients       256
+MaxRequestsPerChild  4000
+</IfModule>
+
 # worker MPM
 # StartServers: initial number of server processes to start
 # MaxClients: maximum number of simultaneous client connections
-- 
1.7.3.2

---
Unsubscribe:  [email-masked]
Help:         [email-masked]
---