Apache2: mod_vhost_alias + suEXEC: selezione automatica uid/gid
- To: debian-italian@lists.debian.org
- Subject: Apache2: mod_vhost_alias + suEXEC: selezione automatica uid/gid
- From: "Fabio M." <fabio.mm@gmail.com>
- Date: Sun, 6 May 2012 14:25:40 +0200
- Message-id: <CAP4CYj-z4x9mdTJOTpiM__=X+S49jQW_x20UojoJwxxPtnXLFg@mail.gmail.com>
Buongiorno a tutti,
sto cercando di configurare un hosting shared stile mass-virtual
hosting con supporto PHP5 su Debian 6.
Ho installato i pacchetti
apache2-mpm-worker libapache2-mod-fcgid apache2-suexec
e funziona tutto bene, per ora.
Ho caricato "mod_vhost_alias" per gestire i domini in base al nome
della directory e ho fatto una piccola (ed unica) configurazione di
apache2 che ho messo in
/etc/apache2/sites-enabled/001-vhostalias:
[inizio]
NameVirtualHost *:80
ServerName web-test.mynet.lan
DocumentRoot /var/www/
SuexecUserGroup www-data www-data
UseCanonicalName Off
VirtualDocumentRoot /var/www/www.%2+/public_html/
VirtualScriptAlias /var/www.%2+/cgi-bin/
DirectoryIndex index.html index.htm index.shtml index.php
ScriptAlias /__php5-cgi/ "/usr/local/lib/custom-cgi/php5-cgi/"
Action php5-script /__php5-cgi/php5-cgi
AddHandler php5-script .php
[/fine]
In questo modo, per esempio, per mettere online un dominio
"www.test-a.com" mi basta:
- creare un utente "test-a.com" (è badname, ma non è rilevante)
- mkdir -p /var/www/www.test-a.com/public_html and metterci i dati
- chown e chmod della directory all'utente
Nessun riavvio di apache, nessuna configurazione per sito.
Ho fatto qualche test senza suEXEC per vedere che PHP funzionasse, ed
gira senza problemi come www-data.
Però devo attivare suEXEC per isolare i domini, e fare in modo che
ognuno venga eseguito con il suo utente.
La domanda è: come faccio a fare in modo che suEXEC scelga da solo
l'utente in base alla directory in cui si trova?
Sto usando la configurazione di default:
root@web-test:/var/www# /usr/lib/apache2/suexec -V
-D AP_DOC_ROOT="/var/www"
-D AP_GID_MIN=100
-D AP_HTTPD_USER="www-data"
-D AP_LOG_EXEC="/var/log/apache2/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=100
-D AP_USERDIR_SUFFIX="public_html"
Ma non funziona:
root@web-test:/var/www# tail /var/log/apache2/suexec.log
[2012-05-05 18:31:48]: cannot run as forbidden uid (33/php5-cgi)
[2012-05-05 18:34:24]: uid: (33/www-data) gid: (33/www-data) cmd: php5-cgi
Notare: prima usavo "apache2-mpm-itk" con una configurazione per
dominio, ma itk diventa instabile dopo 400-500 virtual host, e spesso
al riavvio di apache crasha.
Sto dimenticando qualcosa?
Grazie!
Fabio
--
> Fabio Mora - System Administrator | Web Developer
Mail: mail@fabio.mora.name - fabio@linux.it
Ph.: (+39) 340.1504097
LinkedIn: http://goo.gl/dIXH | Facebook: http://goo.gl/vFN7w
_______________________
Libera il pianeta! Usa Linux! - http://www.gallug.it
Reply to: