ISPCONFIG 3.0.0.8 Sites Probleme

Dieses Thema im Forum "Entwicklerforum" wurde erstellt von TychoBLN, 28. Dez. 2008.

  1. TychoBLN

    TychoBLN New Member

    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?
     
  2. Till

    Till Administrator

    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.

    Nein. Usernamen dürfen unter Linux nicht nur numerisch sein.
     
  3. TychoBLN

    TychoBLN New Member

    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.

    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: 28. Dez. 2008
  4. Till

    Till Administrator

    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.

    nein.
     
  5. TychoBLN

    TychoBLN New Member

    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?
     
  6. Till

    Till Administrator

    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.

    /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. TychoBLN

    TychoBLN New Member

    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.

    ah danke, das hatte ich auch gesehen, war mir aber nicht sicher ob es das richtige ist. danke! :)
     
  8. Till

    Till Administrator

    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 ;)

    Wird es in späteren Releases wohl wieder geben.
     
  9. TychoBLN

    TychoBLN New Member

    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 :)
     
  10. Till

    Till Administrator

    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. TychoBLN

    TychoBLN New Member

    Das würde ich dann natürlich machen. Ich hoffe ja auch, dass andere ein ähnliches nicht so "sicheres" Konzept nutzen möchten?!

    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.
     
  12. Till

    Till Administrator

    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. TychoBLN

    TychoBLN New Member

    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 :)
     

Diese Seite empfehlen