MySQL y el chroot de Apache otra vez

Estaba echando una mano a Pedro para ajustar un poquito su servidor.

Como es habitual no dispone de una máquina muy potente (reciclando estamos) y el rendimiento de MySQL si atacamos al servidor vía TCP/IP es inferior que usando un socket local. No digo que vaya mal, pero hay que estar muy fino si no hay recursos y queremos hacer muchas cosas ;).

Pues bien, ojeando mi anotación sobre MySQL y el chroot de Apache, no funcionaba como se esperaba :(.

Hemos hecho las actualizaciones necesarias en el script para rc.local (como el binario de MySQL, que ha cambiado el nombre), pero lo que fallaba era el tema de introducir el socket dentro de la jaula chroot donde corre Apache.

El enlace se realizaba bien pero el servidor de bases de datos nos daba error al realizar la conexión :(.

# mysql -u root -p -S /var/www/var/run/mysql/mysql.sock
Enter password:
ERROR 2002: Can't connect to local MySQL server\
 through socket '/var/www/var/run/mysql/mysql.sock' (61)

Buscando y buscando solo encontrábamos referencias al mismo código, que no funcionaba. Pues resulta que el directorio donde se hace el enlace simbólico debe pertencer al usuario sin privilegios que corre MySQL :o (no he encontrado un enlace donde explique por qué).

He actualizado la anotación antes mencionada y ahora refleja las novedades que nos hemos encontrado (para OpenBSD 3.8, que viene con MySQL 4.0.24).


Publicidad

Aviso: Los siguientes comentarios pertenecen a las personas que los han enviado.
El administrador de este sitio web no es responsable de los mismos.

[comentarios] Hay 2 comentarios:

Gravatar
24/11/2005 12:16:39
puedes usar mount
por n1mh (IP: 10.15.168.*@195.55.91.129)
Comentario de n1mh
y evitar los enlaces. Prueba a usar la opción bind del mount, que te monta un directorio en uso sobre otro. Yo lo he usado en la jaula del postfix y va muy fino.

saludos,
n1mh
Gravatar
24/11/2005 12:33:07
Sistema equivocado
por Juanjo (IP: 192.168.0.*)
Comentario de Juanjo
La opción bind no existe en el mount de OpenBSD, que es el sistema del que se habla en la anotación :).

Buscando... creo que se podría usar mount_null para conseguir el mismo efecto, pero desde hace 5 meses lo han suprimido del sistema porque era más un hack peligroso (tic-tac-tic-tac...) y sin mantenimiento que otra cosa.

Para estos casos, meter en el chroot el socket es lo más indicado.

! Esta entrada no permite nuevos comentarios.

Los comentarios se bloquean automáticamente tras 15 días desde la publicación del artículo.

Si deseas comentar algo relacionado con el texto, puedes enviarme un e-mail.