Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 17/04/2009, à 00:37

spyesx

Pure-ftpd + MysQL - The SQL server seems to be down...

Bonsoir à tous !

Depuis mon tout premier serveur j'utilise proftpd. Hier soir histoire de voir un peu chez le voisin j'ai décidé d'installer pure-ftpd-mysql sur une bécane de test.

apt-get install pure-ftpd-mysql

Je crée un utilisateur mysql, une base dédiée, une table user, je renseigne mon fichier de conf :

MYSQLSocket      /var/run/mysqld/mysqld.sock
MYSQLUser       pureftpd
MYSQLPassword  XXXXX
MYSQLDatabase   server_pureftpd

Après cela je crée un user (ftpuser) et un group (ftpgroup) et je crée enfin le premier utilisateur dans la table.

Jusque là tout va bien mais lorsque je me connecte les logs me sortent un truc du style :

Apr 16 23:34:46 spyesx-server pure-ftpd: (?@spyesx.local) [INFO] New connection from spyesx.local
Apr 16 23:34:46 spyesx-server pure-ftpd: (?@spyesx.local) [ERROR] The SQL server seems to be down [Access denied for user 'root'@'localhost' (using password: YES)]
Apr 16 23:34:46 spyesx-server pure-ftpd: (?@spyesx.local) [INFO] PAM_RHOST enabled. Getting the peer address
Apr 16 23:34:48 spyesx-server pure-ftpd: (?@spyesx.local) [WARNING] Authentication failed for user [spyesx]
Apr 16 23:34:54 spyesx-server pure-ftpd: (?@spyesx.local) [INFO] Logout.

Première remarque que je me fais : Ok la conf n'est pas prise en compte car il veut se connecter via root alors que mon user mysql est pureftpd...

Je suis donc parti à la recherche de LA ligne qui va renseigner l'adresse de mon fichier de conf mais impossible de trouver.

J'en viens donc à demander de l'aide à la communauté car franchement là je bloque même avec mon ami google...

Hors ligne

#2 Le 17/04/2009, à 17:13

spyesx

Re : Pure-ftpd + MysQL - The SQL server seems to be down...

personne n'a d'idée.?

Hors ligne

#3 Le 21/04/2009, à 16:39

spyesx

Re : Pure-ftpd + MysQL - The SQL server seems to be down...

bon et bien c'est pas réglé mais j'ai plus le temps de faire les tests. Conclusion je laisse le post tel qu'il est au cas où il servirait à quelque chose un jour...

Hors ligne

#4 Le 22/04/2009, à 15:35

freeman972

Re : Pure-ftpd + MysQL - The SQL server seems to be down...

Hello,

