ISPCONFIG 3.0.0.8 Sites Probleme

#1
Huhu,

ich hab mir die RC1 auf den Server geworfen. Schaut soweit toll aus, ich habe allerdings noch ein paar Schwierigkeiten mit den Sites:

Folgendes möchte ich erreichen:
Alle Nutzer haben ihr Homeverzeichnis unter
/home/[username]
Die Webs liegen dann unter
/home/[username]/www/[domain]

(Ich benötige für fcgid meine webroots unter /var/www. Das funktioniert auch soweit, allerdings würde ich es vorziehen, wenn die links der webs unter /var/www/[clients_id]/[web_domain] angelegt werden. Würde das funktionieren?)

Ich habe das ganze erstmal folgendermaßen unter System --> Serverconfig --> Web --> angelegt:
Website path: /home/[client_id]/www/[website_id]
Website symlinks: /var/www/[website_domain]/:/home/[client_id]/www/[website_domain]/

Nun mein Problem:
Grundsätzlich legt mir ispconfig beim anlegen neuer Domains alles unter
/home/1/www/1/ an. Um das zu ändern muss ich per Hand die Documentroot, UID und GID setzen unter Options setzen.

Lässt sich diese nicht per default dem client zuweisen?

Desweiteren würde ich der client_id einen eigenen sshzugang geben, allerdings lässt sich der name des clients nur nach dem Muster [Clientid][benutzername] anlegen und nicht einfach [Clientid]...

Ließe sich soetwas machen?
 

Till

Administrator
#2
Lässt sich diese nicht per default dem client zuweisen?
Die Software ist dafür geschrieben, dass die Clients unter /var/clients liegen und nicht in der Form wie Du es ändern möchtest. Oder Du schreibst neue Plugins für die apache und Shell user Konfiguration.

Sow wie ISPConfig die sites anlegt funktionieren sie gut mit fcgi, es liegt also kein Fehler vor.

Desweiteren würde ich der client_id einen eigenen sshzugang geben, allerdings lässt sich der name des clients nur nach dem Muster [Clientid][benutzername] anlegen und nicht einfach [Clientid]...

Ließe sich soetwas machen?
Nein. Usernamen dürfen unter Linux nicht nur numerisch sein.
 
#3
Die Software ist dafür geschrieben, dass die Clients unter /var/clients liegen und nicht in der Form wie Du es ändern möchtest. Oder Du schreibst neue Plugins für die apache und Shell user Konfiguration.
Sowie ISPConfig die sites anlegt funktionieren sie gut mit fcgi, es liegt also kein Fehler vor.
fcgid, funktioniert wunderbar mit meiner Änderung, nur das Anlegen ist nicht optimal. Ich denke dass es egal ist ob die clients unter /home oder /var/clients angelegt werden.

So wie ich es verstehe lege ich als erstes den Client, das wäre in meinem Fall der Username mit /home/[username]/ an.

die neu angelegten webs möchte ich dann unter /home/username/www/[domain] mit der UID und GID vom Client erstellen.

Momentan wird beim Anlegen einer neuen Domain eine neue UID und GID angelegt (Webx/clientx), obwohl doch die vom User verwendet werden könnte?

Wünschenswert wäre meiner Meinung nach, dass man beim Anlegen eine bestimmte UID / GID, also genau das was man unter Optionen einstellen kann, schon auf der ersten Anlegeseite einstellen kann.

Nein. Usernamen dürfen unter Linux nicht nur numerisch sein.
Oh, da hab ich mich nicht richtig ausgedrück... Ansich möchte ich nur den Usernamen an der stelle haben. kann ich auch die Variable [system_user] verwenden?

Edit:
[system_user] funktioniert an der Stelle leider nicht. Gibt es eine andere Variable die man verwenden könnte als [client_id]?
 
Zuletzt bearbeitet:

Till

Administrator
#4
die neu angelegten webs möchte ich dann unter /home/username/www/[domain] mit der UID und GID vom Client erstellen.
Clients sind ein "virtuelles" Konstrukt in ISPConfig, es wird nicht durch einen Linux System user abgebildet. Somit gibt es garkeine UID des Clients.

