Einfache Serververwaltung mit PHP und MySQL
Projekt: Einfache Serververwaltung mit PHP und MySQL
Ziel des Projekts
Dieses Projekt zeigt Schritt für Schritt, wie eine einfache Serververwaltungs-Webseite aufgebaut wird. Dabei lernen die Teilnehmer die grundlegende Interaktion zwischen PHP, MySQL und einer Web-Oberfläche.
Die Webseite soll folgende Daten verwalten:
- Rechnername
- IP-Adresse mit Netzmaske
- Betriebssystem
- Festplattenspeicher
- RAM
- Hauptdienst
Zusätzlich wird eine Benutzerverwaltung integriert:
- Bestimmte Benutzer dürfen Daten eintragen und ändern
- Andere Benutzer dürfen nur Daten lesen
- Am Ende wird die Webseite mit HTTPS gesichert
Schritt 1: Einrichtung der Datenbank
Zuerst wird eine MySQL-Datenbank eingerichtet, um die Serverinformationen zu speichern.
Datenbank erstellen.
- create database serververwaltung;
Zur neuen Datenbank wechseln.
- use serververwaltung;
Tabelle für die Serverdaten anlegen.
- create table server (
id int auto_increment primary key, rechnername varchar(50) not null, ip_adresse varchar(50) not null, betriebssystem varchar(50) not null, festplattenspeicher int not null, ram int not null, hauptdienst varchar(50) not null
);
Tabelle für die Benutzerverwaltung anlegen.
- create table benutzer (
id int auto_increment primary key,
benutzername varchar(50) not null unique,
passwort varchar(255) not null,
rolle enum('admin', 'user') not null
);
Schritt 2: PHP-Skript für Datenbankverbindung
Ein PHP-Skript wird erstellt, um sich mit der Datenbank zu verbinden.
<?php
$servername = "localhost";
$username = "root";
$password = "passwort";
$dbname = "serververwaltung";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Verbindung fehlgeschlagen: " . $conn->connect_error);
}
?>
Schritt 3: Formular für das Eintragen neuer Server
Ein einfaches HTML-Formular ermöglicht das Eintragen neuer Server.
<form method="post" action="eintragen.php">
Rechnername: <input type="text" name="rechnername" required><br>
IP-Adresse: <input type="text" name="ip_adresse" required><br>
Betriebssystem: <input type="text" name="betriebssystem" required><br>
Festplattenspeicher (GB): <input type="number" name="festplattenspeicher" required><br>
RAM (GB): <input type="number" name="ram" required><br>
Hauptdienst: <input type="text" name="hauptdienst" required><br>
<input type="submit" value="Speichern">
</form>
Schritt 4: PHP-Skript zur Verarbeitung des Formulars
Das Skript speichert die eingegebenen Daten in die Datenbank.
<?php
include 'db.php';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$rechnername = $_POST["rechnername"];
$ip_adresse = $_POST["ip_adresse"];
$betriebssystem = $_POST["betriebssystem"];
$festplattenspeicher = $_POST["festplattenspeicher"];
$ram = $_POST["ram"];
$hauptdienst = $_POST["hauptdienst"];
$sql = "INSERT INTO server (rechnername, ip_adresse, betriebssystem, festplattenspeicher, ram, hauptdienst)
VALUES ('$rechnername', '$ip_adresse', '$betriebssystem', '$festplattenspeicher', '$ram', '$hauptdienst')";
if ($conn->query($sql) === TRUE) {
echo "Server erfolgreich eingetragen.";
} else {
echo "Fehler: " . $conn->error;
}
}
?>
Schritt 5: Anzeige der Serverliste
Eine Liste aller Server wird als HTML-Tabelle ausgegeben.
<?php
include 'db.php';
$result = $conn->query("SELECT * FROM server");
if ($result->num_rows > 0) {
echo "<table border='1'>
<tr><th>ID</th><th>Rechnername</th><th>IP-Adresse</th><th>Betriebssystem</th><th>Festplatte (GB)</th><th>RAM (GB)</th><th>Hauptdienst</th></tr>";
while($row = $result->fetch_assoc()) {
echo "<tr><td>" . $row["id"] . "</td><td>" . $row["rechnername"] . "</td><td>" . $row["ip_adresse"] . "</td><td>" . $row["betriebssystem"] . "</td><td>" . $row["festplattenspeicher"] . "</td><td>" . $row["ram"] . "</td><td>" . $row["hauptdienst"] . "</td></tr>";
}
echo "</table>";
} else {
echo "Keine Server gefunden.";
}
?>
Schritt 6: Benutzerverwaltung
Ein Registrierungs- und Login-System wird integriert, um Benutzerrechte zu verwalten. Nur Admins können Einträge bearbeiten oder hinzufügen.
Schritt 7: Verschlüsselung mit HTTPS
Die gesamte Seite wird auf HTTPS umgestellt, um die Sicherheit zu erhöhen.
Fazit
Dieses Projekt zeigt Schritt für Schritt, wie eine dynamische Webanwendung für die Serververwaltung entsteht. Durch die einfache Struktur können alle Teilnehmer den Zusammenhang zwischen Datenbank, PHP und HTML verstehen.