Configurar smarty

Joel A. Iturra bof en iturra.cl
Lun Abr 19 14:03:44 CLT 2004


On Sunday 18 April 2004 10:43, Juan andres Ramirez wrote:
> On Mon, 19 Apr 2004 09:55:18 -0400
>
> "Joel A. Iturra" <bof en iturra.cl> wrote:
> > tb podrias en el apache incluir en el virtualhost el directorio con algo
> > como
> >
> > <virtualhost....>
> >    ...............
> >    php_value include_path /dir/donde/esta/smarty:.
> >    ...............
> > </virtualhost>
>
> No encontre esas etiquetas

entonces no estas usando virtualhost, no te preocupes...

>
> > (sorry si no es exactamente asi la linea, busca en el manual para mas
> > detalles)
>
> No aparece nada en el doc de smarty, y lei en la pagina, tampoco dice nada
> en concreto

lo unico que necesitas es saber donde estan las clases y que ellas se vean 
entre si, osea podrian estar copiadas a tu directorio sin problemas o en 
otro, en cuyo caso debes usar el include path

>
> > en el php.ini deberia existis alguna linea de include path tambien
>
> Si, lo agregue asi:
> ;Smarty
> include_path="/home/sombra/smarty/"

te fijaste si no habia una linea para eso ya ??
revisando mi php.ini
ya..

hay un subseccion llamada  Paths and Directories, ahi esta comentada una linea 
por defecto, osea, para ti seria algo como

include_path = ".:/dir/donde/apt-get/instalo/smarty/"

eso para linux, para windows es otro el esquema.

user_dir lo puedes ignorar

>
> Pero tambian estaba esa linea(me asalto la duda):
> ; The directory under which PHP opens the script using /~username used only
> ; if nonempty.
> user_dir =
>
> > > [...]
> >
> > se supono NUNCA debes usar root para esto (solo se usa root para asuntos
> > de configuracion y mantencion del sistema)
> > php no requiere que seas root para ejecutarse y me imagino que todo ya
> > debe estar OK para que tu como usuario comun y silvestre trabajes
> >
> > lo que hago yo es usar algun directorio (que puede ser perfectamente un
> > subdir de mi cuenta) y le digo al apache que ahi estan las cosas y luego
> > solo programo, lo unico que hay que tener en consideracion es cuando
> > necesitas escribir algo, ahi el directorio debe tener permisos para el
> > usuario o grupo del apache
>
> No esta enredado,tengo en el http.conf, esta linea:
> User www-data
> Group www-data

ok,

supongamos que usas el directorio

/home/www/

para tus proyectos, entonces ese dir y todo lo que hay dentro lo pones a tu 
usuario (NO ROOT)

obviamente con permisos de lectura y ejecucion para los demas (755)

SOLO necesitas aquellos directorios o archivos que TUS script modifican con 
permisos de escritura para www-data:www-data (ejemplo logs, etc...)

eso pq el apache se ejecuta como ese usuario y obv no podria modificar cosas a 
las que no tenga acceso, el resto puede ser de tu propiedad

>
> Deberia cambiar el user por el que estoy usando???
>

no, apache dejalo asi tal cual

> > (mas enredado ???)
> >
> > evita dramas y cambia los permisos del dir que usar ahora a tu usuario,
> > con eso no neceistas root
>
> Copie el /usr/share/php/smarty/libs/smarty/ a mi /home/user/ ,y cambie el
> usuario.

no es necesario

repito: en el php.ini pones 

include_path = ".:/usr/share/php/smarty/libs/smarty/"

el apache lo dejas como www-data:www-data no mas

reinicas el apache

el dir de tus proyectos lo cambias a tu propiedad

chown -R user.group /home/www/
chmod -R 755 /home/www/

revisas los dir a los que el apache necesite permisos de escritura, por 
ejemplo

chown www-data.www-data /home/www/temporal/

y listo.

OBV estoy pensando que apache tiene /home/www/ como directorio principal


Saludos

P.D.: en todo caso me extranna que apt-get no te haya hecho el trabajo de 
incluir smarty altiro, supongo sera por seguridad


-- 
Joel A. Iturra
(1)(718)823-3904


Más información sobre la lista de distribución PHP