我们运行在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用户组运行

转载地址:http://www.centos.bz/2011/11/apache-virtualhost-different-user-with-apache2-mpm-itk/