Alternatives Userinterface

Kufstein

B1G-Software-Kunde
Hallo zusammen.


Ich bin grad dabei, ein kleines Userinterface (PHP) zu basteln. evtl eine kleine Alternative zu Confixx.

Der User kann sich einloggen und anschließend soll er seine MYSQL Datenbaken verwalten können, E-Mailadressen anlegen können und seine Subdomains verwalten können.

Das MySQL Datenbank verwalten ist kein Problem, das läuft schon ohne Probleme. Das E-Mailadressen anlegen sehe ich auch kein Problem.


Aber bei den Subdomains weis ich noch nicht genau wie ich das anstellen soll.
Ich müsste ja in /etc/availiable-sites/ einen Vhost anlegen und anschließend /etc/init.d/apche2 reload ausführen.


Hat mir da jemand ein Lösungsvorschlag ???
 
Mit fopen kannst du auf Dateien zugreifen oder auch welche anlegen.
Mit system oder exec könntest du den /etc/init.d/apache2 force-reload absetzen.

Oder du nimmst das DB-Modul des Indianers, da gibts ein mod mit dem du die vHosts direkt in die Datenbank legen kannst.
Frag mich jetzt aber bitte nicht wie das genau heißt, hab damit schon seeeeehr lange nichts mehr gemacht.
 
Frag mich jetzt aber bitte nicht wie das genau heißt, hab damit schon seeeeehr lange nichts mehr gemacht.

Wie heist das genau ????? :tongue:


Was ich jetzt aber nicht genau verstehe:

Wenn ich mit PHP auf /etc/apache2/ zugreifen darf, dann kann das doch jeder der PHP Seiten auf dem Server ablegen darf auch, oder?

Weil wenn ich nachher den Server für einen Benutzer freigebe sollte er nur sein HOME Ordener also /var/www/user und die sollen mir ja nicht mit PHP in meinen vHost rumfummeln können.
 
Last edited:
Entweder du nimmst mod_vhost_mysql oder du schreibst ein Script, was als Root (z.B. als Cronjob) läuft und die Änderungen in der VHost-Datei macht und Apache einen SIGHUP sendet.

Ein vom Webserver ausgeführtes PHP-Script hat keine Chance, den Webserver neu zu starten.
 
Oder wie bei Plesk: Ein zweiter WebServer, auf welchem das Script läuft und den anderen WebServer dann restarten kann.
 
Oder wie bei Plesk: Ein zweiter WebServer, auf welchem das Script läuft und den anderen WebServer dann restarten kann.

Dann muss der zweite Webserver aber als Root laufen und stellt damit ein unnötiges Sicherheitsproblem dar...

Macht Plesk das wirklich so?
 
Macht Plesk das wirklich so?

Also das sie einen dedizierten WebServer nutzen weiss ich... (Darin läuft ein Apache mit PHP3...) Wie genau das mit dem Reloaden geht weiss ich nicht. Aber ein Cron ist das sicher nicht... Man kann da alle Dienst "live" restarten, stoppen etc.
 
Man kann da alle Dienst "live" restarten, stoppen etc.
Der Webserver kann ja z.B. über einen Socket oder eine TCP-Verbindung mit einem als Root laufenden, gesicherten Verwaltungsdienst sprechen.
 
Der Webserver kann ja z.B. über einen Socket oder eine TCP-Verbindung mit einem als Root laufenden, gesicherten Verwaltungsdienst sprechen.

Soviel Wissen trau ich denen nicht zu... :D
 
Last edited:
Mann könnte auch einen Cron anlegen der regelmäßig eine Datei auf Einträge abfragt und in diese den Restart eintragen.
 
Muss ich aber noch irgendwas in den Sicherheitseinstellungen machen, das die einzelde User mit PHP nur auf seinen Ordner zugreifen darf ?

Sonst könnte doch jeder Benutzer dem Andere Bneutzer die Dateien verhunzen ...
 
Last edited:
Safe-Mode und open_basedir-Einstellung in der jeweiligen VHost-Config (mit php_admin_flag) wären nicht dumm :]
 
Safe-Mode und open_basedir-Einstellung in der jeweiligen VHost-Config (mit php_admin_flag) wären nicht dumm :]

Aber das bekomme ich ja nicht mit dem mod_vhost_mysql hin.
Da brauche ich dann einen SH Script der die Daten dann aus einer MySQL Datenbank in Vhost erstellt
 
Ein PHP-Script tut's auch ;)

Achso .. und dann einfach per crontab apache2 reload ausfürhen.
Aber wie führe ich dann a2ensite aus?


Wie müsste dann dann der vhost mit php_admin_flag aussehen ?

Code:
<VirtualHost *:80>
  ServerName sub1.weißniemand.net
  ServerAlias nosa24-1.weißniemand.net
  DocumentRoot /var/www/sub1/public_html
  php_admin_value open_basedir /var/www/USER1/
  php_admin_value safe_mode on
  php_admin_value energie off
  suPHP_Engine on
</VirtualHost>
ist das korrekt ?

Kann ich eingentlich auch alle Vhost in eine Datei kopieren, oder stresst er mir da denn rum?
 
Achso .. und dann einfach per crontab apache2 reload ausfürhen.
Nein, dann würdest du Apache ja auch reloaden, wenn sich gar nichts geändert hat. Ich würde Apache nur bei Bedarf aus dem PHP-Script heraus reloaden, das PHP-Script aber seinerseits per Crontab als Root starten.

Deine VHost-Config sieht auf den ersten Blick OK aus, wenn "USER1" auch "sub1" ist ;)

Kann ich eingentlich auch alle Vhost in eine Datei kopieren?
Klar, das geht.
 
Geht schon, würde ich allerdings zugunsten der Übersichtlichkeit nicht machen.

Ja ich hab mir das so forgestellt, dass ich alle Vhost in einer MySQL Datenbank abspeicher und jedes mal wenn sich was ändert die daten users neu anlegen lasse ...
 
Gruzi.

Ich habe nun ein sh Script angelegt, der per Cron läuft. Er prüft ob PHP eine neue Vhost Datei abgelegt hat und ladet den Apache2 neu.

Nun soll aber der User nicht nur aufs Unterverzeichnisse seine Subdomains legen. Er soll auch extern verknüpfen können.

Aber wie mache ich das genau ??? ich habe nun schon mit Redirect probiert, aber bekomme es nicht raus ...

Kann mir jemand helfen....

Code:
<VirtualHost *>
ServerName test.home.q-radio.eu
ServerAlias test.home.q-radio.de
Redirect permanent  http://www.web.de 
</VirtualHost>


funktioniert aber nicht ..


Des weiteren würde mich intressieren wie man Wildcard Domains im Apache definiert ....
 
Last edited:
Back
Top