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, al pie del post tienes un formulario para hacerlo.

Y si quieres contactar conmigo por cualquier otro asunto relacionado con el sitio, o te quieres suscribir para recibir un correo-e una vez al mes con las nuevas publicaciones, en la página de contacto, tienes otro formulario.

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.