PHP y Apache · 2 min read · Jan 07, 2026

Usando PHP5-FPM Con Apache 2.4 (+ Módulo mod_proxy_fcgi) En Fedora 18 - Página 2

5 Configurando Apache

Para hacer que Apache 2.4 funcione con PHP-FPM, podemos usar la directiva ProxyPassMatch en cada vhost que debería usar PHP-FPM (ver http://wiki.apache.org/httpd/PHP-FPM).

Las configuraciones posibles son, por ejemplo:

ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/path/to/your/documentroot/$1

Esto coincide (desde la raíz del documento en adelante) con todas las rutas que contienen .php, opcionalmente seguidas de un / y cualquier ruta continuada.

ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/path/to/your/documentroot/$1

Esto coincide (desde la raíz del documento en adelante) con todas las rutas que terminan en .php.

En este ejemplo quiero configurar el vhost por defecto que tiene la raíz del documento /var/www/html. Está definido en /etc/httpd/conf/httpd.conf:

vi /etc/httpd/conf/httpd.conf

Agrega esto en algún lugar cerca del final (antes de la línea IncludeOptional conf.d/*.conf):

| [...] ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/html/$1 [...] |

Asegúrate de usar la raíz del documento correcta ( /var/www/html en este caso) en la directiva ProxyPassMatch.

Si mod_php está instalado y habilitado, necesitamos deshabilitarlo. Abre /etc/httpd/conf.d/php.conf…

vi /etc/httpd/conf.d/php.conf

… y comenta las líneas AddHandler y AddType:

| # # PHP es un lenguaje de scripting incrustado en HTML que intenta facilitar a los desarrolladores escribir páginas web generadas dinámicamente. # LoadModule php5_module modules/libphp5.so LoadModule php5_module modules/libphp5-zts.so # # Causa que el intérprete de PHP maneje archivos con una extensión .php. # #AddHandler php5-script .php #AddType text/html .php # # Agrega index.php a la lista de archivos que se servirán como índices de directorio. # DirectoryIndex index.php # # Descomenta la siguiente línea para permitir que PHP imprima de forma bonita archivos .phps # como código fuente PHP: # #AddType application/x-httpd-php-source .phps |

Reinicia Apache después:

systemctl restart httpd.service

Ahora crea el siguiente archivo PHP en la raíz del documento /var/www/html del vhost por defecto de Apache:

vi /var/www/html/info.php

| |

Ahora llamamos a ese archivo en un navegador (por ejemplo, http://192.168.0.100/info.php):

Como ves, PHP5 está funcionando, y está funcionando a través de FPM/FastCGI, como se muestra en la línea de API del servidor. Si desplazas hacia abajo, verás todos los módulos que ya están habilitados en PHP5. MySQL no está listado allí, lo que significa que aún no tenemos soporte para MySQL en PHP5.

6 Obteniendo Soporte para MySQL En PHP5

Para obtener soporte para MySQL en PHP, podemos instalar el paquete php-mysql. Es una buena idea instalar algunos otros módulos de PHP5 también, ya que podrías necesitarlos para tus aplicaciones. Puedes buscar módulos de PHP5 disponibles así:

yum search php

Elige los que necesites e instálalos así:

yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-magickwand php-mbstring php-mcrypt php-mssql php-shout php-snmp php-soap php-tidy

APC es un caché de opcodes PHP gratuito y de código abierto para almacenar en caché y optimizar el código intermedio de PHP. Es similar a otros cachés de opcodes PHP, como eAccelerator y Xcache. Se recomienda encarecidamente tener uno de estos instalados para acelerar tu página PHP.

APC se puede instalar de la siguiente manera:

yum install php-pecl-apc

Ahora recarga PHP-FPM:

systemctl reload php-fpm.service

Ahora recarga http://192.168.0.100/info.php en tu navegador y desplázate hacia abajo a la sección de módulos nuevamente. Ahora deberías encontrar muchos nuevos módulos allí, incluido el módulo de MySQL:

7 Enlaces

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.