23. 12

Ich habe es schon seit längerem geplant, jedem der User auf meinem Server einen eigenen lighttpd zur Seite zu stellen, welcher unter seinem User und in ~/public_html/ gechrootet läuft. Dann bekommt jeder User fest seine IP, und Dank mod_evhost kann er sich durch das anlegen passender Verzeichnisse ganz einfach eigene vhosts anlegen. Nun hat sich meine Freundin, die als Testkaninchen herhalten durfte, zu Recht aufgeregt, dass sie in ihrem s9y keine Plugins mehr installieren konne. Und es wurde keine brauchbare Fehlermeldung angezeigt.

Ich setzte mich also hin, wühlte mich durch diverse Methoden, die neue Objekte erstellen und darin wieder Methoden aufriefen, um am ende bei einem fsockopen als Fehlerquelle zu landen. Dieses verriet mir dann auch seinen Errorcode: 136827579. Google fand hierzu nichts, in der Doku stand nichts - wunderbar.

Letzten Endes übernahm ich das erstbeste Beispiel aus der Doku, um fsockopen hiermit zu testen:

<?php                                  
$fp = fsockopen("www.heise.de", 80, $errno, $errstr, 30);
if (!$fp) {                            
  echo "$errstr ($errno)<br />\n";    
} else {                            
  $out = "GET / HTTP/1.1\r\n";     
  $out .= "Host: www.example.com\r\n";
  $out .= "Connection: Close\r\n\r\n";
                                       
  fwrite($fp, $out);      
  while (!feof($fp)) { 
    echo fgets($fp, 128);
  }          
  fclose($fp);
}       
?> 
Damit wurde dann auch die entscheidende Nachricht sichtbar: Er konnte den Hostname nicht auflösen!

Tja, das Fazit ist dann wohl: Wegen ein bisschen PEBKAC zwei Stunden unnötiges Debuggen von s9y und den verwendeten PEAR-Libraries. Denn die Lösung war mehr als einfach: Das chroot braucht logischerweise auch eine /etc/resolv.conf!

Tags für diesen Artikel: ,

Trackbacks


Keine Trackbacks

Kommentare

Ansicht der Kommentare: (Linear | Verschachtelt)

DU packst?! Und es dauert länger als geplant...ist ja klar, wieso
#1 Mareike am 23.12.2006 18:36

Kommentar schreiben


Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.

Um maschinelle und automatische Übertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden. Bitte beachten Sie, dass Ihr Browser Cookies unterstützen muss, um dieses Verfahren anzuwenden.
CAPTCHA

Pavatar, Gravatar, MyBlogLog, Monster ID, Pavatar Autoren-Bilder werden unterstützt.
HTML-Tags werden in ihre Entities umgewandelt.
BBCode-Formatierung erlaubt