php cgiwrap .. solved

Jozef Hitzinger hitzinger@phobos.fphil.uniba.sk
Thu, 29 Mar 2001 14:14:59 +0200 (CEST)


On Thu, 29 Mar 2001, Vladimir Michl wrote:

> > pokusam sa rozbehat php skripty tak, aby som mohol chodit do databazy nie
> > ako www-data, ale ako user todo. Aj po niekolkych dnoch hladania faq/howto
> > mam z toho trochu chaos, neviete prosim o nejakom exampli? 
> 
> Pokud vim, tak cgi-wrap neni treba vubec instalovat, staci pouze php-cgi.
> 
> Php scripty se pak spousti normalne z prikazove radky
> $ php php_script.php

Aha, asi som to napisal nejasne. Nechcem phpcka spustat z commandline, ale
cez web. Ked ich interpretuje php modul v apache, bezi to pod userom
www-data, co nie je najstastnejsie pre pristup do databazy.

Uz som to vlastne vyriesil. Chcel som hodit postup na web a poslat link
ale nebol cas .. No, napisem to teraz, mozno to niekomu pomoze.

Takze: nainstalovat php-cgi, php-cgi-pgsql a cgiwrap, pridat do
httpd.conf direktivu

<Directory /home/todo/public_html/cgi-bin>
AddHandler application/x-httpd-phpcgi .pcgi
Action application/x-httpd-phpcgi /cgi-bin/cgiwrap/todo/phpcgi.cgi
</Directory>

do ~todo/public_html/cgi-bin dat phpcgi.cgi ktory vyzera takto

#!/bin/sh
PHPCGI_SCRIPT=`echo $PATH_INFO | sed -e s/.*\\\\///`
export PATH_TRANSLATED=$PWD/$PHPCGI_SCRIPT
/usr/lib/cgi-bin/php3

potom samotny php skript ~todo/public_html/cgi-bin/todo.pcgi (napisany v
php3) nemusi mat na zaciatku ziadne #! a cele to funguje, ten skript sa
vyvola cez

http://server/~todo/cgi-bin/todo.pcgi

a pri pristupe k databaze skutocne bezi pod userom 'todo', takze sa da
pouzit SQL grant.

Je to trochu neohrabane, lebo pre kazdeho usera co by toto chcel pouzivat
treba definovat zvlast apache direktivu (no, moze ju mat v .htaccess vo
svojom cgi-bin adresari), a musi si tiez nakopirovat do cgi-bin ten kratky
phpcgi.cgi

Ale zasa je to bez zasahov do std debian balickov a bez kompilovania, a to
v mojom pripade rozhodlo.

Co sa tyka bezpecnosti, phpcgi.cgi aj todo.pcgi maju prava 700 todo.nogroup 
a malo by to byt ok. Ak tam tusite nejaku zradu, rad sa necham poucit.

-- 
jozef  :-)