Instalación Nginx · 5 min read · Feb 08, 2026

Instalando Nginx Con Soporte PHP5 (Y PHP-FPM) Y MySQL En OpenSUSE 11.4

Instalando Nginx Con Soporte PHP5 (Y PHP-FPM) Y MySQL En OpenSUSE 11.4

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

Nginx (pronunciado “engine x”) es un servidor HTTP gratuito, de código abierto y de alto rendimiento. Nginx es conocido por su estabilidad, conjunto de características ricas, configuración simple y bajo consumo de recursos. Este tutorial muestra cómo puedes instalar Nginx en un servidor OpenSUSE 11.4 con soporte para PHP5 (a través de PHP-FPM) y soporte para MySQL.

¡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 Instalando MySQL 5

Primero instalamos MySQL 5 de la siguiente manera:

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 arranca) y comenzamos el servidor MySQL:

chkconfig -f --add mysql  
/etc/init.d/mysql start

Ahora verifica que la red esté habilitada. Ejecuta

netstat -tap | grep mysql

Debería mostrar algo como esto:

server1:~ # netstat -tap | grep mysql  
tcp        0      0 *:mysql                 *:*                     LISTEN      2360/mysqld  
server1:~ #

Si no lo hace, edita /etc/my.cnf y comenta la opción skip-networking:

vi /etc/my.cnf

| [...] #skip-networking [...] |

y reinicia tu servidor MySQL:

/etc/init.d/mysql restart

(Si recibes el mensaje No tienes un paquete binario de vim válido instalado. Por favor instala “vim”, “vim-enhanced” o “gvim”., ejecuta

yast2 -i vim

para instalar vi y vuelve a intentarlo.)

Ejecuta

mysql_secure_installation

para establecer una contraseña para el usuario root (de lo contrario, ¡cualquiera puede acceder a tu base de datos MySQL!):

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 CUIDADOSAMENTE CADA PASO!

Para poder 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: <– ingresa 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 debería 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 sobre la base de datos de prueba…
    … ¡Éxito!

Recargar las tablas de privilegios asegurará que todos los cambios realizados hasta ahora surtan efecto de 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:~ #

3 Instalando Nginx

Nginx está disponible como un paquete para OpenSUSE 11.4 que podemos instalar de la siguiente manera:

yast2 -i nginx-0.8

Luego creamos los enlaces de inicio del sistema para nginx y lo iniciamos:

chkconfig -f --add nginx  
/etc/init.d/nginx start

Escribe la dirección IP o el nombre de host de tu servidor web en un navegador (por ejemplo, http://192.168.0.100), y deberías ver la siguiente página:

Recibes un error 403 prohibido porque en OpenSUSE 11.4, la raíz del documento predeterminada de nginx es /srv/www/htdocs, y no hay una página de índice en /srv/www/htdocs.

4 Instalando PHP5

Podemos hacer que PHP5 funcione en nginx a través de PHP-FPM (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 sitios más ocupados) que instalamos de la siguiente manera:

yast2 -i 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

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:

chkconfig -f --add php-fpm  
/etc/init.d/php-fpm start

PHP-FPM es un proceso demonio (con el script de inicio /etc/init.d/php-fpm) 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 Extranjera         Estado       PID/Nombre del Programa  
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      4229/php-fpm.conf)  
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      2360/mysqld  
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1378/rpcbind  
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      3795/nginx  
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1190/sshd  
tcp        0      0 127.0.0.1:25           0.0.0.0:*               LISTEN      1425/master  
tcp        0      0 :::111                    :::*                     LISTEN      1378/rpcbind  
tcp        0      0 :::22                     :::*                     LISTEN      1190/sshd  
tcp        0      0 ::1:25                   :::*                     LISTEN      1425/master  
server1:~ #
Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

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