Foros del Web » Administración de Sistemas » Apache »

Apache2 y php fcgi.

Estas en el tema de Apache2 y php fcgi. en el foro de Apache en Foros del Web. Hola a todos. Bueno, les informo que configure Apache2 para tener dos virtual host, los cuales ya probe :). Bueno, ahora lo que quiero, leyendo ...
  #1 (permalink)  
Antiguo 14/11/2005, 18:56
hgb
 
Fecha de Ingreso: noviembre-2002
Mensajes: 31
Antigüedad: 22 años
Puntos: 0
Apache2 y php fcgi.

Hola a todos.


Bueno, les informo que configure Apache2 para tener dos virtual host, los cuales ya probe :).



Bueno, ahora lo que quiero, leyendo encontre que una configuración segura para un servidor compartido es: php-fastcgi + suexec(userdir+ Apache2). No entiendo exactamente porque en ese comentario pusierón userdir + Apache2 entre parentésis. Lo que quiero es llegar a esa fonfiguración.


Describo mi sistema:

- SUSE 10

- Apache2 lo instale de los RPM que vienen en la distribución, junto con mod_fastcgi.

Esta instalado en... bueno, no se donde esta instalado, erpo apachectl esta en /usr/sbin/apache2ctl
Código:
linux:/home/hgb # /usr/sbin/apache2ctl -v
Server version: Apache/2.0.54
Server built:   Sep  9 2005 18:32:43
El PHP lo compile para agregarle la opción --enable-fastcgi, junto con la mayoría de las opciones que había sido compilado en el RPM (las copie primero antes de borrar el php del RPM).

Esta instalado en /usr/bin/ hay ta el php y se puede llamar desde línea de comando.
Código:
linux:/home/hgb # php -v
PHP 5.0.5 (cgi-fcgi) (built: Nov 13 2005 04:40:21)
Copyright (c) 1997-2004 The PHP Group
Zend Engine v2.0.5, Copyright (c) 1998-2004 Zend Technologies

Mis carpetas creadas:
Código:
/apache_start/
/apache_start/sites/
/apache_start/sites/uno
/apache_start/sites/dos
Mis archivos que cree:
Código:
/apache_start/httpd.conf

/apache_start/sites/uno/index.html
/apache_start/sites/uno/index.php

/apache_start/sites/dos/index.html
/apache_start/sites/dos/index.php
index.html tiene un saludo diciendo "hola uno" u "hola dos", dependiendo...

Esos dos ya los prove y si me los sirve el servidor correctamente :).

Ahora, este es mi httpd.conf, lo rojo es lo que he agregado para que me reconozca los *.php, pero no funciona :(.

Código:
Listen 8080

User hgb
Group users


LoadModule mime_module                    /usr/lib/apache2-prefork/mod_mime.so
TypesConfig /etc/apache2/mime.types
DefaultType text/plain


Options None


DocumentRoot /apache_start/sites/


LoadModule      dir_module      /usr/lib/apache2/mod_dir.so
DirectoryIndex  index.html index.htm


LoadModule	autoindex_module /usr/lib/apache2/mod_autoindex.so
Options         +Indexes
IndexOptions FancyIndexing FoldersFirst ScanHTMLTitles DescriptionWidth=* NameWidth=*
IndexIgnore     "#*#" "*~"


LoadModule	alias_module /usr/lib/apache2/mod_alias.so


LoadModule      userdir_module /usr/lib/apache2/mod_userdir.so
#UserDir         public_html_xxxxxxx




LoadModule fastcgi_module /usr/lib/apache2/mod_fastcgi.so
LoadModule actions_module /usr/lib/apache2/mod_actions.so




AddType application/x-httpd-php .php
AddHandler php-fastcgi .php
Action php-fastcgi /usr/bin/php
Options +ExecCGI

<Directory /apache_start/sites/uno>
	Options +ExecCGI
</Directory>

<Directory /apache_start/sites/dos>
	Options +ExecCGI
</Directory>











NameVirtualHost *:8080

# create a <VirtualHost _default_:*> server that has no pages to serve
<VirtualHost _default_:8080>
</VirtualHost>

<VirtualHost *:8080>
ServerName		uno.dom.com
ServerAlias		dom1.*
DocumentRoot		/apache_start/sites/uno
</VirtualHost>

<VirtualHost *:8080>
ServerName		dos.dom.com
ServerAlias		dom2.*
DocumentRoot    /apache_start/sites/dos
</VirtualHost>
Cuando intento accesar uno.dom.com/index.php o dos.dom.com/index.php, me dice el siguiente error:

Cita:
Not Found

The requested URL /usr/bin/php/index.php was not found on this server.

Bueno, esa es la cosa. Yo esperaba que llamara al programa... y no que concatenará la ruta al programa con el pedido de /index.php :S.


Según yo, hay dos formas de correr ese php.... una es pasarle las páginas directamente y la otra es ejecutar php -b 127.0.0.1:8001 por ejemplo.




Las preguntas :).

1) Primero quiero poder utilizar este php compilado por mi, según yo, no es vía mod_php puesto que este ni existe. Según yo, es la manera como lo estoy haciendo actualmente.

2) si ejecuto php -b 127.0.0.1:8001 (se queda esperando en la línea de comando), como le hago para que apache mande el flujo de los php a ese lugar (creo que es via external server... pero ni puedo hacer que se ejecute "normalmente" como quiero pasar a esto... :S)

3) Esta es la forma de utilizar cgi-fcgi ????

Última edición por hgb; 14/11/2005 a las 23:39
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:40.