Debian Lenny - Apache2 in chroot laufen lassen

Apache, Lighttpd, nginx, Cherokee
nightstalk3r
Posts: 2
Joined: 2009-06-05 08:11

Debian Lenny - Apache2 in chroot laufen lassen

Post by nightstalk3r » 2009-06-05 08:43

Ich sitze seit gestern abend vor folgendem Problem, dass ich Apache2 mit chroot nicht wirklich zum laufen bekomme.
Dank mächtigen Google ;) bin ich hier im Forum gelandet, wo jemand das gleiche Problem hatte. Es gab auch mehrere Lösungsvorschläge, das war wohl das Problem bei mir, es waren einige verschiedene Wege dabei, davon hat keiner wirklich funktioniert.

Hauptproblem war immer die Verbindung zur MySql Datenbank und php.
Folgende Anleitung habe ich genommen: http://www.howtoforge.de/howto/apache2- ... -chrooten/

Folgenden Fred aus dem Forum hier: viewtopic.php?f=118&t=50007

Ich Frage ungern nach, wenn es schon einen Lösungsansatz gibt, aber leider funktioniert der bei mir nicht :(
Entweder es liegt daran, daß das Tut für Debian Etch ist, oder ich habe irgendeinen Fehler drinnen zur MySQL Datenbank (Wovon ich ausgehe).

Derzeitiger Stand ist: Tut von Howforge ausgeführt, keine Verbindung zur MySQL Datenbank. Mehr will ich jetzt nicht wieder rumprobieren.
Für eine Lösung oder einen Lösungsansatz wäre ich sehr dankbar ;)

papabaer
Userprojekt
Userprojekt
Posts: 170
Joined: 2009-05-14 17:40
Location: Halle (Saale)

Re: Debian Lenny - Apache2 in chroot laufen lassen

Post by papabaer » 2009-06-05 13:19

Tach,

ich würd ja vermuten, dass der Apache in der Chroot den Socket vom Datenbankserver nicht mehr finden kann, weil der ja außerhalb liegt.

Eine Möglichkeit wäre, auf die Datenbank per lo-Interface drauf zu gehen, was etwas auf die Performance geht. Eine andere, den Socket irgendwie in die Chroot zu bekommen. Kein Plan, ob's nen symlink tut.

Stefan

User avatar
rudelgurke
Systemtester
Systemtester
Posts: 408
Joined: 2008-03-12 05:36

Re: Debian Lenny - Apache2 in chroot laufen lassen

Post by rudelgurke » 2009-06-05 13:55

PapaBaer wrote:Eine andere, den Socket irgendwie in die Chroot zu bekommen. Kein Plan, ob's nen symlink tut.


Wenn dann nur per Hardlink - womit evtl. das Partitionsproblem auftaucht.

In der my.cnf dann den Socket ändern von:

[mysqld]
...
socket = /pfad_zum_chroot/tmp/mysql.sock
...

Und in der php.ini des Chroot nochmals kurz überprüfen ob dort alles richtig gesetzt ist. Oder eben anstatt "localhost" für MySQL "127.0.0.1" nutzen damit alles über TCP/IP läuft.

Zu PHP - da spielen oft diverse Extensions verrückt - hier via "ldd" überprüfen ob alle nötigen Bibliotheken im Chroot sind. Und vielleicht nochmal mit apt / dpkg nachschauen ob sonst noch etwas benötigt wird vom jeweiligen PHP / der Extension - Devices usw. usw.

nightstalk3r
Posts: 2
Joined: 2009-06-05 08:11

Re: Debian Lenny - Apache2 in chroot laufen lassen

Post by nightstalk3r » 2009-06-05 18:32

Danke für die Antworten.

Code: Select all

[mysqld]
...
socket = /pfad_zum_chroot/tmp/mysql.sock


Funzt leider immer noch nicht, bekomme immer noch den Fehler:
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)


Der mysqld.sock liegt aber 100% im chroot drinnen und wird da auch angezeigt.

Ich mach jetzt alles rückgängig. Komm mir etwas blöd vor, es hört sich so einfach an ;), hab je hier einiges gelesen und noch Tips bekommen.

User avatar
rudelgurke
Systemtester
Systemtester
Posts: 408
Joined: 2008-03-12 05:36

Re: Debian Lenny - Apache2 in chroot laufen lassen

Post by rudelgurke » 2009-06-06 00:19

Liegt der Socket auch innerhalb des Chroot dann in /var/run/mysqld.sock ?

Und klappt eine Verbindung - dazu einfach mal den MySQL Client in den Chroot kopieren und via:

chroot PFAD_ZUM_CHROOT mysql --user ... --password --socket /var/run/mysqld.sock

aufrufen :)