Subdomains bei Debian/Apache/PLESK

Plesk, Confixx, Froxlor, SysCP, SeCoTo, IspCP, etc.
Post Reply
mike2006
Posts: 5
Joined: 2006-07-04 14:55

Subdomains bei Debian/Apache/PLESK

Post by mike2006 »

Hallo,
habe zu meinem Problem einige Threads hier gelesen, allerdings komme ich damit leider nicht zum Ziel.

Situation:
Domain.de wird vom Nameserver mit A-Record und * als A-Record auf Webserver geleitet.
Im Webserver sind die Domains angelegt.

Der Aufruf MichGibts.Domain.de kommt zum Content des eingerichteten vHosts auf dem Server.
Der Aufruf MichGibtsNicht.Domain.de kommt zur Default-Seite des Apache, nicht aber zur Seite von Domain.de (was gewünscht ist).

Lösung 1:
Eintragung des Serveralias *.Domain.de in httpd.include des vHosts von Domain.de: Problem gelöst, allerdings überschreibt PLESK bei jeder Änderung an irgendeiner Domain diese .include-Datei wieder.

Lösung 2:
Eintragung des Serveralias in der httpd.conf des Apache: Problem gelöst, aber PLESK überschreibt auch hier die Einstellungen

Lösung 3:
Erstellen einer vhost.conf für den entsprechenden vHost mit Eintrag "ServerAlias *.Domain.de".
Jetzt gehen alle Subdomains immer auf die Hauptseite, es wird keine Subdomain mehr korrekt zugeordnet.

