domingo, 9 de diciembre de 2018
Instalar y configurar Nginx,Mysql,PHP en ubuntu server

Instalar y configurar Nginx,Mysql,PHP en ubuntu server

1- Instalar nginx

sudo apt-get update

sudo apt-get install nginx

Para probar que todo ha ido bien, abrimos el navegador y ponemos http://localhost o http://127.0.0.1 (si es en localhost) http://dominio.com o http://ippublica y veremos la página de bienvenida de nginx

Nota: En Ubuntu 18.04 nginx está configurado para iniciar una vez instalado, en otras versiones ejecuta sudo service nginx start

Si tienes firewall ufw ejecuta sudo ufw allow 'Nginx HTTP'   de esta forma permites la conexión a nginx y para comprobarlo ejecuta sudo ufw status luego verás algo como:

Status: active To            Action              From --                 ------           ---- OpenSSH                    ALLOW         Anywhere                   Nginx HTTP                 ALLOW       Anywhere                   OpenSSH (v6)               ALLOW       Anywhere (v6)              Nginx HTTP (v6)            ALLOW       Anywhere (v6)

2-Instalamos Mysql

sudo apt-get install mysql-server (Instalará la version mas reciente que haya en los repo)

Esto es suficiente pero hay que ejecutar algo más porque en este punto la configuración no está completa.

ejecutamos sudo mysql_secure_installation MySQL trae este script para modificar algunas configuraciones por defecto, respondiendo a todo que si eliminas algunas opciones inseguras como mantener la BD test, etc, pero ojo en este punto VALIDATE PASSWORD PLUGIN si selecciones el 2 ten en cuenta que cualquier intento de contraseña que no lleve letras Mayúsculas, Minúsculas, numeros, caracteres especiales dará error.

cuando llegue este punto Using existing password for root. marcamos n

En ubuntu con MySQL 5.7 y superior root está establecido como auth_socket para la autenticación, ten en cuenta que es un poco inseguro porque permite conexiones externa del tipo PhpMyadmin por ejemplo.

Si quieres cambiarlo para usar la contraseña de root al conectarte cambia auth_socket por  mysql_native_password

sudo mysql

mysql> SELECT user,authentication_string,plugin,host FROM mysql.user; (verás todos los usuarios)

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'tucontraseñapararoot'; (otra opción es hacer un update)

mysql>FLUSH PRIVILEGES;

mysql>exit;

Instalamos PHP y configuramos nginx

sudo apt-get install php7.2  (o la versión que quieras)

apt-cache pkgnames | grep php7.2 (para ver todos los paquetes y elegir cuales instalamos)

Ahora para que nginx pueda interpretar php tenemos que instalador fpm que es el interprete php

sudo apt-get install php7.2-fpm

Configuramos el host

sudo nano /etc/nginx/sites-available/default

 

server {
    listen 80;
    listen [::]:80;
    root /var/www/html;

   # añadirmos el index.php a la lista


    index index.php index.html index.htm index.nginx-debian.html;     server_name dominio o ip (ej localhost o 127.0.0.1 si es un servidor en internet ej: isthrowable.com);     location / {
        try_files $uri $uri/ /index.php?q=$uri&$args;
    }     # pass PHP scripts to FastCGI server
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        fastcgi_buffers 128 4096k;
        fastcgi_buffer_size 4096k;
    }
    location ~ /\.ht {
        deny all;
    }
}

 

 

Y para terminar creamos un archivo php para ver que todo funciona bien

sudo nano /var/www/html/info.php

y ponemos

<?php phpinfo(); ?>

si abrimos el navegador con

http://localhost/info.php

veremos toda la información del servidor.

 

Quieres ser el primero en responder?