Instalar NginX con soporte PHP y Mysql.

En primer lugar, decir que se hace esta instalación debido a los problemas que tiene apache, a parte, de la rapidez que tiene en servir paginas NGINX.

Después de hacer la instalación de debían vamos ha empezar con la instalación de NGINX, con soporte  PHP y MYSQL como base de datos.

En primer lugar con el servidor conectado entramos vía ssh

mi usuario@mi pc:~$ ssh ernest@192.168.1.33

The authenticity of host ‘192.168.1.33 (192.168.1.33)’ can’t be established.

RSA key fingerprint is XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added ‘192.168.1.33’ (RSA) to the list of known hosts.

Aquí introducimos la contraseña

ernest@192.168.1.33’s password:

Linux atotclic6 2.6.32-5-686 #1 SMP Mon Jan 16 16:04:25 UTC 2012 i686

 

The programs included with the Debian GNU/Linux system are free software;

the exact distribution terms for each program are described in the

individual files in /usr/share/doc/*/copyright.

 

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent

permitted by applicable law.

Last login: Thu Feb 2 13:31:35 2012

ernest@atotclic6:~$   Ya estamos dentro nos logueamos como root.

ernest@atotclic6:~$ sudo su

[sudo] password for ernest:

Instalamos Mysql

root@atotclic6:/home/ernest# apt-get install libdbd-mysql-perl libdbi-perl libhtml-template-perl libmysqlclient16 libnet-daemon-perl libplrpc-perl mysql-client mysql-client-5.1 mysql-common mysql-server mysql-server-5.1 mysql-server-core-5.1 php5-mysql

Una vez acabada la instalación agregamos los repositorios para Debian-based LAMP servers.

root@atotclic6:/home/ernest# echo “deb http://packages.dotdeb.org squeeze all” >> /etc/apt/sources.list ojo las ” ” al copiar y pegar

Descargamos la llave

root@atotclic6:/home/ernest# wget http://www.dotdeb.org/dotdeb.gpg

La instalamos

root@atotclic6:/home/ernest# cat dotdeb.gpg | sudo apt-key add –

OK     aquí nos comunica que ha ido bien

Actualizamos repositorios

root@atotclic6:/home/ernest# apt-get update

Una vez actualizados los repositorios instalamos el soporte para PHP

root@atotclic6:/home/ernest# apt-get install libgd2-noxpm libjpeg62 libonig2 libpng12-0 libqdbm14 libxml2 libxslt1.1 nginx nginx-common nginx-full php5-cgi php5-cli php5-common php5-fpm php5-suhosin

Ahora a configurar php-fpm, que es el que nos interesa, es el que manejara las instancias PHP como demonio.

root@atotclic6:/etc/php5# nano /etc/php5/fpm/php-fpm.conf

Tenemos que descomentar estas dos lineas

pid = /var/run/php5-fpm.pid

error_log = /var/log/php5-fpm.log

Una vez hecho cerramos. Luego creamos y añadimos permisos a los archivos.

root@atotclic6:/etc/php5# touch /var/run/php5-fpm.pid

root@atotclic6:/etc/php5# chown www-data:www-data /var/run/php5-fpm.pid

root@atotclic6:/etc/php5# touch /var/log/php5-fpm.log

root@atotclic6:/etc/php5# chown www-data:www-data /var/log/php5-fpm.log

root@atotclic6:/etc/php5# nano /etc/nginx/sites-available/default

Aquí descomentamos para que quede así.

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
#       # NOTE: You should have “cgi.fix_pathinfo = 0;” in php.ini
#
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}
#

Guardamos y cerramos. Configuramos el php.ini como nos dice en la nota

root@atotclic6:/etc/php5# nano /etc/php5/fpm/php.ini

descomentamos esta linea

cgi.fix_pathinfo=1

Guardamos y cerramos, y reiniciamos los servicios.

root@atotclic6:/etc/php5# /etc/init.d/nginx restart

Restarting nginx: nginx.

root@atotclic6:/etc/php5# /etc/init.d/php5-fpm restart

Restarting PHP5 FastCGI Process Manager: php5-fpm.

Creamos el info PHP.

root@atotclic6:/etc/php5# nano /usr/share/nginx/www/info.php

<?php
phpinfo();
?>
Guardamos y cerramos, abrimos el navegador http://192.168.1.33 y http://192.168.1.33/info.php

Vemos que funciona perfectamente Nginx , PHP y Mysql.

Continuamos con el siguiente post instalar WordPress en NginX.