ConfWizard - ServerPanel

  • Hoffentlich bin ich im richtigen Bereich.


    Da ich Froxlor und Co nicht wirklich mag habe ich mir ein eigenes alternatives Server Panel geschrieben, welches nun auch eine Projektseite hat und den eigenen Bedürfnissen entspricht:


    http://www.integralstudio.net/


    Geplant ist es vorerst als OpenSource.


    Die Verwaltung unterteilt sich wie üblich in ein Frontend und ein Skript, welches die Änderungen (per Cronjob) am System durchführt. Momentan funktioniert das Verwalten von vHost-Dateien (also das Verwalten von Domains, Subdomains) falls externer Nameserver verwendet wird und das Anlegen von FTP-Benutzer (ProFTPd) sowie das Verwalten von MySQL Datenbanken.
    Es nutzt PHP > 5.3 und SQLite. Der Quelltext objektorientiert (auch nicht immer gegeben). Derzeit unterstützt es nur Debian Squeeze und ProFTPd. Formulare für Cronjobs andere Ressourcen werden durch Einsatz von JQUERY und diversen Plugins vereinfacht:

    • autocomplete bei Pfadeingaben
    • Auswahlboxen bei Cronjobs


    Das Panel verfolgt einen anderen Ansatz im Vergleich zu den vorhandenen (auch kommerziellen) Panels. Es gibt keine starre Einteilung in „Administrator“, „Reseller“, „Endkunde“. Die Rechte werden durch „Hostingpläne“ vergeben. Man weist einem Benutzer gewisse Kapazitäten zu. Was dieser mit den Kapazitäten nun anstellte bleibt ihm überlassen, sofern es die Kapazitäten nicht überschreitet.
    Beispiel: Gibt man einem Benutzer eine Kapazität von 100 Domains und 10 Unterbenutzern, so kann dieser entweder die 100 Domains selber verbrauchen oder diese in allen möglichen Kombinationen und Teilen an Unterbenutzern weiterreichen:

    • 10 Benutzer mit jeweils 10 Domains und er selber 0
    • 5 Benutzern mit jeweils 10 Domains + 1 Benutzer mit 30 Domains + er selber mit 20 Domains


    Damit fällt auch das Umschalten zwischen Reseller und Kunde weg. Wenn man ein Reseller ist (also einen entsprechenden Hostingplan hat) so kann man direkt eine Homepage verwalten. Des Weiteren werden die Kapazitäten rekursiv vererbt. Wenn ein Benutzer 20 Unterbenutzer frei hat, so kann im Extremfall jeder dieser 19 Unterbenutzer einen Unterbenutzer haben.


    Herunterladen kann man es noch nicht. Falls ich bei Jemanden mit hilfreichen Fähigkeiten Interesse geweckt habe und vielleicht dieser Jemand mit entwickeln möchte, kann dieser mich hier per PN kontaktieren. Bis jetzt arbeite ich alleine am Projekt. Es geht vorwärts. Die Frage ist nur mit welcher Geschwindigkeit ;)


    Also großes Endziel ist noch die Einbindung von mongoose und das vollständige abkapseln vom Standardwebserver.

  • Da ich leider den obigen Beitrag nicht editieren kommt hier ein Weiterer.
    screenshot_domain.jpg


    Ich habe auch soeben eine LiveDemo hochgeladen, bei der selbstverständlich die systemändernden Programmcodeteile auskommentiert wurden.


    Url: http://demo.integralstudio.net


    Benutzer mit Administratorrechten:
    Benutzer: web1000
    Passwort: zugang


    Benutzer mit eingeschränkten Rechten
    Benutzer: web1024
    Passwort: 0123456789


    Über Feedback würde ich mich freuen. Das Projekt steckt noch in den Kinderschuhen und hat nur einen Entwickler.


    Die Daten werden alle 25 Minuten zurück gesetzt und die Systemänderungen (welche im Livebetrieb dann auch wirken würden) werden alle 5 Minuten durchgeführt.


    Mal ein paar Features:
    rekursiver Ressourcenbaum
    Die Ressourcen (Anzahl Domains, FTP-Zugänge, Subdomains, Cronjobs, Unterbenutzer) werden an einen Benutzer durch sogenannte Angebotsvorlagen zugewiesen. Darf dieser Unterbenutzer anlegen, so darf er nach gut dünkten seine Ressourcen auf diese aufteilen. Mit 100 MySQL Datenbanken und dem Recht 10 Unternutzer anzulegen könnte er folgendes machen:

    • 1 Nutzer mit 100 Datenbanken
    • 10 Nutzer á 10 Datenbanken
    • 1 Nutzer mit 80 Datenbanken und 2 Nutzer mit jeweils 10 Datenbanken


    Sicherheitsmechanismen
    Absolut jede Eingabe wird auf Plausibilität getestet. Selbstverständlich werden alle Passwörter gehasht nur gesichert, falls sie überhaupt gesichert werden müssen.


    Backup
    Das Backup besteht aus dem Kopieren der SQLite3 Datenbankdatei. (Das Wiederherstellen ist natürlich nicht so simpel und noch in Arbeit)


    ein Interface
    Kein Umschalten zwischen Reseller und Kunde, denn ein Benutzer ist ein Benutzer! Ist man Administrator oder Reseller, so kann man auch direkt eine Webseite verwalten.


    letztes Feature: Ich habe mir Mühe gegeben ein schöne Gui zu basteln.

    5 Mal editiert, zuletzt von wieschoo () aus folgendem Grund: die deutsche Rechtschreibung und Denglisch

  • Sieht gut aus. Ausserdem finde ich den Ansatz, das es nur ein Interface gibt, hervorragend. Ich finde es immer nervig, zwischen den ganzen Interfaces umzuschalten. Ausserdem kann man Cronjobs einfach über dein Interface erstellen, was bei den anderen wie z.B. Froxlor und EasySCP nicht möglich ist.