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 ????