En este momento estás viendo Instalación de Nginx y la pila LEMP en Debian 11 «Bullseye» 4

Instalación de Nginx y la pila LEMP en Debian 11 «Bullseye» 4

Instalación de Nginx y la pila LEMP en Debian 11 «Bullseye» 4

Probar que PHP funciona con Nginx

Hemos instalado la pila LEMP completa (Linux, Nginx, MariaDB y PHP), todo el software necesario para nuestro servidor web. En este artículo vamos a comprobar que PHP funciona correctamente y Nginx puede servir ficheros .php y hacer consultas a la base de datos.

Ahora que tenemos completa la pila LEMP, vamos a cerciorarnos de que PHP funciona como debe y Nginx puede transferir ficheros .php. Puedes ver como hacer la instalación de PHP y Nginx en este enlace.

Sumario

  • Probar que PHP funciona con Nginx
  • Probar que PHP puede realizar consultas a la base de datos
    • Creamos la base de datos
    • Creamos usuario y le damos permisos
    • Creamos una tabla y añadimos unas lineas de datos
    • Creamos fichero con el script php
    • Ejecutamos la prueba

Probar que PHP funciona con Nginx

Como lo vamos a hacer en remoto, desde nuestra máquina cliente Ubuntu 20.04, nos conectamos al servidor Debian 11 con ssh.

ssh usuario@ip_servidor

Para probar que PHP funciona con Nginx tenemos que crear un nuevo fichero en la ruta /var/www/weblinus.com.local/public_html/info.php

sudo nano /var/www/weblinus.com.local/public_html/info.php

Este fichero estará vacío. Añadimos el siguiente contenido

<?php
phpinfo();

Lo guardamos y cerramos el fichero

Para comprobar si funciona, abrimos un navegador e introducimos nuestro dominio o la IP del servidor seguida de /info.php

http://weblinus.com.local/info.php
o
http://IP_del_servidor/info.php

Y veremos una página con información de nuestro servidor

Tras comprobar que funciona debemos borrar este fichero, pues contiene información de nuestros servidores web y debian que no deben estar accesibles.

sudo rm /var/www/weblinus.com.local/info.php

Probar que PHP puede realizar consultas a la base de datos

Para hacer esta comprobación, tenemos que crear una base de datos de prueba y una tabla en nuestro servidor MariaDB y añadir los datos que queramos.

Crearemos una base de datos denominada «db_pruebas» y un usuario llamado «user_pruebas», pero podemos cambiar estos valores por otros diferentes.

Establecemos conexión con MariaDB

mysql -u root -p

Introducimos la contraseña.

Y creamos la nueva base de datos,

CREATE DATABASE db_pruebas;

Creamos usuario y le damos permisos

Tenemos que crear un nuevo usuario y concederle privilegios completos sobre la base de datos creada.

Este usuario lo llamaremos «user_pruebas».

Definimos la contraseña de este usuario como «pass_pruebas», pero deberíamos cambiarla por una más segura si pensamos reutilizarla.

USE db_pruebas

CREATE USER 'user_pruebas'@'%' IDENTIFIED BY 'pass_pruebas';

Ahora, debemos darle permisos a este usuario en la base de datos que hemos creado.

GRANT ALL ON db_pruebas.* TO 'user_pruebas'@'%';

De este modo el usuario «user_pruebas», tendrá todos los permisos sobre la base de datos «db_pruebas», pero no tendrá ninguno sobre las otras bases de datos que tengamos en el servidor.

Cerramos la sesión mariaDB con el usuario actual.

exit

Creamos una tabla y añadimos unas lineas de datos

Probamos si el nuevo usuario tiene los permisos suficientes para iniciar sesión mysql con las credenciales que hemos creado.

mysql -u user_pruebas -p

Con «-p» nos solicitará la contraseña que definimos al crear el usuario «user_pruebas». Una vez logeados, accederemos a la base de datos «db_pruebas».

Vemos las bases de datos que tenemos y seleccionamos la que queremos

SHOW DATABASES;

USE db_pruebas;

Para probar las consultas, creamos una tabla a la que llamaremos «tabla_pruebas»

CREATE TABLE db_pruebas.tabla_pruebas (
    item_id INT AUTO_INCREMENT,
    content VARCHAR(255),
    PRIMARY KEY(item_id)
);

Introducimos, una a una, algunas filas con los datos que queramos para hacer las consultas posteriores.

INSERT INTO db_pruebas.tabla_pruebas (content) VALUES ("Estamos comprobando"); 
INSERT INTO db_pruebas.tabla_pruebas (content) VALUES ("si con estas configuraciones"); 
INSERT INTO db_pruebas.tabla_pruebas (content) VALUES ("PHP podra realizar consultas"); 
INSERT INTO db_pruebas.tabla_pruebas (content) VALUES ("a la base de datos"); 
INSERT INTO db_pruebas.tabla_pruebas (content) VALUES ("FUNCIONA!!!!!!!!!!");

Y consultamos el contenido de la tabla

SELECT * FROM db_pruebas.tabla_pruebas;

Obtendremos la siguiente salida,

Comprobado que los datos están en la tabla, salimos de MariaDB

exit

Creamos fichero con el script php

Para verificar que PHP puede conectarse a mariaDB y realizar consultas, vamos a crear un fichero .php en el directorio web del dominio

El siguiente script .php establece conexión con la base de datos, realiza consultas sobre el contenido de la tabla y presenta los resultados en una lista. Si no funciona, nos dará un mensaje de error. Copia el código a tu fichero «tabla_pruebas.php» en la ruta /var/www/weblinus.com.local/public_html/tabla_pruebas

<?php
$user = "user_pruebas";
$password = "pass_pruebas";
$database = "db_pruebas";
$table = "tabla_pruebas";

try {
  $db = new PDO("mysql:host=localhost;dbname=$database", $user, $password);
  echo "<h1>Resultado Prueba</h1><ol>";
  foreach($db->query("SELECT content FROM $table") as $row) {
    echo "<li>" . $row['content'] . "</li>";
  }
  echo "</ol>";
} catch (PDOException $e) {
    print "Error!: " . $e->getMessage() . "<br/>";
    die();
}

Guardamos el fichero y lo cerramos.

Ejecutamos la prueba

Abrimos un navegador y accedemos al servidor web con la ip pública o con el nombre de dominio, seguido de /tabla_puebas.php

http://192.168.1.16/tabla_pruebas.php

Y deberíamos ver una página como la siguiente captura,

Y con estas pruebas nos aseguramos de que PHP se puede conectar con la base de datos MariaDB y hacer consultas para mostrar contenidos.

Ahora ya tenemos instalado y configurado nuestro servidor web. Solo nos queda crear nuestro sitio web y añadirle contenidos.

Si tienes algún comentario que hacer sobre este artículo, al pie del post tienes un formulario para hacerlo.

Si quieres contactar conmigo por cualquier otro asunto relacionado con el sitio, en la página de contacto, tienes un formulario más adecuado.

Y para suscribirte y recibir las novedades publicadas, tienes un enlace en el pie de la página o desde aquí mismo.

Esta entrada tiene 2 comentarios

  1. Barto

    Gran trabajo Javier, como siempre

Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.