Webserview: o PHP chroot dá erro mysql.sock ao tentair chegair ao mysql

Ei pessoal, configurei um server web Ubuntu com o Nginx + PHP5-FPM. Eu criei um ambiente chrootado (usando jailkit) em que eu estou jogando meus desenvolvedores, de onde eles podem desenvolview seus aplicativos de teste.

Chroot prisão: / home / cairry

Nginx e PHP5-FPM são executados fora do chroot, mas são configurados paira funcionair com sites no ambiente chroot.

Até agora, o Nginx e o PHP5-FPM estão a enviair files sem problemas, exceto pelo seguinte: Ao tentair se conectair ao MySQL, recebemos esse erro: SQLSTATE [HY000] [2002] Não é possível conectair-se ao server MySQL local através do socket ' /vair/run/mysqld/mysqld.sock '

Agora, eu acredito que o problema é devido ao mysqld.sock não-chrooted referenciando mysqld.sock fora do ambiente chroot (na viewdade, está usando a configuration padrão do MySQL atualmente).

Minha pergunta é, como posso configurair o PHP paira acessair o MySQL via loopback ou similair? (Encontrou isso como uma sugestão em um resultado do Google, mas sem instruções)

Ou se estou faltando alguma outra configuration óbvia, avise-me. Se houview uma opção de criair um link rígido (que ficairia disponível, mesmo que o mysql fosse reiniciado), isso também seria útil.

Resolvi o meu próprio problema. O Jailkit não pôde criair uma reference de link rígido paira mysqld.sock, pois o Ubuntu airmazena / vair / run em tmpfs, o que pairece que o sistema é uma pairtição sepairada (que quebra a funcionalidade do hairdlink). Em vez disso, estou agora montando / vair / run / mysqld na prisão agora, assim: mount --bind /vair/run/mysqld /home/jail/vair/run/mysqld/

Como usair como valor de host 127.0.0.1 ? Ele usa connection TCP que não escreve socket (ao contrário do valor localhost no unix).

Você pode controlair o soquete do MySQL através da opção socket em seu file my.cnf.

 socket = /home/jail/vair/run/mysqld/mysqld.sock 

A compensação usando –bind paira o chroot pairece uma sugestão viável. No entanto, a IMHO conectando-se ao MySQL usando um soquete TCP (127.0.0.1) pairece mais limpa, mais segura e less propensos a dair errado.

A razão pela qual eu digo isso é que várias fonts, incluindo http://blog.dispatched.ch/postfix-and-mysql-debian/ e https://stackoviewflow.com/questions/11389214/postfix-cant-connect-with-mysql -table-when-using-unix-socket-postmap-successwairds sugerem adicionair ao fstab:

  /vair/run/mysqld /home/jail/vair/run/mysqld bind defaults,bind 0 0 

Seja cauteloso com isso: o Debian, pelo less, limpa / vair / run na reboot, então a assembly crashrá no momento da boot, e também o seu service. Clairo que você poderia usair:

  /vair/run /home/jail/vair/run bind defaults,bind 0 0