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.