# ISPConfig3 Reseller



## Edi (31. Aug. 2010)

Hallo,

Ich habe bis jetzt keinen Reseller eingerichtet, nur Kunden.
Ist es nachträglich möglich einen Reseller einzurichten und ihm einige Kunden zuzuorden.

Z.B.  res1 bekommt Kunde 1,4,8 und 11
res2 bekommt Kunde 3,12 und 6

geht das nachträglich bzw. kann eine Kunde zwischen Reselleren verschoben werden oder muß der Reseller bereits existieren wenn der Kunde eingerichtet wird.

Benutze Version 3.0.2.2

Danke

Edi


----------



## Till (31. Aug. 2010)

In den aktuellen ISPConfig Releases muss der Reseller vor den Kunden angelegt werden. Es kann sein dass wir mal später einen Migrationsassistenten schreiben, um Kunden nachträglich zu einem Reseller verschieben zu können.


----------



## wotan2005 (9. Okt. 2014)

@Till 
Gibt es hierzu schon was neues?


----------



## Till (9. Okt. 2014)

Ja, ist für 3.1 implementiert, wenn ich mich recht entsinne.


----------



## suther (2. Nov. 2017)

Hi, hab die 3.1.7 am Start. Finde aber die Funktion nicht, das ich einen (oder mehrere Kunden) einem Reseller zuordnen kann.
Gibt es dazu schon eine GUI, oder müsste das in der DB angepasst werden.
Wie und wo müsste ich das machen?


----------



## suther (8. Nov. 2017)

Hat jemand einen Tipp?


----------



## Till (8. Nov. 2017)

Du musst Dich als Reseller einloggen und dann den Kunden anlegen. Du kannst nicht bestehende Kunden nachträglich einm Reseller zuordnen.


----------



## suther (8. Nov. 2017)

Ok, aber es muss doch irgend eine Möglichkeit geben, dies im Nachhinein zuzuweisen, da diese Verknüpfungen irgendwie gespeichert werden. 
Also notfalls über DB-Zellen  z.B. 
Ich habe versucht, in der Tabelle "client" das Feld parent_id auf meinen "neuen Reseller" zu setzen, zu dem der Kunde verschoben werden soll. Danach habe ich in der GUI ein Rsync für Reseller & Kunden gemacht. Leider sehe ich diesen Kunden noch nicht unter meinen Reseller-Acconut.
Es wäre mir sehr wichtig, das ich das irgendwie hin bekomme... denn ispconfig neu Aufsetzen, bzw. jeden Kunden löschen und unter dem Reseller neu anlegen geht schon alleine wegen der Ausfallzeiten der Pages nicht.


----------



## Pixelpirat (8. Nov. 2017)

Ich habe  ähnliches Problem mit den Rechten. Meins ist leider hausgemacht Layer8 Problem. 
Wenn nicht der entscheidene Tipp kommt, wird mir nichts anderes übrig bleiben. Ich hoffe Dir geht es nicht genauso.


----------



## suther (8. Nov. 2017)

Was ist denn ein Layer8 Problem?
Ich hab zumindest schon mal rausgefunden, wie man einen Kunden-Datensatz im Reseller-Account sichtbar macht. 
Jetzt tüftel ich daran, das auch Mail, websites, Datenbanken usw. für den Reseller sichtbar werden.


----------



## Till (8. Nov. 2017)

Der Reseller sys_user muss Mitglied der Gruppe des Kunden sein. also alles in sys_user / sys_group muss passen. Legt Ech mal einen Reseller an und darin einen Kunden und schaut Euch an, wie die User und Gruppenverbindungen aufgebut sind.


----------



## Pixelpirat (8. Nov. 2017)

@Till 
Ich schreie zwar ungern in einem Forum, aber diesmal muß es sein!
DDDDAAAANNNKKKKEEE! Du bist mein Held! 
Gruß
Pixelpirat


----------



## Pixelpirat (8. Nov. 2017)

Zitat von suther:


> Was ist denn ein Layer8 Problem?


Das ist das Problem zwischen Stuhllehne und Tastatur.


----------



## suther (8. Nov. 2017)

_Also, ich hab mich jetzt mal durchgefuchst. Hier das Resume: _

Möchte man nachträglich einen Kunden zu einem Reseller zuordnen, ist dies nur über die DB möglich.

Öffne die ISPConfig Datenbank ⇒ Tabelle „_sys_group_“ und schreibe dir den Wert der der Spalten _client_id_ und _group_id_ auf, die in der Zeile ist, zu dessen Reseller die Kunden verschoben werden sollen.
Öffne die Tabelle _sys_user_ und suche dir die _userid_ zum Reseller-Account raus.
1) *Tabelle: client*

_sys_groupid_ und _parent_id_ in diesem Datensatz verändern: sys_groupid = _<group_id>_ & parent_id = _<client_id des Resellers>_
Im Reseller-Backend von ISPConfig sollte nun nach dem aktualisieren der Kunde sichtbar werden.
 _Beispiel: _
    UPDATE FROM dbispconfig SET sys_groupid="_<group_id>_", sys_userid="_<userid>_" parent_id="_<parent_id>_" WHERE sys_userid="_<vorherige Owner-ID>"_ AND client_id > 1;

2) *Tabelle: sys_user*

in der Spalte _groups_ müssen komma-separiert alle Kunden-Id's eingetragen werden, auf die der Reseller Zugriff haben soll. Dies wirkt sich auf Domains, Email, DB, DB-User etc. aus. [Achtung, Relogin des Resellers ist erforderlich damit die Rechte greifen].
*Kleines Helferlein: *
# hole alle Client-IDs und erzeuge eine Komma-Separierte Liste daraus, schreibe die IN sys_users)
SELECT
   GROUP_CONCAT(g.groupid SEPARATOR ',')
   FROM `client` c
   LEFT JOIN sys_group g
       ON (g.client_id = c.client_id)

   WHERE c.sys_groupid = 55
   GROUP BY c.sys_groupid

Das Ergebnis dann einfach in die group-Spalte des Resellers einfügen.

Vielleicht spart es dem ein oder anderen ein wenig Zeit und mühe, falls eine Umstruktukrierung der Reseller-Accounts durchgeführt werden muss.

I love ​


----------



## suther (9. Nov. 2017)

ok, so ganz final war das scheinbar nicht.
Mir ist aufgefallen, wenn ich mich als Reseller einlogge:
1) In der Übersicht auf dem Dashboard sehe ich keine Zusammenfassungen für Mail, Webspace usw. der einzelnen User. Diese sehe ich nur für User, die ich bereits unter diesem Account angelegt habe.

Wenn ich z.B. in mail_user ⇒ sys_groupid meine Reseller-Gruppe eintrage, dann sehe ich die Quota für diesen Mailaccount.
*
@Till:* Kann es sein, das hier die Gruppenrechte nicht 100% sauber umgesetzt sind, bzw. dort irgendwo ein Bug ist? Eigentlich sollte die oben beschriebene Umsetzung (das der Reseller in den Gruppen der jeweiligen User mit drin ist) doch ausreichend sein.
Wie  es scheint muss man nun jedoch zusätzlich die sys_groupid spalten für sämtliche *_user-Tabellen anpassen?!
Dann jedoch sind wiederrum die sys_group rechte überflüssig, da mir die Userdaten im Reseller auch angezeigt werden, wenn sys_groupid = ResellerGruppe & sys_group-Tabelle - User NICHT in spalte "group"


----------

