Cara membuat web host manager sendiri V4 Manajemen Database MySQL

Me Nime Id
Please wait 0 seconds...
Scroll Down and click on Go to Link for destination
Congrats! Link is Generated

 Oke! Kita tambahkan fitur Manajemen Database MySQL ke WHM Custom.

Fitur yang Akan Ditambahkan:

  • Admin bisa membuat database untuk akun hosting.
  • Admin bisa menghapus database jika tidak diperlukan.
  • Admin bisa melihat daftar database yang sudah dibuat.

1️⃣ Buat Script Tambah Database

📌 File scripts/create_database.sh

#!/bin/bash
dbname=$1
dbuser=$2
dbpass=$3

mysql -e "CREATE DATABASE $dbname;"
mysql -e "CREATE USER '$dbuser'@'localhost' IDENTIFIED BY '$dbpass';"
mysql -e "GRANT ALL PRIVILEGES ON $dbname.* TO '$dbuser'@'localhost';"
mysql -e "FLUSH PRIVILEGES;"

echo "Database $dbname berhasil dibuat untuk user $dbuser!"

🔹 Cara Kerja:

  • Script ini akan membuat database dan user MySQL.
  • Memberikan akses penuh ke user untuk database tersebut.
  • Memastikan semua perubahan diterapkan dengan FLUSH PRIVILEGES;.

2️⃣ Buat Script Hapus Database

📌 File scripts/delete_database.sh

#!/bin/bash
dbname=$1
dbuser=$2

mysql -e "DROP DATABASE IF EXISTS $dbname;"
mysql -e "DROP USER IF EXISTS '$dbuser'@'localhost';"

echo "Database $dbname dan user $dbuser telah dihapus!"

🔹 Cara Kerja:

  • Menghapus database jika ada.
  • Menghapus user MySQL yang terhubung.

3️⃣ Tambahkan Fungsi ke PHP

📌 File includes/functions.php (Tambahkan Fungsi)

<?php
function createDatabase($dbname, $dbuser, $dbpass) {
    $cmd = "bash ../scripts/create_database.sh $dbname $dbuser $dbpass";
    return shell_exec($cmd);
}

function deleteDatabase($dbname, $dbuser) {
    $cmd = "bash ../scripts/delete_database.sh $dbname $dbuser";
    return shell_exec($cmd);
}
?>

🔹 Fungsi ini akan menjalankan script Bash untuk mengelola database.


4️⃣ Buat Halaman Manajemen Database

📌 File admin/database.php

<?php
include '../includes/functions.php';

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    if (isset($_POST['create'])) {
        $dbname = $_POST['dbname'];
        $dbuser = $_POST['dbuser'];
        $dbpass = $_POST['dbpass'];
        echo createDatabase($dbname, $dbuser, $dbpass);
    }

    if (isset($_POST['delete'])) {
        $dbname = $_POST['dbname'];
        $dbuser = $_POST['dbuser'];
        echo deleteDatabase($dbname, $dbuser);
    }
}
?>
<h2>Tambah Database</h2>
<form method="post">
    <input type="text" name="dbname" placeholder="Nama Database" required><br>
    <input type="text" name="dbuser" placeholder="Username Database" required><br>
    <input type="password" name="dbpass" placeholder="Password Database" required><br>
    <button type="submit" name="create">Buat Database</button>
</form>

<h2>Hapus Database</h2>
<form method="post">
    <input type="text" name="dbname" placeholder="Nama Database" required><br>
    <input type="text" name="dbuser" placeholder="Username Database" required><br>
    <button type="submit" name="delete">Hapus Database</button>
</form>

🔹 Tampilan Sederhana untuk menambah & menghapus database.


5️⃣ Menampilkan Daftar Database

📌 Tambahkan di admin/database.php

<h2>Daftar Database</h2>
<table border="1">
    <tr>
        <th>Nama Database</th>
        <th>Username</th>
    </tr>
    <?php
    $result = shell_exec("mysql -e 'SHOW DATABASES;'"); 
    $databases = explode("\n", trim($result));

    foreach ($databases as $dbname) {
        if (!in_array($dbname, ['information_schema', 'mysql', 'performance_schema', 'sys'])) {
            echo "<tr><td>$dbname</td><td> - </td></tr>";
        }
    }
    ?>
</table>

🔹 Menampilkan semua database yang ada di server (kecuali sistem).


🔥 Sekarang WHM Custom Sudah Bisa Mengelola Database!

✔ Bisa buat database lewat dashboard.
✔ Bisa hapus database langsung di WHM.
✔ Bisa melihat daftar database yang ada di server.

Posting Komentar

Cookie Consent
We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.
Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.
Site is Blocked
Sorry! This site is not available in your country.