我们运行在apache的虚拟主机,有时候为了安全,需要为每个网站以不同的用户运行,这样当虚拟主机中的一个网站被***时,而不会影响到其它的虚拟主机。我们这里使用apache2-mpm-itk补丁来实现这种功能。

1、下载apache2和itk

到apache2-mpm-itk网站下载最新版的补丁http://mpm-itk.sesse.net/
  1. wget  http://apache.ziply.com//httpd/httpd-2.2.21.tar.gz 
  2. tar xzvf httpd-2.2.21.tar.gz 
  3. wget http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.17-01.patch 
2、为apache2打上mpm-itk补丁
  1. cd httpd-2.2.21 
  2. patch -p1 < ../apache2.2-mpm-itk-2.2.17-01.patch 
  3. autoconf 
3、编译apache2
编译apache2时,带上编译选项–with-mpm=itk,如:
  1. ./configure --with-mpm=itk 
  2. make 
  3. make install 
4、配置apache2
  1. <VirtualHost *:80> 
  2. ServerName www.example.com 
  3. ... 
  4.   
  5. <IfModule mpm_itk_module> 
  6. AssignUserId siteuser sitegroup 
  7. </IfModule> 
  8. </VirtualHost> 
sitesuer是指apache以siteuser用户运行  sitegroup是指apache以sitegroup用户组运行