Das layout der Websites wurde vor Erstellung der Plugins ausgiebig von den Entwicklern diskutiert. Das aktuelle Layout und die Verwendung eines Users pro Web ist das Ergenis der Diskussionen insbesondere in Hinsicht auf Sicherheitsaspekte. Wir werden das in den ISPConfig standard plugins nicht ändern. Da mir aber auch bekannt ist das jeder Administrator ein anderes Layout haben möchte und auch andere Verteilung der UserID's etc., unterstützt ISPConfig Plugins. Du brauchst also zur Umsetzung Deines Layouts lediglich ein neues Plugin für die Konfiguration des Apache Webservers schreiben und das Standard Plugin durch Dein neues Plugin ersetzen.

[system_user] funktioniert an der Stelle leider nicht. Gibt es eine andere Variable die man verwenden könnte als [client_id]?
nein.
 
#5
...
Das layout der Websites wurde vor Erstellung der Plugins ausgiebig von den Entwicklern diskutiert. Das aktuelle Layout und die Verwendung eines Users pro Web ist das Ergenis der Diskussionen insbesondere in Hinsicht auf Sicherheitsaspekte. Wir werden das in den ISPConfig standard plugins nicht ändern. Da mir aber auch bekannt ist das jeder Administrator ein anderes Layout haben möchte und auch andere Verteilung der UserID's etc., unterstützt ISPConfig Plugins. Du brauchst also zur Umsetzung Deines Layouts lediglich ein neues Plugin für die Konfiguration des Apache Webservers schreiben und das Standard Plugin durch Dein neues Plugin ersetzen.
Dann werd ich wohl den Weg gehen mir ein eigenes Plugin zu basteln. Danke für die Erklärung :)

Was ich mir gerade noch überlege: Wie geht man den als normaler Nutzer damit um, wenn man 30 Domains hat. Dann brauch man doch 30 logins um jede Domain zu ändern?!

Magst du mir noch verraten auf welchen Plugins (Pfad + Scriptname) die Seitenanlegfunktion momentan basiert?
 

Till

Administrator
#6
Was ich mir gerade noch überlege: Wie geht man den als normaler Nutzer damit um, wenn man 30 Domains hat. Dann brauch man doch 30 logins um jede Domain zu ändern?!
Jein. Wenn Du für jede Domain ein Web anlegst, dann schon. Denn Du alle Domains in Unterverzeichnisse eines Webs anlegst als Aliasdomains mit Umleitung, dann nicht. Denk aber auch daran, dass wenn eine der 30 Domains gehackt wird, musst Du 30 Seiten komplett neu aufsetzen und nicht nur eine. Insebesondere bei Joomla Installationen die vom Kunden selbst gewartet werden daurt es oft nur ein paar Monate, bis ide Website kompromittiert ist.

Magst du mir noch verraten auf welchen Plugins (Pfad + Scriptname) die Seitenanlegfunktion momentan basiert?
/usr/local/ispconfig/server/plugins-available/apache2_plugin.inc.php

Für die Shell User wirst Du möglicherweise auch die Plugins shelluser_base_plugin.inc.php und shelluser_jailkit_plugin.inc.php anpassen müssen.
 
#7
Jein. Wenn Du für jede Domain ein Web anlegst, dann schon. Denn Du alle Domains in Unterverzeichnisse eines Webs anlegst als Aliasdomains mit Umleitung, dann nicht. Denk aber auch daran, dass wenn eine der 30 Domains gehackt wird, musst Du 30 Seiten komplett neu aufsetzen und nicht nur eine. Insebesondere bei Joomla Installationen die vom Kunden selbst gewartet werden daurt es oft nur ein paar Monate, bis ide Website kompromittiert ist.
mhhh... einmal gibt es Backups, womit die Nutzer die Möglichkeit haben die Sachen zurückzuspielen, andererseits ist man selbst schuld, wenn man seine Installationen nicht pflegt. Ist in hinblick auf Backup etwas in Planung? Z.b. Restorefunktion oder ähnliches?

Ich finde es angenehm mich mit einem Login per ssh einloggen zu können und unter www meine Webs zu haben. Irgendwie ist die Variante mit den Verschiedenen UID/GIDs sehr umständlich in der Handhabung, auch wenn mir klar ist, welchen Sicherheitsvorteil das bietet.

/usr/local/ispconfig/server/plugins-available/apache2_plugin.inc.php

Für die Shell User wirst Du möglicherweise auch die Plugins shelluser_base_plugin.inc.php und shelluser_jailkit_plugin.inc.php anpassen müssen.
ah danke, das hatte ich auch gesehen, war mir aber nicht sicher ob es das richtige ist. danke! :)
 

Till

