Instalación · 4 min read · Jan 27, 2026

Instalando Lighttpd Con Soporte PHP5 (PHP-FPM) Y MySQL En OpenSUSE 12.2

Instalando Lighttpd Con Soporte PHP5 (PHP-FPM) Y MySQL En OpenSUSE 12.2

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

Lighttpd es un servidor web seguro, rápido y conforme a estándares, diseñado para entornos críticos en velocidad. Este tutorial muestra cómo puedes instalar Lighttpd en un servidor OpenSUSE 12.2 con soporte para PHP5 (a través de PHP-FPM) y soporte para 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. Uso PHP-FPM en este tutorial en lugar de spawn-fcgi de Lighttpd.

¡No doy ninguna garantía de que esto funcione para ti!

1 Nota Preliminar

En este tutorial uso 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 esta manera:

zypper install mysql-community-server mysql-community-server-client

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:

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

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 configurado la contraseña de root aún, la contraseña estará en blanco, así que solo debes presionar enter aquí.

Ingresa la contraseña actual para root (presiona enter si no hay): <– ENTER
OK, se utilizó la contraseña correctamente, 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 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 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:~ #

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

3 Instalando Lighttpd

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

zypper install lighttpd

Luego creamos los enlaces de inicio del sistema para Lighttpd (para que Lighttpd se inicie automáticamente cada vez que el sistema arranca) y lo comenzamos:

systemctl enable lighttpd.service  
systemctl start lighttpd.service

Ahora dirige tu navegador a http://192.168.0.100, y deberías ver que Lighttpd entrega una página (bueno, es una página 404 porque no hay un archivo índice en la raíz de documentos de Lighttpd, pero al menos esto significa que Lighttpd está funcionando correctamente):

La raíz de documentos predeterminada de Lighttpd es /srv/www/htdocs en OpenSUSE, y el archivo de configuración es /etc/lighttpd/lighttpd.conf.

4 Instalando PHP5

Podemos hacer que PHP5 funcione en Lighttpd a través de PHP-FPM que instalamos de esta manera:

zypper install 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:

| [...] error_log = /var/log/php-fpm.log [...] |

No hay un archivo php.ini para PHP-FPM bajo OpenSUSE 12.2, por lo tanto, copiamos el php.ini de CLI:

cp /etc/php5/cli/php.ini /etc/php5/fpm/

A continuación, abre /etc/php5/fpm/php.ini…

vi /etc/php5/fpm/php.ini

… y establece cgi.fix_pathinfo a 1:

| [...] ; cgi.fix_pathinfo proporciona soporte *real* para PATH_INFO/PATH_TRANSLATED para CGI. El comportamiento anterior de PHP era establecer PATH_TRANSLATED a SCRIPT_FILENAME, y no entender qué es PATH_INFO. Para más información sobre PATH_INFO, consulta las especificaciones de cgi. Establecer esto a 1 hará que PHP CGI corrija sus rutas para conformarse a la especificación. Un valor de cero hace que PHP se comporte como antes. El valor predeterminado es 1. Debes corregir tus scripts para usar SCRIPT_FILENAME en lugar de PATH_TRANSLATED. ; http://php.net/cgi.fix-pathinfo cgi.fix_pathinfo=1 [...] |

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
Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

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