我们运行在apache的虚拟主机,有时候为了安全,需要为每个网站以不同的用户运行,这样当虚拟主机中的一个网站被入侵时,而不会影响到其它的虚拟主机。我们这里使用apache2-mpm-itk补丁来实现这种功能。
1、下载apache2和itk
到apache2-mpm-itk网站下载最新版的补丁http://mpm-itk.sesse.net/。
- wget http://apache.ziply.com//httpd/httpd-2.2.21.tar.gz
- tar xzvf httpd-2.2.21.tar.gz
- wget http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.17-01.patch
2、为apache2打上mpm-itk补丁
- cd httpd-2.2.21
- patch -p1 < ../apache2.2-mpm-itk-2.2.17-01.patch
- autoconf
3、编译apache2
编译apache2时,带上编译选项–with-mpm=itk,如:
- ./configure --with-mpm=itk
- make
- make install
4、配置apache2
- <VirtualHost *:80>
- ServerName www.example.com
- ...
- <IfModule mpm_itk_module>
- AssignUserId siteuser sitegroup
- </IfModule>
- </VirtualHost>
sitesuer是指apache以siteuser用户运行
sitegroup是指apache以sitegroup用户组运行