Lösung 4:
Die Reihenfolge der include-Dateien geändert in der PLESK-Konfiguration (zuerst vhost.conf dann httpd.include benutzen).
Problem: Apache gestoppt, Neustart wird mit Fehlermeldung abgebrochen (invalid data in Line ### [dort, wo ich die Änderungen vorgenommen habe]).

Der BIND auf dem Webserver ist für die Domain auch korrekt eingestellt, Domain, * und CNAMES auf die IP des Webservers.

Was habe ich falsch gemacht, denn auf meinem lokalen Webserver (allerdings mit SuSe und ohne Plesk) funktioniert sowohl Lösung 1, 2 als auch 3, auf dem Webserver keine von beiden.

Vielen Dank für einen Tipp.

Mike
elvis
Posts: 94
Joined: 2004-05-08 20:27
Location: Recklinghausen

Re: Subdomains bei Debian/Apache/PLESK

Post by elvis »

Okay, starte ich mal so ...

Wenn Du Plesk (gilt auch für Confixx) benutzt, dann sind externe eintragungen tabu - klar das Plesk die überschreibt, da Plesk höhere Prio hat.

Ausnahme : Trag es in die httpd.conf ein. Aber wichtig - hinter den Plesk-Tag! Da entweder die vhosts oder die saubere Möglichkeit mit include.

Also: Du mußt es in Plesk unter Domains eintragen, anstatt einer Subdomain einfach einen Wildcard-Eintrag machen! *.domain.de Dann funzt das.
Voraussetung dafür: Im DNS muß auch ein Wildcard-Eintrag sein, sonst klappt das nicht

Zweiter Lösungsansatz wenn Du eine separate vhosts-Datei anlegst:
Die Wildcard kommt immer ans Ende! Beispiel :

Code: Select all

pillepalle.domain.de
trallala.domain.de
trara.domain.de
*.domain.de
Weil erst mal alle Subdomains durchgegangen werden, wird keine eingetragene gefunden kommt am Ende die Wildcard dran! Hats Du am Ende keine Wildcard kommt eine Standartseite (z.B. plesk-Login).

Legst Du die Wildcard -nicht- am Ende an, wird die übersprungen und die letzte vhost wird angezeigt.

Elvis
mike2006
Posts: 5
Joined: 2006-07-04 14:55

Re: Subdomains bei Debian/Apache/PLESK

Post by mike2006 »

Hallo Elvis,

ich dachte mir, es muss an Plesk liegen. Aber ganz so einfach ist die Sache trotzdem nicht:

Meine httpd.conf
# This is here for backwards compatability reasons and to support
# installing 3rd party modules directly via apxs2, rather than
# through the /etc/apache2/mods-{available,enabled} mechanism.
#
#LoadModule mod_placeholder /usr/lib/apache2/modules/mod_placeholder.so
Ich hatte hier mal die entsprechenden Eintragungen gemacht, scheinbar wird diese Datei aber gar nicht ausgewertet.

Die Nameserver (der externe, bei dem die Domains gehostet werden) und auch der am Webserver sind entsprechend konfiguriert:
A-Record auf IP Webserver, auch als Wildcard, als CNAME noch www.

Deine zweite Lösung habe ich evtl. nicht ganz verstanden:

in meiner vhost.conf kann ich die Subdomains gibtEs1.domain.de, gibtEs2.domain.de etc. nicht eintragen, weil ich die ja gar nicht kenne bzw. diese über Plesk angelegt werden.
Plesk trägt angelegte Subdomains in die http.include ein, die aber wie schon gesagt von Plesk immer überschrieben wird.

Anstelle der httpd.conf gibt es scheinbar eine Datei mit Namen
zz010_psa_httpd.conf.
In dieser Datei werden am Ende alle domainspezifischen http.include-Dateien included

Include /<Pfad zu Domain/Domain.de/conf/http.include

Änderungen in dieser Datei bewirken folgendes:

1. ich füge manuell Einträge hinzu, z.B. include ..../vhost.conf
==> dann startet apache nicht mehr mit einer Fehlermeldung für diese Zeile

2. ich ändere Einträge manuell ab
==> apache startet zwar, aber Plesk (scheinbar) überschreibt die Datei wieder.

Durch PLESK kann ich also scheinbar nur folgende Möglichkeiten realisieren:

1. über PLESK angelegte Subdomains verweisen auf den entsprechenden Content, alle nicht angelegten gehen auf DEFAULT-Plesk-Site
2. ich lege alle Subdomains manuell an über den Nameserver (den externen) und arbeite mit Frame-/Headerweiterleitungen.

Beides kann aber nicht im Sinne des Erfinders sein, denke ich.

Es ist doch absolut tagesüblich zu realisieren:

http://www.domain.de --> Hauptdomaincontent
gibtes1.domain.de --> Subdomaincontent
gibtes2.domain.de --> dto.
gibtesnicht.domain.de --> Hauptdomaincontent

Um gibtesnicht.domain.de auf den Hauptdomaincontent zu bringen, nützt mir nicht einmal der interne oder externe Nameserver etwas, selbst wenn es vom handling her machbar wäre, da bei nicht angelegtem Subdomaincontent immer die Plesk-Default-Site genommen wird.

Verzweifel ......
duergner
Posts: 923
Joined: 2003-08-20 11:30
Location: Pittsburgh, PA, USA

Re: Subdomains bei Debian/Apache/PLESK

Post by duergner »

Also nochmal: Nameserver und dein Problem haben nicht wirklich etwas miteinander zu tun. Das Problem scheint einfach daran zu liegen wie Plesk die VHost Eintraege schreibt (habe selber kein Plesk zum testen). Normalerweise muesste das Vorgehen das folgende sein. Du erstellt die Hauptdomain in Plesk und markierst diese als Wildcard-Domain. Dann legst du die entsprechenden Subdomains an die du haben willst. Plesk muesste jetzt beim erstellen der VHosts fuer den Apache darauf achten, dass zuerst die Definitionen fuer die vorhandenen Subdomains geschrieben werden und erst am Ende die der Hauptdomain mit dem Wildcard Eintrag.

Wenn Plesk das nicht so macht wirst du dich schwer tun das zu realisieren. Wenn Plesk die Eintraege nach einem immer gleichen Muster schreibt, koenntest du das Problem so umgehen, dass du die Hauptdomain nicht als Wildcard eintraegst, noch eine Subdomain anlegst die immer als letzte geschrieben wird und diese dann als Wildcard nimmst (falls das geht).
mike2006
Posts: 5
Joined: 2006-07-04 14:55

Re: Subdomains bei Debian/Apache/PLESK

Post by mike2006 »

duergner wrote:und markierst diese als Wildcard-Domain.
da fängt es schon an: Plesk erlaubt nicht die Erstellung von *-Domains oder *-Subdomains. Somit muss ich hier schon manuell eingreifen, einzige Möglichkeit ist hier die vhost.conf.
Trage ich hier ein ServerAlias *.domain.tld werden ALLE Subdomains, auch die, die bereits in Plesk angelegt wurden, auf die Hauptdomain geleitet.

Ausgenommen hiervon ist die webmail.domain.tld. Diese wird scheinbar von Plesk schon entsprechend verwaltet und per default auf Horde verwiesen.

Die Möglichkeit mit der Subdomain als *-Domain habe ich mir auch schon überlegt gehabt, aber lässt sich auch nicht so einfach realisieren.

Einziger Ausweg scheint noch über die htaccess zu sein und ein Rewrite durchzuführen. Oder - wenn es so einfach wäre - Plesk einfach dahin zu schiessen, wo es hingehört: zum Mond !
Auch im Pleskforum gibt es diese Frage hundertfach, aber eine wirkliche Antwort habe ich auch noch nicht gefunden.
duergner
Posts: 923
Joined: 2003-08-20 11:30
Location: Pittsburgh, PA, USA

Re: Subdomains bei Debian/Apache/PLESK

Post by duergner »

Du koenntest einen VHost fuer zzzzz.example.com einrichten, bei diesem manuell den ServerAlias auf *.example.com setzen, die gleiche DocumentRoot wie fuer die Hauptdomain angeben und hoffen das Plesk die Subdomains alphabetisch sortiert. Wenn das nicht so ist sondern die Eintraege nach der Erstellung sortiert werden, musst du halt immer als letztes nochmal den Eintrag fuer die Wildcard erzeugen. Nicht loesbar ist es allerdings dann, wenn die Eintraege nach keinem System sortiert werden.
mike2006
Posts: 5
Joined: 2006-07-04 14:55

Re: Subdomains bei Debian/Apache/PLESK

Post by mike2006 »

ok, die Sortierung scheint jedenfalls (habe es jetzt mehrmals versucht) alphabetisch zu erfolgen.

Habe jetzt die zzzzz.domain.tld angelegt, dort eine vhost.conf hinterlegt und in diese folgendes geschrieben:

ServerAlias *.domain.tld
DocumentRoot /var/www/vhosts/domain.tld/httpdocs

(gleiches nochmal in vhost_ssl.conf).

Siehe da - es funktioniert. Allerdings mit einer Einschränkung:

ich hatte eine Subdomain für den globalen phpMyAdmin-Zugang phpadmin.domain.tld. Der geht jetzt auch auf die Hauptdomain.

Den Zugang brauchte ich, weil Plesk nur jeweils 1 DB mit dem admin verwalten kann und ausserdem nur über ein Login über Plesk zu bedienen war.

Muss mir jetzt noch einen Weg suchen, wie ich das mit myAdmin wieder hinbekomme.

Aber erstmal vielen Dank - es funktioniert jetzt alles.
Toll - und Du hast nichtmal Plesk zum probieren ;-)

