¿cuanta gente a visto el blog?

PHP: Sumador, Lamp con MyQSL y Bash

 significa hypertext Pre Processor

se encarga de traducir su idioma a HTML para las paginas web y el servidore envia ese codigo HTML en ves del original PHP donde podria hacer una modificacion. 

Es un lenjuague muy parecido a C.

Para la practica se requiere levantar un servidor. 

Antes de Crear

sudo dnf install httpd

sudo dnf install php
sudo dnf install php php-mysqlnd
sudo systemctl start httpd
sudo systemctl enable httpd
 

sudo chown -R apache:apache /var/www/html/mi_pagina_php 
sudo chmod -R 755 /var/www/html/mi_pagina_php
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload 
sudo systemctl status httpd
sudo systemctl restart httpd
sudo tail -f /var/log/httpd/error_log

 instalar el servidor LAMP hasta crear un programa en PHP que pueda generar un RAID simulado y conectarse a MySQL.

sudo dnf install httpd -y

sudo systemctl start httpd
sudo systemctl enable httpd
sudo systemctl status httpd


Abre un navegador y accede a http://<IP_del_Servidor>
sudo firewall-cmd --list-all
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --reload
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload
ip addr
10.10.10.129
Instala MariaDB (MySQL):

sudo dnf install mariadb-server -y

sudo systemctl start mariadb
sudo systemctl enable mariadb

sudo mysql_secure_installation
(enter)
y
y
admin
admin
y
y
y
y
sudo dnf install php php-mysqlnd -y

sudo systemctl restart httpd


echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

2. Crear la base de datos en MySQL

sudo mysql -u root -p
CREATE DATABASE lamp_practice;
USE lamp_practice;

CREATE TABLE raid_simulation (
    id INT AUTO_INCREMENT PRIMARY KEY,
    data VARCHAR(255) NOT NULL
);
sudo nano /var/www/html/raid.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>RAID Simulation with PHP</title>
</head>
<body>
    <h1>RAID Simulation with PHP</h1>

    <?php
    // Conexión a la base de datos
    $servername = "localhost";
    $username = "root";
    $password = "admin"; // Cambia por tu contraseña de root de MySQL
    $dbname = "lamp_practice";

    // Crear conexión
    $conn = new mysqli($servername, $username, $password, $dbname);

    // Verificar conexión
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }

    echo "<p>Connected to the database successfully!</p>";

    // Simulación de RAID: guardar datos en bloques
    $data_blocks = ["Block 1 data", "Block 2 data", "Block 3 data"];

    echo "<h2>Storing Data Blocks:</h2>";
    foreach ($data_blocks as $block) {
        $sql = "INSERT INTO raid_simulation (data) VALUES ('$block')";
        if ($conn->query($sql) === TRUE) {
            echo "<p>Stored: $block</p>";
        } else {
            echo "<p>Error: " . $conn->error . "</p>";
        }
    }

    echo "<h2>Retrieving Data Blocks:</h2>";
    $sql = "SELECT * FROM raid_simulation";
    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
        while ($row = $result->fetch_assoc()) {
            echo "ID: " . $row["id"] . " - Data: " . $row["data"] . "<br>";
        }
    } else {
        echo "No data found.";
    }

    $conn->close();
    ?>
</body>
</html>


CONTROL X CONTROL Y




mysql -u root -p
sudo systemctl stop mariadb

sudo mysqld_safe --skip-grant-tables &
mysql

USE mysql;
UPDATE user SET password = PASSWORD('admin') WHERE user = 'root';
FLUSH PRIVILEGES;
EXIT;

sudo pkill mysqld
sudo systemctl start mariadb

mysql -u root -p

SELECT host, user FROM mysql.user;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'admin' WITH GRANT OPTION;
FLUSH PRIVILEGES;



EXIT;


Crear un usuario específico para PHP

mysql -u root -p
CREATE USER 'php_user'@'localhost' IDENTIFIED BY 'admin';

GRANT ALL PRIVILEGES ON lamp_practice.* TO 'php_user'@'localhost';
FLUSH PRIVILEGES;

Agregar Bash al proyecto

Si necesitas integrar un script Bash para manejar el servidor, por ejemplo, para reiniciar Apache o limpiar datos de la base de datos, puedes hacerlo.
sudo nano /var/www/html/script.sh
#!/bin/bash
echo "Cleaning up the database..."
mysql -u root -p -e "USE lamp_practice; DELETE FROM raid_simulation;"
echo "Database cleaned successfully!"

chmod +x /var/www/html/script.sh

nano /var/www/html/exec_script.php
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Run Script</title>
</head>
<body>
    <h1>Run Bash Script from PHP</h1>

    <?php
    // Ejecutar el script Bash
    $output = shell_exec('/var/www/html/script.sh 2>&1'); // Ejecuta el script y captura la salida
    echo "<pre>$output</pre>"; // Muestra la salida en el navegador
    ?>
</body>
</html>
chmod +x /var/www/html/script.sh
sudo setenforce 0
sudo tail -f /var/log/httpd/error_log


http://10.10.10.129/exec_script.php

operaciones matematicas

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

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Math Operations in PHP</title>
</head>
<body>
    <?php
        $num1 = 10;
        $num2 = 5;

        $sum = $num1 + $num2;
        $difference = $num1 - $num2;
        $product = $num1 * $num2;
        $quotient = $num1 / $num2;
        $modulus = $num1 % $num2;

        echo "<h2>Math Operations</h2>";
        echo "Number 1: $num1<br>";
        echo "Number 2: $num2<br><br>";
        echo "Suma: $sum<br>";
        echo "Resta: $difference<br>";
        echo "Multiplicacion: $product<br>";
        echo "Division: $quotient<br>";
        echo "Modulos (remainder): $modulus<br>";
    ?>
</body>
</html>
http://10.10.10.129/math_operations.php


fe de erratas


Poner la contraseña correcta para root en el codigo, caso contrario la conexion fallara. 

No hay comentarios.:

Publicar un comentario