Administrator
#8
mhhh... einmal gibt es Backups, womit die Nutzer die Möglichkeit haben die Sachen zurückzuspielen, andererseits ist man selbst schuld, wenn man seine Installationen nicht pflegt.
Das ist meistens nicht so einfach. Wenn Du z.B. auch Agenturen zu Deinen Kunden zählst die auch ein paar häufiger frequentierte Seiten betreiben, dann werden die nicht sehr erfreut sein wenn alle Ihre Sites auf einmal weg sind. Wie oft möchtest Du denn ein backup der DB eines häufig frequentierten Forums machen um keine Daten zu verlieren, alle 5 Minuten? Aber wie gesagt, dass muss jeder selbst wissen. Wir werden auf jeden Fall eine sichere Variante ausliefern. Wenn es nach den Kunden ginge hätten email accounts auch kein passwort, dass man sich merken muss ;)

Ist in hinblick auf Backup etwas in Planung? Z.b. Restorefunktion oder ähnliches?
Wird es in späteren Releases wohl wieder geben.
 
#9
...Wir werden auf jeden Fall eine sichere Variante ausliefern. Wenn es nach den Kunden ginge hätten email accounts auch kein passwort, dass man sich merken muss ;)...
Das ist sicher sinnvoll, auch wenn ich meine, dass man neben dieser sicheren auch eine simplere Variante anbieten könnte. (Ich muss da immer an die 30 ssh accounts denken :D)

Aber wie geschrieben gibt es ja die Pluginmöglichkeit zum Selberbasteln :)
 

Till

Administrator
#10
Aber wie geschrieben gibt es ja die Pluginmöglichkeit zum Selberbasteln :)
Das ist richtig. Du kannst Dein Plugin ja auch gerne zur Verfügung stellen, wenn Du möchtest. Wenn wir eine 2. Konfigurationsmöglichkeit anbieten würden dann wäre das auf jeden Fall auch als separates Plugin. Bei Interesse können wir auch ein offizielles SVN Repository für Erweiterungen bereiststellen.
 
#11
Das ist richtig. Du kannst Dein Plugin ja auch gerne zur Verfügung stellen, wenn Du möchtest.
Das würde ich dann natürlich machen. Ich hoffe ja auch, dass andere ein ähnliches nicht so "sicheres" Konzept nutzen möchten?!

...Wenn wir eine 2. Konfigurationsmöglichkeit anbieten würden dann wäre das auf jeden Fall auch als separates Plugin. ....
Meine Idee ist momentan, dass beim Erstellen eines Clients automatisch ein Systemaccount angelegt wird. Beim Anlegen der Domains würde dann diese UID/GID übernommen werden.
 

Till

Administrator
#12
Meine Idee ist momentan, dass beim Erstellen eines Clients automatisch ein Systemaccount angelegt wird. Beim Anlegen der Domains würde dann diese UID/GID übernommen werden.
Ja, würde ich auch so realisieren. Du kannst ja einfach eine Funktion in Deinem Plugin an den client_insert und client_update event binden und dann den Systemuser anlegen. Es kann sein, dass wir dann im Interface auch noch anpassen müssen, dass er die richtige uid und gid nimmt, sollte aber kein Problem sein, wir müssen dass nur über die Server Settings konfigurierbar gestalten. Wenn Du ein Plugin schreibst denk bitte daran, dass Du vom Plugin aus nicht in die DB schreiben kannst.
 
#13
Ja, würde ich auch so realisieren. Du kannst ja einfach eine Funktion in Deinem Plugin an den client_insert und client_update event binden und dann den Systemuser anlegen. Es kann sein, dass wir dann im Interface auch noch anpassen müssen, dass er die richtige uid und gid nimmt, sollte aber kein Problem sein, wir müssen dass nur über die Server Settings konfigurierbar gestalten. Wenn Du ein Plugin schreibst denk bitte daran, dass Du vom Plugin aus nicht in die DB schreiben kannst.
Also ich denke am Interface muss nichts verändert werden. Der Systemnutzer sollte sich ja 1:1 aus dem Clientnamen zusammensetzen können. Beim Anlegen der Domain kann ich einen Client auswählen und entsprechend darüber wieder die Rechte vom Systemnutzer setzen lassen. (anstatt so wie mom einen neuen Nutzer+Gruppe zu erstellen)

Die restlichen Sachen muss ich mir noch mal genauer anschauen, bevor ich zu viele offensichtliche Fragen stelle :)
 

Werbung