wiki:PeruserDocumentationInstallationFromSource

Peruser MPM Installation from Source

Installation

Download the Apache 2.2.3 source and extract it to /usr/src/.

cd /usr/src/httpd-2.2.3/ 
wget http://www.peruser.org/trac/projects/peruser/attachment/wiki/PeruserAttachments/httpd-2.2.3-peruser-0.3.0.patch?format=raw
wget http://www.peruser.org/trac/projects/peruser/attachment/wiki/PeruserAttachments/httpd-2.2.3-peruser-0.3.0-dc3.patch?format=raw
cat httpd-2.2.3-peruser-0.3.0.patch | patch -p1 
cat httpd-2.2.3-peruser-0.3.0-dc3.patch | patch -p1 
./buildconf 
./configure --with-mpm=peruser [addtional configure arguments] 

You're on your own after this point. Seriously, if you're not familiar with building apache, this project is not (yet) for you.

Configuration

# peruser MPM
<IfModule peruser.c>
 # Multiplexer pool
 MinMultiplexers 3
 MaxMultiplexers 20
 Multiplexer APACHE_USER APACHE_GROUP
 ProcessorWaitTimeout 2 10
 
 # Fork limits
 ServerLimit 20
 MaxClients 20
 MaxRequestsPerChild 1000
 
 # Processor defaults
 MinProcessors       0
 MinSpareProcessors  3
 MaxProcessors       10
 
 # Timeouts
 IdleTimeout 60
 ExpireTimeout 300

 <Processor bob>
  User bob
  Group www
 </Processor>
</IfModule>
 
<VirtualHost X>
 <IfModule peruser.c> 
  ServerEnvironment bob
 </IfModule>
</VirtualHost>