Instalación Nginx · 5 min read · Jan 24, 2026
Instalando Nginx Con Soporte PHP5 (Y PHP-FPM) Y MySQL En Fedora 17
Instalando Nginx Con Soporte PHP5 (Y PHP-FPM) Y MySQL En Fedora 17
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, rica funcionalidad, configuración simple y bajo consumo de recursos. Este tutorial muestra cómo puedes instalar Nginx en un servidor Fedora 17 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 así:
yum install mysql mysql-serverLuego 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 mysqld.service
systemctl start mysqld.serviceAhora verifica que la red esté habilitada. Ejecuta
netstat -tap | grep mysqlDebería mostrar algo como esto:
[root@server1 ~]# netstat -tap | grep mysql
tcp 0 0 *:mysql *:* LISTEN 1116/mysqld
[root@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:
systemctl restart mysqld.serviceEjecuta
mysql_secure_installationpara establecer una contraseña para el usuario root (de lo contrario, ¡cualquiera puede acceder a tu base de datos MySQL!):
[root@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í.
Ingresa 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] <– ENTER
Nueva contraseña: <– tucontraseñaderootsql
Reingresa nueva contraseña: <– tucontraseñaderootsql
¡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] <– ENTER
… ¡Éxito!
Normalmente, root solo debería poder conectarse desde ‘localhost’. Esto asegura que alguien no pueda adivinar la contraseña de root desde la red.
¿Deshabilitar inicio de sesión remoto para root? [Y/n] <– ENTER
… ¡É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] <– ENTER
- 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] <– ENTER
… ¡É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!
[root@server1 ~]#
3 Instalando Nginx
Nginx está disponible como un paquete para Fedora 17 que podemos instalar de la siguiente manera:
yum install nginxLuego creamos los enlaces de inicio del sistema para nginx y lo iniciamos:
systemctl enable nginx.service
systemctl start nginx.serviceEscribe 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 página de bienvenida de nginx:

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 concurridos). Hay un paquete php-fpm en los repositorios oficiales de Fedora 17, por lo tanto, podemos instalar php-fpm junto con php-cli y algunos módulos de PHP5 como php-mysql que necesitas si deseas usar MySQL desde tus scripts PHP:
yum install php-fpm php-cli 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-tidyAPC es un caché de opcodes de 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 de 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-apcPara evitar errores como
[13-Nov-2011 22:13:16] PHP Warning: phpinfo(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CET/1.0/no DST' instead in /usr/share/nginx/html/info.php on line 2… en /var/log/php-fpm/www-error.log cuando llamas a un script PHP en tu navegador, debes abrir /etc/php.ini y establecer date.timezone:
vi /etc/php.ini| [...] [Date] ; Define la zona horaria predeterminada utilizada por las funciones de fecha ; http://php.net/date.timezone date.timezone = "Europe/Berlin" [...] |
Puedes averiguar la zona horaria correcta para tu sistema ejecutando:
cat /etc/sysconfig/clock[root@server1 ~]# cat /etc/sysconfig/clock
ZONE="Europe/Berlin"
[root@server1 ~]#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.servicePHP-FPM es un proceso daemon que ejecuta un servidor FastCGI en el puerto 9000.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.