Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   No tengo permisos para ver mis paginas (https://www.clubdelphi.com/foros/showthread.php?t=37244)

David 07-11-2006 19:58:02

No tengo permisos para ver mis paginas
 
Acabo de instalar la última versión de apache .

he creado un alias de esta manera :

<IfModule alias_module>

Alias /test "D:/Mis documentos/php/david"
ScriptAlias /cgi-bin/ "C:/Archivos de programa/Apache Software Foundation/Apache2.2/cgi-bin/"

#Todas estas lineas de aquí abajo las he añadido yo :

ScriptAlias /php4/ "C:/php4/"
AddType application/x-httpd-php3 .php3
AddType application/x-httpd-php3-source .phps
AddType application/x-httpd-php3 .php .php4
AddType application/x-httpd-php-source .phps
AddHandler php-script .php3
AddHandler php-script .php .php4
Action php3-script /php/php.exe
Action php-script /php4/php.exe

</IfModule>


pongo en la web : http://localhost/test

y me dice que no estoy autorizado a ver esta página .

La pregunta es ¿Por qué? ¿Qué puedo hacer?

Saludos

dec 07-11-2006 20:41:19

Hola,

Es posible que lo que no estés autorizado a hacer es a listar el directorio de marras. ¿Probaste con algo así, suponiendo que exista el archivo "ejemplo.php"?

Código:

http://localhost/test/ejemplo.php
Es posible que el archivo que haya de tomar por defecto Apache (generalmente "index.php") no exista en dicho directorio, y así, por otras directivas de Apache, no se permite "listar" otros archivos que hubiera en el mismo.

Revisa la ayuda sobre las siguientes directivas de Apache:

Código:

Options -MultiViews +FollowSymlinks
Eso, por ejemplo, impide que se liste un determinado directorio. Es decir, que no se especifica un archivo en concreto no se te permitirá acceder al contenido de dicho directorio, esto es, a saber qué archivos contiene.

Revisa la directiva de Apache "DirectoryIndex" donde puedes especificar el archivo al que Apache dará prioridad cuando se acceda a un directorio. Por defecto es "index.php", pero, puede cambiarse.

Por ejemplo, en un archivo ".htaccess" puedes escribir algo como esto:

Código:

DirectoryIndex inicio.php
En el directorio de marras. De ese modo, cuando se acceda tal como quieres al directorio Apache se encargará de "retornar" el archivo "inicio.php".

roman 07-11-2006 20:51:26

Cita:

Empezado por dec
Revisa la ayuda sobre las siguientes directivas de Apache:

Código:

Options -MultiViews +FollowSymlinks
Eso, por ejemplo, impide que se liste un determinado directorio. Es decir, que no se especifica un archivo en concreto no se te permitirá acceder al contenido de dicho directorio, esto es, a saber qué archivos contiene.

Me parece que la directiva para esto sería más bien la de Indexes:

Código:

Options -Indexes
// Saludos

dec 07-11-2006 20:53:55

Hola,

Probablemente tengas razón Román. Lo cierto es que pretendía dar algunas pistas, pero, sé perfectamente que estoy muy verde en Apache, entre otras muchas cosas. ;)

roman 07-11-2006 20:57:32

Yo estoy peor que verde pero justamente acabo de experimentar esa directiva. Otra cosa que veo es que, aun cuando uso Apache 3.x en lugar del 2.x, se me hace extraño meter esas directivas en <IfModule alias_module>. En la versión 3.x están dentro de <IfModule mod_mime.c>

// Saludos

David 07-11-2006 21:02:30

si que he puesto http://localhost/test/archivo.php (probando con varios archivos , que además se seguro que funcionan)

en cuanto a la opción esa , tengo esto en el httpd.conf :

Options Indexes FollowSymLinks

el caso es que no sé por que me niega el permiso . Tengo Windows XP .

Saludos

David 07-11-2006 21:28:50

1 Archivos Adjunto(s)
Adjunto el archivo httpd.conf , a ver si alguien ve donde esta el error .

roman 07-11-2006 21:41:57

A ver. Observa que tienes:

Código:

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Satisfy all
</Directory>

lo cual deniega el acceso a cualquier directorio. Esto se sobrescribe en:

Código:

<Directory "C:/Archivos de programa/Apache Software Foundation/Apache2.2/htdocs">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #  Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.2/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #  Options FileInfo AuthConfig Limit
    #
    AllowOverride None

    #
    # Controls who can get stuff from this server.
    #
    Order allow,deny
    Allow from all

</Directory>

pero el alias apunta a un directorio distinto. Luego entonces, deberías agregar:

Código:

<Directory "C:/david">
    Order allow,deny
    Allow from all 
</Directory>

// Saludos

David 07-11-2006 22:01:02

hola

he añadido :

Código PHP:

<Directory />
    
Options FollowSymLinks
    AllowOverride None
    Order deny
,allow
    Deny from all
    Satisfy all
</Directory>

<
Directory "C:/david">
    
Order allow,deny
    Allow from all  
</Directory

Y ahora me funcionan las paginas , con extensión html y htm , pero las que tienen extensión php , me sigue denegando el acceso .

roman 07-11-2006 22:10:10

No veo ningún lado donde agregues el manejo de archivos con extensión php. En tus AddType tienes de todos los sabores menos el que necesitas:

Código:

AddType application/x-httpd-php .php
Además, parece que estás mezclando cosas de php3 con php4. Creo que sería más conveniente que leyeras el manual de php para su instalación pues aparte de esto hay detalles como el que mencioné anteriormente acerca de dónde colocas esas instrucciones.

// Saludos

David 07-11-2006 22:38:02

ahora que estoy pensando

en el libro que tengo dice que hay que añadir en la linea que tiene la palabra Action /cgi-script/location

Action application/x-httpd-php "/php4/php.exe

Pero no tengo ninguna linea con la palabra Action , además no tengo el archivo php.exe .

Yo sólo he instalado Apache , nada más . ¿Hay que instalar algo mas?

roman 07-11-2006 22:45:43

Hay dos formas de instalar php, como módulo de apache o como cgi. Se recomienda lo primero y la línea que mencionas corresponde a cgi. Una vez más, te recomiendo que leas el manual.

Agrego: Por cierto, antes de experimentar con Alias y demás, sería bueno que te asegures que funciona php y ya luego experimentas con otras cosas.

// Saludos

David 07-11-2006 23:07:15

¿dónde esta ese manual?

roman 07-11-2006 23:10:52

http://www.php.net/manual/es/install.php

Ahí mismo, en el sitio de php puedes también descargar el manual en distintos formatos.

// Saludos

David 08-11-2006 07:59:14

1 Archivos Adjunto(s)
He instalado php5 y no me funciona las paginas de php , me carga las de html , pero cuando intenta cargar una de php me da error y apache se para .

Me he leído la ayuda , y aún así no consigo que funcione .

Adjunto el archivo httpd.conf , tal y como lo tengo ahora .

Saludos


La franja horaria es GMT +2. Ahora son las 23:51:50.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi