使用apache2-mpm-itk以不同用户运行apache虚拟主机

我们运行在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. <IfModule mpm_itk_module>
  5. AssignUserId siteuser sitegroup
  6. </IfModule>
  7. </VirtualHost>

sitesuer是指apache以siteuser用户运行
sitegroup是指apache以sitegroup用户组运行