PHP: Virtual Host

blck

blck

Routinier
Hallo,
ich habe ein kleines Blogsystem geschrieben und da es an dem System selber kaum noch was zu tun gibt, habe ich mir überlegt, es möglich zu machen, dass man sich auf einer Internetseite anmeldet und dann einen eigenen Blog zugewiesen bekommt, will sagen:
Der "Programm Ordner" muss an Benutzer angepasst werden(grade z.B. die DB_Connect)
MySQL Datenbank muss angelegt werden
Die Apache Konfiguration muss zusätzliche VirtualHosts bekommen(also z.B. testblog.blogsystem.de)

Ist das mit PHP realisierbar oder auf was muss ich insgesatm achten, grade weil eine Manipulation der httpd.conf oder apache.conf ja extrem Risikoreich ist, grade wenn sie auf Usereingaben basiert, wobei ja nur bestimmte Sachen wie z.B. der Username in der Datei laden.

So far,
Blck

P.S. Das neue Design ist sehr chick etwas hell aber sonst top!
 
Die VirtualHost-Konfigurationen würde ich in einer Datenbank ablegen. Dann ist auch das Hinzufügen mit PHP kein Problem mehr. Dass die User-Eingaben penibel geprüft werden müssen, versteht sich eigentlich von selbst.
 
Hi,
Bitmuncher deine Links sehen schon mal sehr gut aus. Jetzt stellt sich für mich nur noch die Frage, ob ich den Programm-Ordner jedesmal kpieren soll und wie? oder ob ich nur die DB-Connect anpassen soll oder wie....
MfG Blck
 
Wie du vorgehst, hängt von deinem Blog-System ab. Grosse Blog-Hoster nutzen zumeist den Weg über Rewrite-Regeln um Domains auf Blogs zu mappen. Angesprochen wird aber prinzipiell eine Applikation, die dann anhand der Host- und/oder Benutzer-Namen entsprechende Konfigurationsparameter aus einer DB holt und diese darauf anwendet. Es wird also nicht mit echten VirtualHosts gearbeitet, sondern nur mit Subdomains und Inhalten/Daten, die abhängig von der Subdomain sind. Um also ein Blog-System effektiv mit mehreren/vielen VHosts zu nutzen, sollte es dafür ausgelegt sein. Ist es das nicht, bleibt dir nur ein Kopieren des DocumentRoot beim Anlegen. Das erschwert natürlich das Updaten entsprechend, da dann jedes DocumentRoot aktualisiert werden muss, wenn mal ein Update der Blog-Software ansteht. Die Nutzung von rsync, unison o.ä. könnte aber die Updates in diesem Fall etwas vereinfachen und unnötigen HDD-Durchsatz sparen.
 
Hallo,
und ich dachte ich würde spät ins Forum posten :D

Also das mit dem Kopieren habe ich mir auch schon überlegt... Theoretisch funktioniert alles über $_Session Variablen. In der Praxis auch, die Frage ist nur wie sicher (klar hängt von meinen Künsten ab), das Ganze ist. Im endeffekt heißt dies, dass ich nur die DB-Connect, dynamisch für jeden User zusammenbauen müsste!
Nach [klick] erfolg eine Erstellung der Rewrite-Regeln am ehesten durch eine Manipulation der .htaccess oder einen Eintrag in die Konfiguration des Apaches. Nur wenn ich beim letzteren schon den Apache manipuliere, könnte ich doch auch gleich VirtualHost anlegen?!
Schönes Wochenede,
Blck
 
Zuletzt bearbeitet:
Bedenke, dass du beim Anlegen von VHosts jedes Mal die Konfiguration des Indianers neu laden musst. Die Manipulation der htaccess erfordert dies nicht. Ausserdem kannst du in Rewrites Wildcards nutzen, so dass theoretisch nicht für jedes Blog neue Rewrite-Regeln eingefügt werden müssten. Das hängt allerdings auch wieder von deinem Blog-System ab.
 
also ein blog ist doch eingentlich nur ein tagebuch .. sprich man sieht untereinander verschiedene einträge oder nicht? dann noch den admin bereich dafür und fertig??

www.example.de/user-uzu

mit rewrite wird das /var/www/blog/user.php?name=uzu

dann doch einfach nur die daten für uzu aus der content-tbl laden und gut ist .. oder ich jetzt total?
 
Er moechte aber fuer jeden Blog eine extra Subdomain anbieten, also z.B. user-uzu.example.de
 
user-uzu.example.de
mit rewrite wird das /var/www/blog/user.php?name=uzu

ist ja egal was du da als rewrite nimmst .. solange das im hintergrund richtig läuft.
 
Wenn er da fuer jeden Blog eine Rewrite-Regel einfuegt, duerfte der Webserver bald ziemlich langsam reagieren, wenn da ein paar hundert Blogs drauf laufen. Daher meinte ich ja oben, dass die Blog-Software entsprechend angepasst sein muss, so dass sie z.B. auch den Blog-Namen als Parameter versteht und nicht nur die Benutzernamen (sofern der Username nicht eh der Blog-Name sein soll, was aber bei den meisten Blog-Anbietern nicht notwendig ist). Sein Blog-System muesste also min. URLs der Form http://domain.tld/?name=blogX verstehen, woraus dann http://blogX.domain.tld gemacht wird, damit Wildcards in den Rewrite-Regeln verwendet werden koennen.
 
Zurück
Oben