Apache Configuration · 2 min read · Jan 29, 2026
Executando Vhosts Sob UIDs/GIDs Separados Com Apache2 mpm-itk No Debian Etch
Executando Vhosts Sob UIDs/GIDs Separados Com Apache2 mpm-itk No Debian Etch
Versão 1.0
Autor: Falko Timme
Este artigo explica como você pode instalar e configurar apache2-mpm-itk em um servidor Debian Etch. apache2-mpm-itk é um MPM (Módulo de Processamento Múltiplo) para o servidor web Apache 2. mpm-itk permite que você execute cada um dos seus vhosts sob um UID e GID separados - em resumo, os scripts e arquivos de configuração de um vhost não precisam mais ser legíveis para todos os outros vhosts. mpm-itk funciona com mod_php porque mpm-itk é baseado no MPM tradicional prefork, o que significa que não é multithread. Isso significa que você não precisa mais usar suExec ou suPHP para executar os scripts PHP de um site como um usuário separado.
Este documento vem sem garantia de qualquer tipo! Não dou nenhuma garantia de que isso funcionará para você!
1 Nota Preliminar
Estou assumindo que você tem uma instalação do Apache2 funcionando com mod_php em seu servidor Debian Etch.
Para considerações de velocidade, dê uma olhada em http://blog.stuartherbert.com/php/2008/04/19/using-mpm-itk-to-secure-a-shared-server/.
Para considerações de segurança, visite http://mpm-itk.sesse.net/.
2 Instalando apache2-mpm-itk
apache2-mpm-itk está disponível como um pacote Debian para Debian Etch, então tudo o que precisamos fazer é executar
apt-get install apache2-mpm-itk3 Configurando apache2-mpm-itk
apache2-mpm-itk é configurado com base em cada vhost, ou seja, não precisamos definir nenhuma opção global, e há apenas uma diretiva que precisamos definir em um vhost, AssignUserId, que aceita dois parâmetros, o nome do usuário e o grupo que o vhost irá executar.
Neste exemplo, usarei o vhost padrão do Debian Apache (você pode encontrar sua configuração em /etc/apache2/sites-available/default) com o diretório raiz /var/www (se você tiver vhosts diferentes, ajuste isso para sua situação), e quero que este vhost seja executado como o usuário web1_admin e grupo web1.
Se o usuário e o grupo ainda não existirem, podemos criá-los da seguinte forma:
groupadd web1
useradd -s /bin/false -d /home/web1_admin -m -g web1 web1_admin
Então abrimos nossa configuração de vhost e adicionamos as seguintes linhas:
| [...] |
Por exemplo:
vi /etc/apache2/sites-available/default| NameVirtualHost * |
Reinicie o Apache em seguida:
/etc/init.d/apache2 restart É isso!
4 Links
- apache2-mpm-itk: http://mpm-itk.sesse.net
- Apache: http://httpd.apache.org
- Debian: http://www.debian.org
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.