Running Vhosts Under Separate UIDs/GIDs With Apache2 mpm-itk On Debian Etch
Running Vhosts Under Separate UIDs/GIDs With Apache2 mpm-itk On Debian EtchVersion 1.0 This article explains how you can install and configure apache2-mpm-itk on a Debian Etch server. apache2-mpm-itk is an MPM (Multi-Processing Module) for the Apache 2 web server. mpm-itk allows you to run each of your vhost under a separate UID and GID - in short, the scripts and configuration files for one vhost no longer have to be readable for all the other vhosts. mpm-itk works with mod_php because mpm-itk is based on the traditional prefork MPM, which means it's non-threaded. This means you don't need to use suExec or suPHP anymore to run a website's PHP scripts as a separate user. This document comes without warranty of any kind! I do not issue any guarantee that this will work for you!
1 Preliminary NoteI'm assuming you have a working Apache2 installation with mod_php on your Debian Etch server. For speed considerations, take a look at http://blog.stuartherbert.com/php/2008/04/19/using-mpm-itk-to-secure-a-shared-server/. For security considerations, please visit http://mpm-itk.sesse.net/.
2 Installing apache2-mpm-itkapache2-mpm-itk is available as a Debian package for Debian Etch, so all we have to do is run apt-get install apache2-mpm-itk
3 Configuring apache2-mpm-itkapache2-mpm-itk is configured on a per-vhost basis, i.e., we don't have to set any global options, and there's only one directive we need to set in a vhost, AssignUserId, which takes two parameters, the user name and the group that the vhost will run as. In this example I will use the default Debian Apache vhost (you can find its configuration in /etc/apache2/sites-available/default) with the document root /var/www (if you have different vhosts, please adjust this to your situation), and I want this vhost to run as the user web1_admin and group web1. If the user and group don't already exist, we can create them as follows: groupadd web1 Then we open our vhost configuration and add the following lines to it:
For example: vi /etc/apache2/sites-available/default
Restart Apache afterwards: /etc/init.d/apache2 restart That's it!
4 Links
|
Join the discussion.
www.seamlessenterprise.com
IP Convergence
Integrate your wireless and wireline networks.
Learn how from the experts at Sprint.
www.seamlessenterprise.com
Wireless & Wireline Integration
Thoughts, strategies and solutions: join the discussion
www.seamlessenterprise.com
Unified Communications 2009
Join the Discussion. Now.
www.seamlessenterprise.com
Red Hat Virtual Experience - a free virtual event. Dec. 9th







Recent comments
12 hours 17 min ago
18 hours 5 min ago
19 hours 56 min ago
21 hours 41 min ago
1 day 1 hour ago
1 day 7 hours ago
1 day 7 hours ago
1 day 11 hours ago
1 day 17 hours ago
1 day 22 hours ago