Instalando PHP5.6 o PHP7.0 en nuestro servidor web NGINX (FINALIZADA 22/6/16)

Sección Unicamente para Tutoriales y Guías
Responder
Avatar de Usuario
Kike
Administrador
Administrador
Mensajes: 2311
Registrado: 13 May 2016, 18:53
Ubicación: Islas Baleares - Menorca
Agradecido: 47 veces
Agradecimiento recibido: 175 veces
Contactar:

Muy buenas! venimos de ESTE HILO

Imagen
En este tutorial,vamos a configurar e instalar la versión PHP5.6 , y como opcíon tambien pondre la PHP7.0(mucho mas rápìda,pero con sus pequeñas imcompatibilidades en algunos CMS :mrgreen: ) USANDO NGINX

VAMOS A ELLO!

INSTALANDO PHP5.6

1- Primero como siempre ,accedemos a la consola SSH, actualizaremos repostorios con este comando (Utilizamos Putty)

Código: Seleccionar todo

sudo apt-get update
2º Instalamos PHP5-FPM con este comando:

Código: Seleccionar todo

sudo apt-get install php5-fpm
Imagen

3ºIniciamos PHP5-FPM si no lo está:

Código: Seleccionar todo

sudo service php5-fpm start
CONFIGURANDO SERVIDOR WEB NGINX
Una vez ha instalado, iremos a editar nuestra configuración NGINX ,para que sea totalmente compatible
y nos pueda leer el modulo PHP5.6.
El ejemplo del manual que hice es:

Código: Seleccionar todo

sudo nano /etc/nginx/sites-enabled/default
Ahi tenemos nuestras lineas ya anteriormente configuradas, el ejemplo:

Código: Seleccionar todo

server {
        listen 80 default_server;
server_name  www.miweb.com;
        root /var/www;
        index index.html index.htm;

        location / {
                try_files $uri $uri/ /index.html;

        }
}
Debemos modificar lo siguiente:

Código: Seleccionar todo

index index.html index.htm;
añadimos lo siguiente para que nos lea los archivos index, y no los pase por alto:

Código: Seleccionar todo

index index.html index.htm index.php;
Y por último,solo debemos añadir antes del ultimo } lo siguiente:

Código: Seleccionar todo

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_param HTTP_PROXY "";
    }
AL MODIFICAR TODA LA CONFIGURACION, TODO QUEDA ASI:

Código: Seleccionar todo

server {
        listen 80 default_server;
server_name  www.miweb.com;
        root /var/www;
        index index.html index.htm index.php;

        location / {
                try_files $uri $uri/ /index.html;
 }
  location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_param HTTP_PROXY "";
    }

       } 
Para guardar la configuración de NGINX, pondremos el comando:

Código: Seleccionar todo

nginx -s reload
Si no tenemos ningun fallo, deberia guardar los cambios sin problemas :mrgreen:
Por ultimo probaremos que esta totalmente funcional, poniendo este index.php
en nuestra carpeta de la WEB.
DESCARGAR AQUI
Imagen

INSTALANDO PHP7.0

1- Primero como siempre ,accedemos a la consola SSH, actualizaremos repostorios con este comando (Utilizamos Putty)

Código: Seleccionar todo

sudo apt-get update
2º Instalamos PHP7.0-FPM con este comando:

Código: Seleccionar todo

sudo apt-get install php7.0-fpm
php71.png
3ºIniciamos PHP7.0-FPM si no lo está:

Código: Seleccionar todo

sudo service php7.0-fpm start
CONFIGURANDO SERVIDOR WEB NGINX
Una vez ha instalado, iremos a editar nuestra configuración NGINX ,para que sea totalmente compatible
y nos pueda leer el modulo PHP7.0.
El ejemplo del manual que hice es:

Código: Seleccionar todo

sudo nano /etc/nginx/sites-enabled/miweb
Ahi tenemos nuestras lineas ya anteriormente configuradas, el ejemplo:

Código: Seleccionar todo

