May 15, 200619 yr Salut @ vous :). Bon, je vais vous présenter mon problème. J'ai décidé d'installer un serveur Lighttpd, PHP + Mysql sous Openbsd 3.9. Lighttpd à l'avantage d'offir un sytème de chroot simple à mettre en place. Avec seulement quelques directives dans le fichier de conf. Je me suis inspiré de ce guide pour faire ma configuration : http://blowfishbsd.blogspot.com/2006_04_01...sd_archive.html . J'ai donc créé une arborescence dans mon /www/ avec les librairies qui vont bien ( trouvées en faisant ldd /opt/php5/bin/php ). Et là ! C'est le drame, lorsque j'essaie d'accéder au mirroir de mon blog sur le serveur je tombe sur l'erreur : MySQL Error : 2002 - Can't connect to local MySQL server through socket '/var/run/mysql/mysql.sock' (2) J'ai donc fait quelques recherches sur le net et je suis tombé sur cet article : http://www.freeyourbox.org/tutorials/bsd/o..._php_mysql.html qui explique qu'il faut faire un lien entre le /var/run/mysql/mysql.sock et l'arborescence chrooté. Ce que j'ai essayé de faire : ln -f /var/run/mysql/mysql.sock /www/var/run/mysql/mysql.sock Mais je me retrouve avec l'erreur suivante : ln: mysql.sock: Cross-device link Je n'ai pas trouvé de solution. Si vous pouviez m'aider ? :) edit : Hum ... Je viens de comprendre. Le hard link ne fonctionne pas car /www/ et /var/ sont sur deux partitions différentes. Bon, je vais faire un petit déplacement :).
May 15, 200619 yr Ca remonte un peu, mais j'avais sur mon serveur Web chrooté Apache ainsi que MySQL. Je devais donc linker le fichier sock de la partition chrootée de MySQL vers la partition chrootée de Apache. Cela avait bien fonctionner. Je ne sais plu quelle option de ln j'avais utilisé.
May 15, 200619 yr Author Ok, j'étais pas sûr que ça passerait avec un lien symbolique donc j'ai pas cherché et j'ai tout déplacé.
May 15, 200619 yr Author Ah bah moi je suis ouvert à tout hein :) . Surtout à ce qui est open à son tour.
May 15, 200619 yr Salut Pour un exam je presente bientot un serveur dns+dhcp sous OpenBsd . J'espere que les prof connaissent autre chose que windows, car là ils vont souffir :) . a+
May 15, 200619 yr Le lien symbolique ne suffit pas. Le hard link ne passe pas pour cause de partition différente. D'ailleurs je ne sais pas qui a donné cette connerie de solution à base de hard link, mais c'est de la connerie. Bon ok, on peut se contenter d'une partition /var globale et tout mettre dedans, mais bon. Le mieux c'est quand même de séparere le /var/log histoire de ne pas avoir un système qui part en vrille pour cause de plus de place car trop de logs. De même un /var/www et un /var/mail en cas de serveur www et mail seraient pas plus mal. Il y a bien l'option -bind de mount qui permet de passer outre les partitions, mais (bienvenur dans le monde (Open)BSD) comme c'est KISS world (Keep It Simple Stupid), mount comme le reste est minimal et ce qui n'est pas strictement indispensable est viré. En supposant que ton chroot soit dans /www, ton lightTPD verra /www comme étant son /. Il lui faut donc un /www/var/run/mysql/mysql.sock. La solution est de demander à mysql directement de foutre son socket là dedans. Mysql n'étant pas chrooté, ça doit rouler. mv /etc/my.cnf /etc/my.cnf.back && echo " [client] socket = /var/www/var/run/mysql/mysql.sock [mysqld] socket = /var/www/var/run/mysql/mysql.sock" > /etc/my.cnf (Je ne me souviens plus si les deux directives sont nécessaires ou juste une seule) Ensuite un restart de mysql puis d'apache et ça devrait le faire.
May 15, 200619 yr Voilà, j'ai retrouvé la méthode que j'avais employée. Mysql était chrooté dans /chroot/mysql, Apache chrooté dans /chroot/apache. Ces deux répertoires étant bien évidemment 2 partitions séparées. C'était une Hardened Gentoo, j'avais créé un /etc/init.d/mysql_chroot , qui contenait : start() { ebegin "Starting mysqld" chrootuid /chroot/mysql mysql /usr/sbin/mysqld & sleep 2 ln /chroot/mysql/tmp/mysql.sock /chroot/apache/tmp/mysql.sock chmod 666 /chroot/apache/tmp/mysql.sock eend $? } Voili, voilou !
May 16, 200619 yr Author Merci à vous deux pour vos explications, je vais bidouiller un peu tout ça et je ferai un petit feedback sur le forum. Bisous
May 16, 200619 yr Author J'ai fait comme m'a dit theo, à savoir, créer directement le sock dans le /var/www/var/run/ , ça m'évite d'avoir à le recréer au démarrage et comme seul lighttpd aura besoin d'accéder à MySQL ça ne me gène pas. Merci bisous :))
Archived
This topic is now archived and is closed to further replies.