AktuellesHTML5 - JS und CSS3LinuxPHPProgrammierungSoftwareSponsoring

Proxmox: Webinterface von DebianDEV #v22.01-1

Login

Webinterface von DebianDEV

Hallo zusammen,

kurz vorab: Dieses Webinterface wird es nicht zum Download geben. Gründe dafür sind die verschiedensten APIs die angesteuert werden wie beispielsweise die der MyLOC managed IT AG (routing und RDNS) und die API meines PowerDNS-Admin (pdns) Cluster für die DNS Einträge.

In diesem Beitrag möchte ich euch das Ganze gerne einfach mal Vorstellen und euch über den Status auf dem Laufenden halten.

Die Idee dazu kam mir vor langer Zeit und das was hier im Artiel beschrieben wird ist nicht die erste Version sondern es handelt sich hierbei um das zweite Release. Der Grund wieso ist der, dass die Web-Gui von Proxmox eher bescheiden ist, wenn es darum geht anderen Usern ein Webinterface zur Verfügung stellen zu wollen – also habe ich mich hingesetzt und angefangen etwas eigenes zu schreiben.

Many Thanks:
https://github.com/Saleh7/ProxmoxVE_PHP_APISaleh (modiffiziert)
https://github.com/ThingEngineer/PHP-MySQLi-Database-ClassThingEngineer
https://github.com/PHPMailer/PHPMailerPHPMailer

Folgende Virtualisierung wird derzeit unterstützt:
– LXC
– QEMU / KVM (beta)

Das Frontend

Nice to Know: Das System ist hybrig aufgebaut. Es arbeitet sehr viel mit „Live-Informationen“ aus dem Cluster. Als Backend steht neine SQL-Datenbank zur Verfügung die diverse Informationen zum Container, dessen Ressourcen, IP-Adressmanagement (IPAM), Usern und so weiter bevorratet.
Das Frontend, welches den „Kunden“ zur Verfügung gestellt wird beherrscht folgende Funktionen:

  • Benutzerebene
    • Login / Logout
    • Passwort vergessen
    • Nach Login: Passwort Änderung
    • Nach Login: Fullscreen-Mode
    • Nach Login: Darkmode
  • vServer Verwaltung:
    • vServer Übersicht inkl. On-Demand Live Auslastung und Quick-Action (Start, Stop, Reboot)
    • vServer editieren:
      • Live-Auslastung
      • Start, Stop, Reboot
      • Neu installieren (diverse Images auf Proxmox-Node Storage)
      • Backup einspielen
      • NoVNC Konsole aufrufen
      • Firewall und Firewallregeln hinzufügen, löschen und sortieren
      • Reverse-DNS für die IPs setzen
      • Cluster-Logs einsehen
      • Serverstatistik einsehen

Hier mal ein paar Bilder:

1_login
2_pwforget
3_dashboard
4_vserver_overview
5_vserver_edit
6_vserver_edit_backup
7_vserver_edit_console
10_vserver_edit_fw
8_vserver_edit_rdns
9_vserver_edit_reinstall
previous arrow
next arrow
Shadow

Das Backend

Das Backend ist ein klassisches Adminmenü.

  • Benutzerverwaltung
    • Hinzufügen, editieren und löschen
  • vServer Verwaltung
    • LXC hinzufügen
      • Automatisches setzen der Route für die IP zu der richtigen Cluster Node
      • Automatisches setzen der DNS Einträge für den Hostnamen
      • Automatisches setzen der RDNS Einträge passend zum Hostnamen
      • Senden einer E-Mail mit Infos für den Benutzer
  • API-Verwaltung (MyLOC, PowerDNS-Admin, Mail und Proxmox)
  • IPAM (IP Adressmanagement) inkl. Re-routing Funktion und RDNS Management

Vom Backend spare ich mir Bilder, da ich hier sonst stark aufpassen muss, keine Namen und so weiter zu publizieren.

Programmierung

Primär wurde das Webinterface in PHP (oop) geschrieben. Vorallem die On-Demand Funktionen wurden in Javascript / JQuery abgebildet. Als HTML-Framework wurde Bootstrap eingesetzt. Das Design ist gekauft und stark angepasst. HTML und CSS brauche ich sicher nicht zu erwähnen, damit das Ganze schön aussieht.

Develeopment Umgebung

Programmiert wurde ausschließlich mit Visual Studio Code.
Das publishing passiert bei mir mittels sshfs-win und einem bash-user zum htdocs-Verzeichnis.

Changelogs werden hier im Blog folgen 🙂
Bei Fragen oder Anregungen gerne per Kontaktformular melden.

3 Comments

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert


Related Articles

Plesk ClamAV unter Debian 12 installieren (postfix free antivirus)

Hallo zusammen, in den letzten Wochen bin ich von LiveConfig auf Plesk...

Counter Strike 2 offiziell bestätigt – Beta Testphase

Es ist offiziell, Counter Strike 2 befindet sich in der beta Testphase....

RustDesk – kostenlose Teamviewer (R)(TM) Alternative

Hi zusammen, ich wurde auf ein nettes Tool aufmerksam gemacht. Das Ganze...