DNS-Lookups für gechrootetes PHP-FPM

Da denkt man, man hätte den Umzug auf den neuen Rootserver geschafft und dann stellen sich doch wieder Hindernisse in den Weg. In meinem Fall konnte PHP keine Hostnamen in IP-Adressen auflösen.

Eigentlich hatte ich das gesamte Setup für ein gechrootetes PHP-FPM schon einmal fertig gestellt und war ziemlich zuversichtlich, dass die damalige Lösung wieder funktionieren würde. Aber weit gefehlt, denn in der Zwischenzeit bin ich von Ubuntu auf dessen Vater Debian umgestiegen. Zudem verwende ich nun die Pakete von dotdeb.org, die einem immer die neusten Builds von Nginx, PHP, MySQL und co. anbieten.

Folgendes minimale chroot-Setup habe ich jetzt zusammengestellt, damit DNS-Lookups ordentlich funktionieren. Sollte jemand ein anderes Setup unter Debian verwenden, kann er seine Lösung gerne ebenfalls verraten. 🙂

1
2
3
4
5
6
7
8
9
10
11
12
13
  mkdir ./dev
  mknod ./dev/null c 1 3
  mknod ./dev/random c 1 8
  mknod ./dev/urandom c 1 9
  mknod ./dev/zero c 1 5

  mkdir ./etc
  cp /etc/resolv.conf ./etc
  echo 127.0.0.1 localhost > ./etc/hosts
  echo ::1 ip6-localhost ip6-loopback >> ./etc/hosts

  mkdir ./lib
  cp /lib/libnss_dns.so.2 ./lib

Ich bin mal gespannt, welche altbekannten chroot-Probleme mir in nächster Zeit noch über den Weg laufen werden. Ich werde die Logfiles jedenfalls erstmal im Auge behalten müssen. 🙂
Gechrootete Grüße, Kenny

P.S.: Anhand folgender Fehlermeldung kann man erkennen, dass etwas mit dem DNS-Lookup seiner eigenen chroot-Umgebung im Argen ist: "php_network_getaddresses: getaddrinfo failed: Name or service not known"

3 Kommentare » Schreibe einen Kommentar

Schreibe einen Kommentar

Um Ihnen beim weiteren Kommentieren auf dieser Webseite die erneute Eingabe Ihrer Daten zu ersparen, wird beim Absenden Ihres Kommentars ein Cookie an Ihren Browser gesendet und von diesem gespeichert. Mit dem Absenden eines Kommentars auf dieser Webseite stimmen Sie der Speicherung und Übertragung dieses Cookies explizit zu.

Pflichtfelder sind mit * markiert.