La Ferme du web - Les forums

Venez baraguiner avec la communauté !

Vous n'êtes pas identifié.

#1 01/09/2010 14:44:14

steph22
Membre
Date d'inscription: 01/09/2010
Messages: 2

pure-ftpd-mysql et serveur MySQL distant

Hello,

ca fait quelques jours que je galère avec l'authentification sur un serveur MySQL distant.
Voila la config:
- J'ai un serveur A avec pure-ftpd-mysql et MySQL
- J'ai un serveur B avec pure-ftpd-mysql

Lorsque je me connecte en FTP au serveur A, pas de souci, ca fonctionne, mais par contre, lorsque j'essaie sur le serveur B, ca coince. J'ai bien le message d'accueil donc pureftp tourne correctement sur le serveur B.

Quand j'essaie de me connecter, j'ai ca dans /var/log/syslog :

Code:

pure-ftpd: (?@IP_perso) [ERROR] The SQL server seems to be down [Access denied for user 'pureftp'@'localhost' (using password: YES)]
pure-ftpd: (?@IP_perso) [WARNING] Authentication failed for user [USER_FTP]

Avec ces logs, on vois qu'il essai de se connecter avec l'utilisateur pureftp@localhost

Sur le serveur MySQL, j'ai commenté 'bind-address 127.0.0.1' dans /etc/mysql/mysql.conf
et j'ai créé un utilisateur 'USER_FTP@IP_DU_SERVEUR_B' avec tout les droits sur la table pureftp
J'ai testé un script PHP de connexion vers le serveur A MYSQL à partir du serveur B et ca roule, il se connecte correctement à MySQL

En gros, je voudrais pouvoir changer ce 'localhost' que je ne retrouve nulle part dans les fichiers de conf

fichier de conf mysql de pure-ftpd :

Code:

# Optional : MySQL server name or IP. Don't define this for unix sockets.

MYSQLServer     IP_DU_SERVEUR_A   


# Optional : MySQL port. Don't define this if a local unix socket is used.

MYSQLPort       3306


# Mandatory : user to bind the server as.

MYSQLUser       pureftp


# Mandatory : user password. You must have a password.

MYSQLPassword   PASS_PUREFTP


# Mandatory : database to open.

MYSQLDatabase   pureftp


# Mandatory : how passwords are stored
# Valid values are : "cleartext", "crypt", "md5" and "password"
# ("password" = MySQL password() function)
# You can also use "any" to try "crypt", "md5" *and* "password"

MYSQLCrypt      md5

# Query to execute in order to fetch the password

MYSQLGetPW      SELECT Password FROM users WHERE User="\L"


# Query to execute in order to fetch the system user name or uid

MYSQLGetUID     SELECT Uid FROM users WHERE User="\L"


# Query to execute in order to fetch the system user group or gid

MYSQLGetGID     SELECT Gid FROM users WHERE User="\L"


# Query to execute in order to fetch the home directory

MYSQLGetDir     SELECT Dir FROM users WHERE User="\L"

Pour info, j'ai modifier une ligne dans /usr/sbin/pure-ftpd-wrapper,

j'ai remplacé :

Code:

exec { $daemon } ($daemon, @options) or die "$0: Cannot exec $daemon: $!";

par :

Code:

exec ("/usr/sbin/pure-ftpd-mysql -4 -A -B -c 50 -C 4 -D -E -H -I 15 -j -k 90 -f ftpuser -L 7500:8 -m 4 -s -u 500 -U 033:012 -z -l mysql:/etc/pure-ftpd/db/mysql.conf");

histoire que le serveur démarre correctement quand je fait un 'restart'. Je sais pas si ca peut jouer donc je préfère dire.

Voila, si quelqu'un à une idée....

Hors ligne

 

01/09/2010 14:44:14

Botte De Foin Publicitaire


#2 02/09/2010 00:56:11

steph22
Membre
Date d'inscription: 01/09/2010
Messages: 2

Re: pure-ftpd-mysql et serveur MySQL distant

J'ai trouvé la solution, ca pourra peut-être servir à quelqu'un d'autre

J'ai changé la ligne qui sert à lancer pure-ftpd-mysql je l'ai directement changer dans /usr/sbin/pure-ftpd-wrapper ligne 174 :

Code:

exec ("/usr/sbin/pure-ftpd-mysql -4 -A -B -c 10 -C 3 -D -E -H -i -I 15 -s -u 500 -U 033:012 -z -l mysql:/etc/pure-ftpd/db/mysql.conf");

Hors ligne

 

Pied de page des forums

Powered by FluxBB
© Copyright 2008-2009 - LaFermeduWeb.net