ah01630 apache ubuntu php

apache - ah01630 - php fpm ubuntu



Apache 2.4.6 en Ubuntu Server: Cliente denegado por la configuraciĆ³n del servidor(PHP FPM) (9)

Hoy fui actualizado al servidor Ubuntu 13.04 (Raring Ringtail) → 13.10 (Saucy Salamander).

Y mi instalación de Apache 2 está rota.

Aquí mi configuración:

Archivo error.log

[Fri Oct 18 10:48:07.237170 2013] [:notice] [pid 8292:tid 139804677900160] FastCGI: process manager initialized (pid 8292) [Fri Oct 18 10:48:07.241185 2013] [mpm_event:notice] [pid 8289:tid 139804677900160] AH00489: Apache/2.4.6 (Ubuntu) mod_fastcgi/mod_fastcgi-SNAP-0910052141 configured -- resuming normal operations [Fri Oct 18 10:48:07.241652 2013] [core:notice] [pid 8289:tid 139804677900160] AH00094: Command line: ''/usr/sbin/apache2'' [Fri Oct 18 10:48:28.313923 2013] [authz_core:error] [pid 8294:tid 139804573181696] [client 81.219.59.75:3536] AH01630: client denied by server configuration: /usr/lib/cgi-bin/php5-fcgi

Archivo default.conf

#EU <VirtualHost *:80> #ServerName DocumentRoot /var/www/dev_stable DirectoryIndex index.php index.html index.htm <Directory /var/www/dev_stable> Options Indexes FollowSymLinks MultiViews AllowOverride all Require all granted </Directory> </VirtualHost>

Archivo mods-enabled/fastcgi.conf

#<IfModule mod_fastcgi.c> # AddHandler fastcgi-script .fcgi # FastCgiWrapper /usr/lib/apache2/suexec # FastCgiIpcDir /var/lib/apache2/fastcgi #</IfModule> <IfModule mod_fastcgi.c> AddHandler php5-fcgi .php Action php5-fcgi /php5-fcgi Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /var/run/php5-fpm.sock -pass-header Authorization </Ifmodule>

Cuando intento cargar el archivo a través del navegador, obtengo:

site_name/TEST/ Forbidden You don''t have permission to access /php5-fcgi/TEST/index.php on this server.

¿Qué debería arreglarlo?


En apache2.conf , reemplace o elimine <Directory /> AllowOverride None Requerir todo denegado </ Directory>, como sugiere Jan Czarny.

Por ejemplo:

<Directory /> Options FollowSymLinks AllowOverride None #Require all denied Require all granted </Directory>

Esto funcionó en Ubuntu 14.04 (Trusty Tahr).


Me encontré con este problema exacto en una nueva instalación de Apache 2.4. Después de algunas horas de buscar y probar en Google finalmente descubrí que también tenía que permitir el acceso al directorio que contiene el objetivo (inexistente) de la directiva Alias. Es decir, esto funcionó para mí:

# File: /etc/apache2/conf-available/php5-fpm.conf <IfModule mod_fastcgi.c> AddHandler php5-fcgi .php Action php5-fcgi /php5-fcgi Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /var/run/php5-fpm.sock -pass-header Authorization # NOTE: using ''/usr/lib/cgi-bin/php5-cgi'' here does not work, # it doesn''t exist in the filesystem! <Directory /usr/lib/cgi-bin> Require all granted </Directory> </Ifmodule>


Me encontré con un problema similar hoy (pero con mod_wsgi ). Podría ser un problema de Apache 2.2 a 2.4. Se puede encontrar una lista completa de cambios here .

Para mí, me ayudó a agregar una <Directory> entrada adicional para cada ruta de la que se quejaba el registro de errores y completar la sección con Require all granted .

Entonces en tu caso podrías intentar

<Directory /usr/lib/cgi-bin/php5-fcgi> Require all granted Options FollowSymLinks </Directory>

y tuve que mover mi archivo de configuración de la carpeta conf.d a la carpeta sites-enabled .

Con todo, eso fue lo que hizo el truco para mí, pero no garantizo que funcione en su caso también.


No creo que reemplazar "Requerir todo denegado" con "Requerir todo otorgado" en esta directiva:

<Directory> Options FollowSymLinks AllowOverride None #Require all denied Require all granted </Directory>

como lo sugirió Jan Czarny y el usuario user3801675 es la forma más segura de resolver este problema.

Según los archivos de configuración de Apache, esa línea niega el acceso a la totalidad del sistema de archivos de su servidor. ¡Reemplazarlo de hecho podría permitir el acceso a sus carpetas de host virtuales, pero a cambio de permitir el acceso a toda su computadora también!

El enfoque de Gev Balyan parece ser el enfoque más seguro aquí. Fue la respuesta a los "problemas de acceso denegado" que me aquejaban después de configurar mi nuevo servidor Apache esta mañana.


Para aquellos de ustedes en AWS (Amazon Web Services), recuerden agregar una regla para su puerto SSL (en mi caso 443) a sus grupos de seguridad. Estaba recibiendo este error porque olvidé abrir el puerto.

3 horas de arrancarme el pelo más tarde ...


Recientemente me encontré con el mismo problema. Tuve que cambiar mis hosts virtuales de:

<VirtualHost *:80> ServerName local.example.com DocumentRoot /home/example/public <Directory /> Order allow,deny Allow from all </Directory> </VirtualHost>

A:

<VirtualHost *:80> ServerName local.example.com DocumentRoot /home/example/public <Directory /> Options All AllowOverride All Require all granted </Directory> </VirtualHost>


Su nombre de archivo de host virtual debe ser mysite.com.conf y debe contener esta información

<VirtualHost *:80> # The ServerName directive sets the request scheme, hostname and port that # the server uses to identify itself. This is used when creating # redirection URLs. In the context of virtual hosts, the ServerName # specifies what hostname must appear in the request''s Host: header to # match this virtual host. For the default virtual host (this file) this # value is not decisive as it is used as a last resort host regardless. # However, you must set it for any further virtual host explicitly. ServerName mysite.com ServerAlias www.mysite.com ServerAdmin [email protected] DocumentRoot /var/www/mysite # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, # error, crit, alert, emerg. # It is also possible to configure the loglevel for particular # modules, e.g. #LogLevel info ssl:warn ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <Directory "/var/www/mysite"> Options All AllowOverride All Require all granted </Directory> # For most configuration files from conf-available/, which are # enabled or disabled at a global level, it is possible to # include a line for only one particular virtual host. For example the # following line enables the CGI configuration for this host only # after it has been globally disabled with "a2disconf". #Include conf-available/serve-cgi-bin.conf </VirtualHost> # vim: syntax=apache ts=4 sw=4 sts=4 sr noet


Tengo exactamente el mismo problema. Ejecuté un par de hosts virtuales en mi máquina local para desarrollar.

Primero, cambié /etc/apache2/conf-available/php5-fpm.conf . Reemplacé cada

Order Deny,Allow Deny from all

a

Require all granted

La configuración debe ser habilitada por a2enconf php5-fpm . Hice lo mismo con las configuraciones de mi servidor virtual e hice los reemplazos.

Creo que esto no se recomienda por razones de seguridad, pero siempre que use mi servidor para fines locales solo puedo vivir con él.


Y simplemente obtuve este error porque utilicé un directorio DocumentRoot totalmente diferente.

Mi DocumentRoot principal era el /var/www/html predeterminado y en el VirtualHost utilicé /sites/example.com

He creado un enlace en /var/www/html/example.com (a /sites/example.com ). DocumentRoot se configuró en /var/www/html/example.com

Funcionó a las mil maravillas.