Fehler beim Anlegen von Subdomains

    • Fehler beim Anlegen von Subdomains

      Ich bekomme beim anlegen von Subdomains immer die Fehlermeldung
      EasySCP Exception Message
      PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: no parameters were bound - Query: SELECT subdomain_name, subdomain_mount FROM subdomain WHERE subdomain_id = ? ;

      Das war schon im Build 20150723 so und ist nach dem Update auf die aktuelle Verison immer noch so.

      Irgendwelche Tipps?
    • Ok, ich habe jetzt einen neuen Debian Server bei Hetzner - wie von dir empfohlen - nochmal neu mit der Minimalkonfig aufgesetzt und Easyscp installiert.

      Der Fehler beim Anlegen der Subdomains ist auch hier in der aktuellen Version wieder vorhanden, scheint also ein genereller Bug zu sein.

      Ich habe inzwischen herausgefunden, dass das wohl daran liegt, dass die Konfiguration, die ich versuche, nicht vorgesehen ist, aber auch nicht abgefangen wird - nämlich das Anlegen einer Subdomain zu einem Alias.

      Es geht mir um Folgendes:
      Ich möchte die Subdomain Paraguay.Auswandern.top auf die gleiche Multidomain-Drupal-Installation schicken, die im htdocs-Verzeichnis der Hauptdomain consultus.club liegt - genau so, wie sie schon bei dem Alias Auswandern.top hinterlegt ist.

      Drupal soll damit dann seine settings.php - also den Datenbanknamen für die Subdomain in einem anderen Verzeichnis suchen und finden - in /var/www/virtual/consultus.club/htdocs/sites/paraguay.auswandern.top statt .../sites/auswandern.top.de.

      Da Drupal auf das Hauptverzeichnis eingestellt sein muss, habe ich als Mount-Point / angegeben. Dann bekomme ich aber die Fehlermeldung PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: no parameters were bound - Query: SELECT subdomain_name, subdomain_mount FROM subdomain WHERE subdomain_id = ? ;

      Wenn ich das gleiche für die Hauptdomain mache, bekomme ich dagegen die Meldung: Can't use an existing folder as mount point!

      Nehme ich /paraguay für paraguay.auswandern.top als Mount point, dann bekomme ich ebenfalls: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: no parameters were bound - Query: SELECT subdomain_name, subdomain_mount FROM subdomain WHERE subdomain_id = ? ;

      Erst wenn ich unter der Haupdomain eine Subdomain paraguay.consultus.club mit dem Mount-Point /paraguay angelegt habe, kann ich auch unter dem aliays auswandern.top wieder eine Subdomain paraguay mit dem Mount-Point /paraguay erfolgreich anlegen. Dann lande ich aber in einem eigenen Verzeichnis consultus.club/paraguay/htdocs, was ich nicht wollte. Denn da ist ja nicht die Drupal Installation.

      Wie also bekomme ich es hin, dass ich mit der Subdomain von auswandern.top in easyscp auf dem gleichen Verzeichnis lande wie mit de, Alias auswandern.top?
      Wenn ich gar nichts in easyscp eintrage, lande ich auf der Easyscp Admin-Konsole.

      Ich habe dann noch versucht, paraguay.auswandern.top als Alias anzulegen. Das geht aber auch nicht. Dann bekomme ich die Meldung
      Domain with that name already exists on the system!

      The post was edited 1 time, last by Boniro ().

    • Ok, aber selbst wenn der Bug behoben wird, löst das mein oben beschriebenes Problem nicht!

      Die Domain auswandern.top ist als Alias von consultus.club angelegt.
      Die Subdomain paraguay.auswandern.top müsste ich eigentlich ebenfalls als Alias von consultus.club anlegen, damit sie auf die gleiche Drupal 7 Installation läuft und die zugehörigen Datenbank von Drupal über diese Installation selbst selektiert werden kann.

      Wenn ich versuche paraguay.auswandern.top als Alias anzulegen - statt als Subdomain, bekomme ich aber die Fehlermeldung "Domain with that name already exists on the system!"

      Ich bekomme also über Easyscp nicht das hin, was ich erreichen will. Der Nameserver leitet mich zwar auf den Server. Aber dann kommt das Easyscp Login, das ich eigentlich nur bei der eingegebenen admin-Adresse haben will - und nicht bei jeder nicht definierten Subdomain. Wie kann man das abschalten?
    • Hi,

      die Fehlermeldung ist ja auch Richtig, weil die Domain "auswandern.top" bereits existiert. Da gemäß RFC ein Alias normalerweise "domain.tld" ist, ist das verhalten auch korrekt.

      Das was du willst kannst du nur durch direktes editieren der Apache Konfiguration erreichen.

      Das gleiche gilt übrigens auch für das EasySCP Login. Hier ist es Aufgabe des DNS Servers eine passende Antwort zu liefern. Da viele aber lieber *.domain.tld im DNS Eintragen, darf man sich nicht wundern wenn alle (auch nicht existierende Domains) auf den Server geleitet werden. Und hier liefert Apache nun mal wenn keine VirtualHost Konfiguration passt immer die 1. Konfiguration aus. Das ist eine Eigenart von Apache, die wir nicht ändern können.

      Wenn man das anders haben will, wäre der richtige Ansprechpartner die Apache Foundation, damit Sie das verhalten in zukünftigen Versionen vom Apache entfernen. Bis dahin ist es aber so, das die 1. Konfiguration gewinnt wenn sonst nichts zu trifft.

      Wenn man das anders haben will, muss man

      1.) Den DNS sauber konfigurieren (richtiger Weg).

      2.) Einen zusätzlichen Konfigurationsblock im Apache hinzufügen der vor allen anderen geladen wird und diese nicht existierenden Subdomains abfängt (eigentlich der falsche weg).
      Gruss
      Shadow
    • Ehrlich gesagt kann ich deine Argumentation bezüglich Apache und der DNS nicht so ganz nachvollziehen.
      Wenn ich die DNS mit paraguay.auswandernn.top definiere, ändert sich an dem Problem, das ich habe auch nichts. Die IP Adresse ist dafür immer noch die gleiche und führt dann ebenfalls auf das Easyscp Login statt auf meine Drupal Installation.

      Und ich dachte eigentlich bisher, ich benutze easyscp, damit ich eben NICHT die Apache Konfiguration selber anpassen muss.

      Wenn es in Apache geht, den Alias für eine Subdomain zu definieren, warum ziehst du dich dann auf die Argumentation mit der RFC Definition zurück und verhinderst durch eine dann überflüssige Fehlermeldung, dass man etwas sinnvolles direkt in EasySCP konfigurieren kann?
    • Solange dein DNS auch bei einer nicht existenten Domain eine IP zurück liefert, solange wird dir der Apache die 1. Konfiguration ausliefern, wenn er ansonsten keinen VirtualHost hat. Das hat nichts mit der IP zu tun, sondern mit der URL, für die der Apache dann keine passende Konfiguration findet. Und hier liefert der Apache eben "by Design" die 1. Konfiguration aus. Daran können wir nichts ändern, weil das fest in Apache eingebaut ist.

      Wenn du eine andere Seite als das Panel willst, musst du (siehe oben) eine zusätzliche Konfiguration vor allen anderen laden. "By Design" liefert der Apache aber IMMER eine Seite aus, solange eine Anfrage auf eine von Ihm verwaltete IP eintrifft, und es ist dem Apache dabei egal ob du dafür eine Webseite Konfiguriert hast oder nicht.

      Dann weiter: Um zu verhindern das sich ein User über das Panel sein System zerschießt (weil der Apache dann nicht mehr startet) prüfen wir die eingegeben Daten gemäß RFC. Und hier ist die von dir gewünschte Konfiguration nun mal nicht erlaubt.

      Es steht aber jedem Frei unabhängig davon die Konfiguration anzupassen (auch auf die Gefahr hin, das diese nach einem Update des Apache dann nicht mehr läuft).

      Im Joomla Forum steht dazu auch ein Artikel, wo User das ganze mittels Symlinks lösen, da derartige Konfigurationen auch von Plesk und Co. nicht unterstützt werden.
      Gruss
      Shadow