Hi
ich habe einen vServer, möchte in ein paar wochen Free-Webspace anbieten und stehe vor folgendem Problem!
Ich möchte gerne, das jeder User seine eigene Subdomain hat xyz.domain.de...
Ich habs schon mit Wildcards gemacht, aber das hat mich nicht überzeugt, da ich vieles nicht machen konnte.
Ich möchte jetzt gerne die Subdomains, bei der registrierung eines Users auf der Homepage automatisch auf meinem Server eintragen lassen.
Ich bin ein Linux Noob
Ich bin ein PHP Freak
Ich würde mich auf jede Hilfe freuen, Danke im voraus
MfG session
Automatisch Subdomains registrieren lassen! How-do?
- Freeman
- Beiträge: 67
- Registriert: 12.07.2002 16:38:08
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: München
Hi,
wenn Du ein PHP-Freak bist, dann sollte das doch nicht sooooo schwer sein.
- Include in der httpd.con eine neues File, in welchem die SubDomains der User hineingeschrieben werden
- Lasse nach erfolgreicher Registrierung die Datei mit PHP befüllen.
- Apache Reload ist auch notwendig, den könnte man aber via Cron-Job laufen lassen
ABER:
Wildcardeintrag im DNS brauchst Du doch imho trotzdem. Das einzige was Du machst ist doch in der httpd.con eine UserDirective für die SubDomain anzugeben.
Aus Sicherheitsgründen würde ich das ganze aber eh nicht so easy gestalten. Ich würde die Scripte trennen:
- User registriert sich erfolgreich
- Es wird ein File erstellt, wo die notwendigen Einträge (SubDomain etc.) enthalten sind
- Dieses File wird auf dem Server in regelmäßigen Abständen mittels Skript abgearbeitet und die SubDomains werden angelegt inkl. Serverreload.
Wo sich aber schon die Frage stellt, ob es nicht einfacher ist, die Registrierungen per Hand abzuarbeiten, weil eine Nachkontrolle sollte und muss eh erfolgen, oder willst Du, dass jede Subdomain registriert werden kann? Oder denkst Du, dass sich pro Tag 1000 User registrieren?
Gruß Christian
Edit: Habe überlesen, dass Du einen virtuellen Server hast... Sorry, wenn Du keinen Zugriff auf deinen httpd.conf bzw. einer Include-Datei haben solltest, dann fällt mir nix ein...
wenn Du ein PHP-Freak bist, dann sollte das doch nicht sooooo schwer sein.
- Include in der httpd.con eine neues File, in welchem die SubDomains der User hineingeschrieben werden
- Lasse nach erfolgreicher Registrierung die Datei mit PHP befüllen.
- Apache Reload ist auch notwendig, den könnte man aber via Cron-Job laufen lassen
ABER:
Wildcardeintrag im DNS brauchst Du doch imho trotzdem. Das einzige was Du machst ist doch in der httpd.con eine UserDirective für die SubDomain anzugeben.
Aus Sicherheitsgründen würde ich das ganze aber eh nicht so easy gestalten. Ich würde die Scripte trennen:
- User registriert sich erfolgreich
- Es wird ein File erstellt, wo die notwendigen Einträge (SubDomain etc.) enthalten sind
- Dieses File wird auf dem Server in regelmäßigen Abständen mittels Skript abgearbeitet und die SubDomains werden angelegt inkl. Serverreload.
Wo sich aber schon die Frage stellt, ob es nicht einfacher ist, die Registrierungen per Hand abzuarbeiten, weil eine Nachkontrolle sollte und muss eh erfolgen, oder willst Du, dass jede Subdomain registriert werden kann? Oder denkst Du, dass sich pro Tag 1000 User registrieren?
Gruß Christian
Edit: Habe überlesen, dass Du einen virtuellen Server hast... Sorry, wenn Du keinen Zugriff auf deinen httpd.conf bzw. einer Include-Datei haben solltest, dann fällt mir nix ein...
´ja ich hbabe alle rechte!
ich habe auch alles hinbekommen!
Ich habe da nur noch ein Prob.
Ich trage alle subdomains ein, aber wie kann ich zum beispiel nur 1 von 1000 wieder löschen oder editieren, ohne die ganze datei zu löschen?
jedesmal wieder die datei mit den alten Einträgen zu erstellen dauert doch jahre ?
Kann man die daten nicht in einer while aus der db ausrufen lassen?
ich mache das mit fwrite...
Danke für eure Hilfe!
MfG
ich habe auch alles hinbekommen!
Ich habe da nur noch ein Prob.
Ich trage alle subdomains ein, aber wie kann ich zum beispiel nur 1 von 1000 wieder löschen oder editieren, ohne die ganze datei zu löschen?
jedesmal wieder die datei mit den alten Einträgen zu erstellen dauert doch jahre ?
Kann man die daten nicht in einer while aus der db ausrufen lassen?
ich mache das mit fwrite...
Danke für eure Hilfe!
MfG
Ist mod_perl installiert (enthält die httpd.conf also folgendes "LoadModule perl_module /usr/lib/apache/1.3/mod_perl.so" o.ä. je nach Version) dann nachfolgendes in die httpd.conf am Schluss hinzufügen. Das erzeugt bei jedem Start vom Apache aus der unter /etc/apache/subdomain_users liegenden Datei (einfache Liste) genau ein Virtual Host auf der Subdomain pro eingetragenem Benutzer.
Dies ist nur ein Beispiel. (Quelle: J.C.Wren)
Schönen Tag noch.
Gruß
Ralf
Dies ist nur ein Beispiel. (Quelle: J.C.Wren)
Code: Alles auswählen
<Perl>
#!perl
use Apache::PerlSections();
my $server = "domian.tld";
my @users = do { local @ARGV = "/etc/apache/subdomain_users"; <> };
chomp @users;
foreach my $user (sort {$b cmp $a} @users) {
push @{$VirtualHost{"*"}},
{
ServerName => "$user.$server",
ServerAdmin => "$user\@$server",
DocumentRoot => "/home/$user/public_html",
ScriptAlias => [ "/cgi-bin/", "/home/$user/public_html/cgi-bin/" ],
ErrorLog => "/home/$user/www_logs/error_log",
CustomLog => [ "/home/$user/www_logs/access_log", "combined" ],
Directory => { "/" => {Options => "All",
AllowOverride => "All",
Order => "allow,deny",
Allow => "from all"
}
},
ThrottlePolicy => "volume 25m 1d",
Location => {"/throttle-me" => {SetHandler => "throttle-me"}},
};
}
#print STDERR Apache::PerlSections->dump();
__END__
</Perl>
Gruß
Ralf