Je serais interessé par une réponse aussi smile j'ai exactement le meme problème et j'ai eut la meme démarche...
la réponse est souvent dans les logs... oué ben pas la !
The SQL server seems to be down [Access denied for user 'root'...

Freeman

#5 Le 09/12/2010, à 23:40

sphax3d

Re : Pure-ftpd + MysQL - The SQL server seems to be down...

Je pense avoir trouvé la solution à votre problème. Elle a en tout cas fonctionné pour moi. Et si ça ne vous concerne plus, ce post aidera sûrement quelqu'un plus tard smile Pour les impatients, la solution est en bas de post, après l'explication du problème.

L'erreur rencontrée est bien que pure-ftpd-mysql ne semble pas prendre en compte la configuration faite après son installation. En se connectant au serveur FTP fraichement installé et configuré, avec un identifiant et un mot de passe créés dans la base de données MySQL, celui ci ferme la connexion en indiquant que l'identification est refusée. On peut noter que le serveur ne parvient pas à valider l'identification grâce à la base de données et que si la valeur "yes" est dans le fichier "/etc/pure-ftpd/conf/PAMAuthentication", ce qui est le cas par défaut, il cherche à utiliser les utilisateur du système Unix et leur mot de passe. Donc si on utilise le même identifiant dans la base de données que son identifiant de compte Unix, vu que la validation par la base ne fonctionne pas, la connexion FTP est acceptée en saisissant le mot de passe du compte Unix. Enfin je m'éloigne un peu du problème smile C'est juste que ceci m'a permis de comprendre que le serveur fonctionnait, mais qu'il y avait un problème avec les utilisateurs de la base de données MySQL.

Dans mon cas, comme dans le votre, l'utilisateur de base de données et son mot de passe, définis dans le fichier "/etc/pure-ftpd/db/mysql.conf" semble ne pas être utilisés lors de la connexion à MySQL. L'erreur suivante est reportée dans le fichier "/var/log/auth.log" :

Dec  9 20:02:43 <hostname> pure-ftpd: pam_unix(pure-ftpd:auth): check pass; user unknown
Dec  9 20:02:43 <hostname> pure-ftpd: pam_unix(pure-ftpd:auth): authentication failure; logname= uid=0 euid=0 tty=pure-ftpd ruser=<user> rhost=<host>

Mais surtout, l'erreur suivante, reportée dans le fichier "/var/log/syslog", indique clairement que pure-ftpd-mysql ne parvient pas à se connecter à la base de données pour récupérer les utilisateurs et leurs mots de passe :

Dec  9 20:02:36 <hostname> pure-ftpd: (?@<host>) [INFO] New connection from <host>
Dec  9 20:02:43 <hostname> pure-ftpd: (?@<host>) [ERROR] The SQL server seems to be down [Access denied for user 'root'@'localhost' (using password: YES)]
Dec  9 20:02:43 <hostname> pure-ftpd: (?@<host>) [INFO] PAM_RHOST enabled. Getting the peer address
Dec  9 20:02:51 <hostname> pure-ftpd: (?@<host>) [WARNING] Authentication failed for user [<user>]
Dec  9 20:03:00 <hostname> pure-ftpd: (?@<host>) [INFO] Logout.

Il semble en fait y avoir un bug dans les procédures d'arrêt et de redémarrage du serveur FTP pure-ftpd-mysql. L'arrêt du serveur avec la commande "sudo service pure-ftpd-mysql stop" et le redémarrage avec la commande "sudo service pure-ftpd-mysql restart" n'ont aucun effet sur le serveur démarré. La configuration faite après installation n'est donc pas du tout prise en compte ! C'est finalement la commande "sudo service pure-ftpd-mysql status" qui est la plus explicite :

$ sudo service pure-ftpd-mysql status
 * could not access PID file for pure-ftpd

Il semble il y avoir un vrai problème avec le contrôle du serveur FTP, plus précisément un problème d'accès au fichier identifiant le processus (PID) pure-ftpd.

SOLUTION
Heureusement que la solution à ce problème est simple ! Enfin elle l'a été pour moi ^^. J'espère qu'elle le sera aussi pour vous. Il faut juste tuer le processus du serveur démarré après l'installation du paquet avec les commandes suivantes :

$ ps aux | grep pure
<user>   353  0.0  0.0   3340   808 pts/0    S+   21:02   0:00 grep --color=auto pure
root     25898  0.0  0.0   7796   856 ?        Ss   09:51   0:00 pure-ftpd
$ sudo kill -9 25898
$ ps aux | grep pure
<user>   357  0.0  0.0   3340   808 pts/0    S+   21:03   0:00 grep --color=auto pure

Une fois le serveur arrêté, il suffit de le redémarrer normalement :

$ sudo service pure-ftpd-mysql start
Starting ftp server: Running: /usr/sbin/pure-ftpd-mysql -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -j -O clf:/var/log/pure-ftpd/transfer.log -E -A -u 1000 -U 002:002 -8 UTF-8 -B
$ sudo service pure-ftpd-mysql status
 * pure-ftpd is running

Par la suite, les commandes "start, stop, restart et status" devrait fonctionner.

w00t ! non ? smile


Source de la solution : http://www.howtoforge.com/forums/showpo … stcount=10 (en anglais)

PS : Merci de me corriger si j'ai fais des erreurs dans mon explication du problème ou dans sa résolution wink

Dernière modification par sphax3d (Le 09/12/2010, à 23:46)

Hors ligne

#6 Le 07/06/2011, à 23:04

Moutus

Re : Pure-ftpd + MysQL - The SQL server seems to be down...

Même problème sur Debian squeeze, ta solution fonctionne parfaitement.
Je regrette de ne pas avoir trouvé ton post plus rapidement !

Merci !

Hors ligne

#7 Le 16/08/2014, à 16:14

tchernonico

Re : Pure-ftpd + MysQL - The SQL server seems to be down...

J'avais le même souci. A la différence que pure-ftpd-mysql avait le status : not running.

J'ai appliqué la solution de sphax3d est ca fonctionne nickel.

Merci de ton aide.

Hors ligne