Schönen Sonntag
Mike
jack88
Posts: 67
Joined: 2002-12-19 13:41

Re: Subdomains bei Debian/Apache/PLESK

Post by jack88 »

ich hatte exakt das gleiche Problem und bin auch auf die gleiche meines erachtes einzig mögliche Lösung gekommen. Also eine Subdomain z-WILDCARD.domain.tld angelegt und die vhost.conf der Subdomain wie folgt modifiziert:

ServerAlias *.domain.tld
DocumentRoot /srv/www/vhosts/domain.tld/httpdocs

es hat anfangs alles auf Anhieb funktioniert. Heute, (einige Tage später) stellte ich mit erstaunen fest, daß sich die Wildcards-Subdomains auf einmal ganz anders verhalten.

Erster Unterschied: die Domain z-Wildcard stand auf einmal als ERSTE und nicht als letzte Domain in der httpd.include, somit haben alle weiteren subdomains natürlich nicht mehr funktioniert.

Zweiter Unterschied: PHP-Scripte wurden nicht mehr ausgeführt, sondern nur noch im Klartext ausgegeben?!

Daraufhin habe ich die Subdomain z-Wildcard wieder gelöscht und neu angelegt. Nun steht Sie wieder ganz am Ende der http.include. PHP wurde jedoch weiterhin nicht ausgeführt, dann mußte ich noch die vhost.conf von z-Wildcard.domain.tld wie folgt einrichten:

