PHP y Apache · 4 min read · Jan 01, 2026

Usando PHP5-FPM Con Apache2 En OpenSUSE 12.1

Usando PHP5-FPM Con Apache2 En OpenSUSE 12.1

Versión 1.0
Autor: Falko Timme
Sígueme en Twitter

Este tutorial muestra cómo puedes instalar un servidor web Apache2 en un servidor OpenSUSE 12.1 con soporte para PHP5 (a través de PHP-FPM) y MySQL. PHP-FPM (FastCGI Process Manager) es una implementación alternativa de PHP FastCGI con algunas características adicionales útiles para sitios de cualquier tamaño, especialmente para sitios más concurridos.

¡No garantizo que esto funcione para ti!

1 Nota Preliminar

En este tutorial utilizo el nombre de host server1.example.com con la dirección IP 192.168.0.100. Estas configuraciones pueden diferir para ti, así que debes reemplazarlas donde sea apropiado.

2 Habilitando Repositorios Adicionales

Necesitamos instalar mod_fastcgi más adelante, el cual está disponible en un repositorio que no está habilitado por defecto. Podemos habilitarlo de la siguiente manera:

zypper --gpg-auto-import-keys addrepo --name "Módulos de terceros para el servidor HTTP Apache. (Apache_openSUSE_12.1)" http://download.opensuse.org/repositories/Apache:/Modules/Apache_openSUSE_12.1/ apache-third-party-12.1

3 Instalando MySQL 5

Para instalar MySQL, hacemos lo siguiente:

yast2 -i mysql mysql-client mysql-community-server

Luego creamos los enlaces de inicio del sistema para MySQL (para que MySQL se inicie automáticamente cada vez que el sistema arranque) y comenzamos el servidor MySQL:

systemctl enable mysql.service   
systemctl start mysql.service

Para asegurar la instalación de MySQL, ejecuta:

mysql_secure_installation

Ahora se te harán varias preguntas:

server1:~ # mysql_secure_installation

NOTA: ¡SE RECOMIENDA EJECUTAR TODAS LAS PARTES DE ESTE SCRIPT PARA TODOS LOS SERVIDORES MySQL EN USO EN PRODUCCIÓN! ¡LEA CADA PASO CUIDADOSAMENTE!

Para iniciar sesión en MySQL y asegurarla, necesitaremos la contraseña actual para el usuario root. Si acabas de instalar MySQL, y no has establecido la contraseña de root aún, la contraseña estará en blanco, así que solo debes presionar enter aquí.

Introduce la contraseña actual para root (presiona enter si no hay): <– ENTER
OK, se utilizó la contraseña con éxito, continuando…

Establecer la contraseña de root asegura que nadie pueda iniciar sesión en el usuario root de MySQL sin la autorización adecuada.

¿Establecer contraseña de root? [Y/n] <– Y
Nueva contraseña: <– introduce tu contraseña deseada para root de MySQL
Reingresa la nueva contraseña: <– confirma esa contraseña
¡Contraseña actualizada con éxito!
Recargando tablas de privilegios..
… ¡Éxito!

Por defecto, una instalación de MySQL tiene un usuario anónimo, permitiendo que cualquiera inicie sesión en MySQL sin tener que tener una cuenta de usuario creada para ellos. Esto está destinado solo para pruebas, y para hacer que la instalación sea un poco más fluida. Debes eliminarlos antes de pasar a un entorno de producción.

¿Eliminar usuarios anónimos? [Y/n] <– Y
… ¡Éxito!

Normalmente, solo se debería permitir que root se conecte desde ‘localhost’. Esto asegura que alguien no pueda adivinar la contraseña de root desde la red.

¿Deshabilitar el inicio de sesión remoto de root? [Y/n] <– Y
… ¡Éxito!

Por defecto, MySQL viene con una base de datos llamada ‘test’ a la que cualquiera puede acceder. Esto también está destinado solo para pruebas, y debe ser eliminado antes de pasar a un entorno de producción.

¿Eliminar la base de datos de prueba y el acceso a ella? [Y/n] <– Y

  • Eliminando la base de datos de prueba…
    … ¡Éxito!
  • Eliminando privilegios en la base de datos de prueba…
    … ¡Éxito!

Recargar las tablas de privilegios asegurará que todos los cambios realizados hasta ahora tengan efecto inmediato.

¿Recargar tablas de privilegios ahora? [Y/n] <– Y
… ¡Éxito!

Limpiando…

¡Todo listo! Si has completado todos los pasos anteriores, tu instalación de MySQL debería estar ahora segura.

¡Gracias por usar MySQL!

server1:~ #

Ahora tu configuración de MySQL debería estar asegurada.

4 Instalando Apache2

Apache2 está disponible como un paquete de OpenSUSE, por lo tanto, podemos instalarlo de esta manera:

yast2 -i apache2

Ahora configura tu sistema para iniciar Apache al arrancar…

systemctl enable apache2.service

… y comienza Apache:

systemctl start apache2.service

Ahora dirígete a tu navegador a http://192.168.0.100, y deberías ver la página de marcador de posición de Apache2 (no te preocupes por el error 403, esto sucede porque no hay un archivo de índice (por ejemplo, index.html) en el directorio raíz del documento):

La raíz del documento por defecto de Apache es /srv/www/htdocs/ en OpenSUSE, y el archivo de configuración es /etc/apache2/httpd.conf. Las configuraciones adicionales se almacenan en el directorio /etc/apache2/conf.d/.

5 Instalando PHP5

Podemos hacer que PHP5 funcione en Apache2 a través de PHP-FPM y el módulo mod_fastcgi de Apache que instalamos de la siguiente manera:

yast -i apache2-mod_fastcgi php5-fpm

Antes de iniciar PHP-FPM, renombra /etc/php5/fpm/php-fpm.conf.default a /etc/php5/fpm/php-fpm.conf:

mv /etc/php5/fpm/php-fpm.conf.default /etc/php5/fpm/php-fpm.conf

Cambia los permisos del directorio de sesiones de PHP:

chmod 1733 /var/lib/php5

Luego abre /etc/php5/fpm/php-fpm.conf…

vi /etc/php5/fpm/php-fpm.conf

… y cambia error_log a /var/log/php-fpm.log y descomenta pm.min_spare_servers y pm.max_spare_servers:

| [...] error_log = /var/log/php-fpm.log [...] pm.min_spare_servers = 5 [...] pm.max_spare_servers = 35 [...] |

A continuación, crea los enlaces de inicio del sistema para php-fpm y inícialo:

systemctl enable php-fpm.service   
systemctl start php-fpm.service

PHP-FPM es un proceso daemon que ejecuta un servidor FastCGI en el puerto 9000, como puedes ver en la salida de

netstat -tapn
server1:~ # netstat -tapn  
Conexiones de Internet activas (servidores y establecidas)  
Proto Recv-Q Send-Q Dirección Local           Dirección Remota         Estado       PID/Nombre del Programa  
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      2329/nginx  
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1204/sshd  
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      2511/php-fpm.conf)  
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      2059/mysqld  
tcp        0      0 192.168.0.100:22        192.168.0.199:1632      ESTABLISHED 1284/0  
tcp        0      0 :::22                    :::*                     LISTEN      1204/sshd  
server1:~ #

A continuación, habilita los siguientes módulos de Apache…

a2enmod actions  
a2enmod fastcgi  
a2enmod alias

… deshabilita mod_php5…

a2dismod php5

… y reinicia Apache:

systemctl restart apache2.service
Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

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