Alte Web-Nummern aktivieren

Clemens

New Member
Hallo zusammen,

ich habe versucht mein Problem hier im Forum zu finden, habe aber nichts dazu gefunden (vielleicht auch falsche Stichworte benutzt).

Ich habe ISPConfig 2 auf Debian Etch. Inzwischen sind durch einige Kunden und mich über 50 Webs angelegt. Allerdings hat es in den einzelnen Nummern auch Lücken (gelöschte Webs). Jemand möchte bei mir auf den Server, möchte aber eine möglichst niedrige Nummer (hat für ihn einen psychologischen Grund). Bei mir sind web2 und web9 zum Beispiel frei. Wenn ich aber ein neues Web anlege, wird nicht eine der freien web-Nummern genommen, sondern im Auto-Increment die höchste + 1. An welchen Stellen muss ich einen derartigen Account überall ändern, um daraus, sagen wir web2 zu machen. Sicherlich das Verzeichnis, im vhost, in der Datenbank etc. Hat jemand eine Übersicht oder kann jemand eine Übersicht machen, was alles zu berücksichtigen ist, damit ich nichts vergesse?

Vielen Dank schon einmal

Gruß
 

Till

Administrator
Einen bestehenden Account kannst Du faktisch nicht ändern, da dort ein haufen tabellen und Abhängigkeiten dran hängen. Also diverse Einträge in isp_isp_web, isp_nodes und isp_fakt und dann noch diverse Verzeichnisse auf der Shell. Wenn nur ein einziger Eintrag falsch geändert wird kriegst Du probleme mit nicht mer editierbaren Einträgen im Interface, also lass es am besten so wie es ist.
 

Clemens

New Member
Okay, das Pferd von hinten aufzäumen ist also zu kompliziert. Dann frage ich mal nach, ob es sich von vorne aufzäumen lässt ... :)

Gäbe es aber ein Problem, wenn ich in der Datenbank kurz bevor ich das Web für den Kunden anlege, den autoincrement der Tabelle isp_isp_web auf 2 setze, dann das Web anlege und anschließend den autoincrement zurück auf die ursprüngliche Zahl setze? Irgendwoher muss das System schließlich ihre Nummerierung haben; es ist nur eine Zahl, die irgendwoher kommen muss. Wenn sie also aus dieser Tabelle kommt, könnte das klappen. Was meinst du Till?
 

Barg

New Member
um mich da auchnochmal einzumischen ; )

Wo bekommt denn ISP Config seine webnummern her, wenn z.B inder DB bis web10 angelegt ist.
Aber schonmal bis web 30 alle nummern vergeben wurden.
In der Datenbank find ich da nichts.


gruß
Barg
 

Clemens

New Member
Das woher ist sehr simple. Die Webnummer bekommt das Tool direkt aus der Datenbank. Jeder Tabelle kann man sagen, dass er für jeden neuen Datensatz eine neue, um eins höhere als die vorhergehende, Nummer vergeben soll. Wenn also ein neues Web vergeben werden muss, legt ISPConfig erst einmal einen leeren Datensatz an und bekommt dadurch diese Webnummer. Mit dieser Webnummer arbeitet ISPConfig dann weiter und überschreibt im Verlaufe natürlich den leeren Datensatz mit den realen Daten.

Das Zurücksetzen des autoincrement-Wertes funktioniert mit den entsprechenden Rechten. Aber im Übereifer könnte man vergessen diesen Wert wieder korrekt auf die letzte Nummer +1 zu setzen und dann ist das Gejammer umso größer, denn dann werden wie wild bestehende Webs regelrecht zerstört.

Man könnte an der Stelle, wo das Tool diese automatisch vergebene ID holt, auch ein kleines Tool einbauen, welches die erste freie Nummer holt und vergibt. Doch das kann nur funktionieren, wenn für dieses Web-ID absolut keine Daten mehr auf dem ganzen Server vorhanden sind. Und ich kann mir vorstellen, dass Till dafür nicht einmal einen Fingernagel ins Feuer legt (geschweige seine Hände oder andere Körperteile). Das ist nämlich kaum zu garantieren.

Nur wer viel von PHP und MySQL versteht, kann sich auf einem Nicht-Produktivserver daran versuchen.

Gruß
 

Till

Administrator
Danke für die umfangreiche Erläuterung des Sachverhaltes :)

Man könnte an der Stelle, wo das Tool diese automatisch vergebene ID holt, auch ein kleines Tool einbauen, welches die erste freie Nummer holt und vergibt. Doch das kann nur funktionieren, wenn für dieses Web-ID absolut keine Daten mehr auf dem ganzen Server vorhanden sind. Und ich kann mir vorstellen, dass Till dafür nicht einmal einen Fingernagel ins Feuer legt (geschweige seine Hände oder andere Körperteile). Das ist nämlich kaum zu garantieren.

Eines der Probleme das man haben kann wenn wenn man die ID's manuell bestimmen möchte ist z.B. wenn mehere leute gleichzeitig eingeloggt sind und neue Webs anlegen dann kannst Du schnell Probleme damit bekommen dass Web Nummern doppelt vergeben werden. Aus diesem Grund verlässt sich ISPConfig die AutoID der Datenbank. das Ganze ließe sich nur mit table Locking, Transaktionen etc. umgehen, also sehr aufwändig.
 

ereuter

Member
Daran sollte man gleich am Anfang denken...

... und etwa die IDs 1-10 als Leer-IDs anlegen, oder ausscheidende Kunden nicht löschen, sondern deaktivieren.

Natürlich dürfte man dann das "Problem" haben, dass niemand kommt, der eine niedrige Nummer haben will...

Beste Grüße

Elisabeth
 

Werbung

Top