###### vhost.conf z-WILDCARD--------------------------------

ServerAlias *.domain.tld
DocumentRoot /srv/www/vhosts/domain.tld/httpdocs
<Directory /srv/www/vhosts/domain.tld/httpdocs>
<IfModule sapi_apache2.c>
php_admin_flag engine on
php_admin_flag safe_mode off
php_admin_value open_basedir "/srv/www/vhosts/domain.tld/httpdocs:/tmp"
</IfModule>
<IfModule mod_php5.c>
php_admin_flag engine on
php_admin_flag safe_mode off
php_admin_value open_basedir "/srv/www/vhosts/domain.tld/httpdocs:/tmp"
</IfModule>
Options +Includes +ExecCGI
</Directory>
###### vhost.conf z-WILDCARD-ENDE-------------------


Ich habe momentan keine Erklärung dafür wodurch die ersten Einstellungen geändert wurden, möglicherweise gibt es bei Plesk auch mehrere unterschiedliche Routinen die für die Erstellung der httpd.include verwendet werden. So wäre es unter Umständen möglich, daß bei einer bestimmten Aktion eine Routine verwendet wird die z.B. die Subdomain-vhost alphabethisch sortiert, bei einer anderen Aktion jedoch eine andere Routine verwendet wird die keie bestimmte Sortierung berücksichtigt. Deshalb empfehle ich die Einstellungen zumindest nach einigen Tagen nochmals zu überprüfen.

Mich würde auch interessieren ob jemand auch diese oder ähnliche Erfahrungen gemacht hat


gruss
jack
mike2006
Posts: 5
Joined: 2006-07-04 14:55

Re: Subdomains bei Debian/Apache/PLESK

Post by mike2006 »

ich kann das eingeschränkt bestätigen:

auf Plesk 8.0.1-Systemen funktioniert das mit der zzzzzz.domain.tld wunderbar (habe schon mehrfach Änderungen/Anpassungen durchgeführt).

Beim 8.0.0-System war es nach knapp 2 Tagen wieder umsortiert.
Genaue Ursache dafür kenne ich nicht, aber es könnte eines der folgenden Plesk-Aktionen dafür verantwortlich sein:

- Anlegen eines Domainusers
- Änderungen an der Hauptdomain dahingehend, dass SSL-Verzeichnis-Splitting geändert wird (nicht 1 sondern 2 Verzeichnisse verwenden).

Andere Aktionen habe ich nicht durchgeführt.
Ein Plesk-Cron kannn es imho nicht sein, denn die erzeugen nur Statistiken, Logfiles und machen den SQL-Dump (per default).
jack88
Posts: 67
Joined: 2002-12-19 13:41

Re: Subdomains bei Debian/Apache/PLESK

Post by jack88 »

ich glaube nicht daß es mit der Plesk Version 8.0.0 zusammenhängt, denn ich hatte von anfang an Plesk 8.0.1 installiert. Ein Cronjob ist es wahrscheinlich auch nicht, denn seit gestern hat sich die Sortierung nicht geändert.
Post Reply