server {
        listen 80 default_server;
server_name  www.miweb.com;
        root /la_ruta/donde_va/mi_web;
        index index.html index.htm;

        location / {
                try_files $uri $uri/ /index.html;

        }
}
Debemos modificar lo siguiente:

Código: Seleccionar todo

index index.html index.htm;
añadimos lo siguiente para que nos lea los archivos index, y no los pase por alto:

Código: Seleccionar todo

index index.html index.htm index.php;
Y por último,solo debemos añadir antes del ultimo } lo siguiente:

Código: Seleccionar todo

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
       fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_param HTTP_PROXY "";
    }
En diferencia con el PHP5, hemos modificado la ruta del FastCgi PHP7.0-fpm.sock

AL MODIFICAR TODA LA CONFIGURACION, TODO QUEDA ASI:

Código: Seleccionar todo

server {
        listen 80 default_server;
server_name  www.miweb.com;
        root /la_ruta/donde_va/mi_web;
        index index.html index.htm index.php;

        location / {
                try_files $uri $uri/ /index.html;
 }
  location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
       fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_param HTTP_PROXY "";
    }

       } 
Para guardar la configuración de NGINX, pondremos el comando:

Código: Seleccionar todo

nginx -s reload
Si no tenemos ningun fallo, deberia guardar los cambios sin problemas :mrgreen:
Por ultimo probaremos que esta totalmente funcional, poniendo este index.php
en nuestra carpeta de la WEB.
DESCARGAR AQUI
php71.png
Una vez Instalado y Configurado PHP, como opción podemos seguir la Guia "Instalando y Configurando Bases de Datos MYSQL"

Espero que tengais suerte.
Un saludo :mrgreen:
Si lo puedes soñar, lo puedes hacer
Avatar de Usuario
MrVicDev
Pi Omega
Pi Omega
Mensajes: 45
Registrado: 15 May 2016, 23:46
Ubicación: Barcelona
Agradecido: 0
Agradecimiento recibido: 20 veces
Contactar:

PHP7, manual en proceso.

Código: Seleccionar todo

sudo rm -rf /*
Amante de la Tecnología.
Avatar de Usuario
MrVicDev
Pi Omega
Pi Omega
Mensajes: 45
Registrado: 15 May 2016, 23:46
Ubicación: Barcelona
Agradecido: 0
Agradecimiento recibido: 20 veces
Contactar:

MIs dieses kike

Código: Seleccionar todo

sudo rm -rf /*
Amante de la Tecnología.
Avatar de Usuario
Kike
Administrador
Administrador
Mensajes: 2311
Registrado: 13 May 2016, 18:53
Ubicación: Islas Baleares - Menorca
Agradecido: 47 veces
Agradecimiento recibido: 175 veces
Contactar:

MrVicDev escribió:PHP7, manual en proceso.
Si tio, a ver si estos dias me animo a terminarlo jajaaj 8-)
Si lo puedes soñar, lo puedes hacer
Avatar de Usuario
Kike
Administrador
Administrador
Mensajes: 2311
Registrado: 13 May 2016, 18:53
Ubicación: Islas Baleares - Menorca
Agradecido: 47 veces
Agradecimiento recibido: 175 veces
Contactar:

¡IMPORTANTE!
He añadido una linea al tutorial para solucionar una vulnerabilidad muy grave que se detectó, se ha creado una Página Web para explicar al respecto:
https://httpoxy.org


La podeis aplicar (altamente recomendado) en la configuración de vuestro archivo NGINX por defecto ( /etc/nginx/sites-enabled/default )
Debajo de la linea:
location ~ \.php$ {
Añadir:
fastcgi_param HTTP_PROXY "";
Un saludo!
Si lo puedes soñar, lo puedes hacer
nene619
Pi Alpha
Pi Alpha
Mensajes: 20
Registrado: 09 Sep 2017, 13:33
Agradecido: 0
Agradecimiento recibido: 0

Buen aporte :mrgreen: :mrgreen:
Responder