Rechercher : dans
Par :

[ ProFTPD ] - Configuration avec MySQL

Dernière réponse le 25 avr 2007 à 09:25:37 Ohm-WorK, le 3 mar 2007 à 15:16:23 
 Signaler ce message aux modérateurs

Bonjour la communauté !

J'ai un petit souci de configuration sous Proftpd. J'ai installé ce dernier via apt :

# apt-get install proftpd-mysql

L'installation se passe sans erreur, et je démarre le serveur en mode standalone.

Pour info, mon serveur MySQL est installé & fonctionnel. Par ailleur, la base de données ainsi que les tables correspondant à la configuration voulu pour proftpd sont bien enregistrées.

Voici mon fichier proftpd.conf :

# Configuration de base
# =====================
ServerName "Mon serveur FTP"
ServerType standalone
ServerIdent on "Bienvenue sur mon ftp. Veuillez-vous identifiez"
DeferWelcome on
ServerAdmin "ftp_admin@mydomain.com"

MultilineRFC2228 on
DefaultServer on
ShowSymlinks on
AllowOverwrite on

TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200

ListOptions "-l"
Defaultroot ~

DenyFilter \*.*/

Port 21

# A configurer selon sa connection
# ================================
MaxInstances 6
MaxLoginAttempts 3
MaxClientsPerUser 10
MaxClientsPerHost 2
MaxHostsPerUser 4
MaxClients 6 "Limite a 6 utilisateurs"

# ProFTPD est excecuté avec des droits réduits
# ============================================
User nobody
Group nogroup

Umask 022
AllowStoreRestart on
AllowRetrieveRestart on

# Mod MySQL
# =========
# Les mots de passe sont crypté ds la base avec la fct ENCRYPT (MySQL)
SQLAuthTypes Crypt
SQLAuthenticate users* groups*

# Modifiez cette ligne selon l'utilisateur et le mot de passe définit plutôt
SQLConnectInfo proftpd@localhost proftpd password

# On donne à ProFTPD le nom des colonnes de la table usertable
SQLUserInfo ftpuser userid passwd uid gid homedir shell
SQLUserWhereClause "LoginAllowed = 'true'"

# On donne à ProFTPD le nom des colonnes de la table "grouptable"
SQLGroupInfo ftpgroup groupname gid members

# Créer le repertoire home de l'utilisateur si il n'existe pas
SQLHomedirOnDemand on

# Met à jour les compteurs à chaque connection d'un utilisateur
SQLLog PASS updatecount
SQLNamedQuery updatecount UPDATE "count=count+1, accessed=now() WHERE userid='%u'" ftpuser

#Met à jour les compteurs à chaque upload ou download d'un utilisateur
SQLLog STOR,DELE modified
SQLNamedQuery modified UPDATE "modified=now() WHERE userid='%u'" ftpuser

# Mod quota
# =========
QuotaEngine on
QuotaDirectoryTally on
QuotaDisplayUnits Mb
QuotaShowQuotas on

# Définit les requêtes SQL pour que ProFTPd recupere les infos sur les quotas

SQLNamedQuery get-quota-limit SELECT "name, quota_type, par_session, limit_type, bytes_up_limit, bytes_down_limit, bytes_transfer_limit, files_up_limit, files_down_limit, files_transfer_limit FROM ftpquotalimits WHERE name = '%{0}' AND quota_type = '%{1}'"

SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_up_total, bytes_down_total, bytes_transfer_total, files_up_total, files_down_total, files_transfer_total FROM ftpquotatotal WHERE name = '%{0}' AND quota_type = '%{1}'"

SQLNamedQuery update-quota-tally UPDATE "bytes_up_total = bytes_up_total + %{0}, bytes_down_total = bytes_down_total + %{1}, bytes_transfer_total = bytes_transfer_total + %{2}, files_up_total = files_up_total + %{3}, files_down_total = files_down_total + %{4}, files_transfer_total = files_transfer_total + %{5} WHERE name = '%{6}' AND quota_type = '%{7}'" ftpquotatotal

SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" ftpquotatotal

QuotaLimitTable sql:/get-quota-limit
QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally

RootLogin off
RequireValidShell off

# Gestion des logs
# ================
# Enregistre les requêtes SQL dans /var/log/proftpd/mysql.log
SQLLogFile /var/log/proftpd/mysql.log
# Enregistre les authentifications
LogFormat auth "%v [%P] %h %t \"%r\" %s"
ExtendedLog /var/log/proftpd/auth.log AUTH auth
# Enregistre les accès aux fichiers
LogFormat write "%h %l %u %t \"%r\" %s %b"
ExtendedLog /var/log/proftpd/access.log WRITE,READ write

# Recupère le nom à partir de l'ip de la machine de l'utilisateur ( resolution DNS )
IdentLookups on

Jusque la, tout va bien. Le problème intervient juste après, au moment ou je recharge le serveur

# /etc/init.d/proftdp restart

La commande me ressort une erreur à chaque ligne concernant les commandes SQL, comme si il ne prenait pas du tout en compte le modules Mysql. Effectivement, si je tape la commande :

# proftpd -vv
je n'es aucun modules concernant sql ou mysql...

Pourtant, dans mon dossier /etc/proftpd j'ai un fichier modules.conf, qui comporte les lignes de chargement des modules concernés... et les modules sont bien présent dans /usr/lib/proftpd...

Je ne vois donc pas pourquoi il ne me les charge pas. Si quelqu'un à une idée, ou un bon tuto pour refaire l'installation complète je suis preneur !!!

Merci d'avance pour vos réponses !
La vie est une maladie mortelle, sexuellement transmissible (Woody Allen)

Configuration: Linux Kaella 3.1
ProFTPD 1.3
MySQL 5.0

Meilleures réponses pour « [ ProFTPD ] Configuration avec MySQL » dans :
MySQL – Optimisation VoirL’optimisation au niveau de MySQL passe par trois composants, à savoir : Optimisation du serveur MySQL Optimisation de la base de données Optimisation des requêtes Optimisation de la configuration de serveur MySQL L’optimisation du serveur peut...
Configurer le mode Routeur de la Freebox VoirIl est possible d'activer le mode "Routeur" (NAT) de la Freebox. Avantages et inconvénients Avantages Inconvénient Configurer le mode routeur Connexion au site de Free Identification Fonctionnalités routeur de la Freebox Activation du...
Configurer sa connexion WiFi avec Windows XP VoirDepuis Windows XP, Microsoft a intégré à son système d'exploitation un agent WiFi, baptisé par la firme "Configuration Zéro". Dans un premier temps et pour l'utiliser convenablement, il est tout d'abord nécessaire de désactiver les autres logiciels...
MySQL - Installation sous Windows VoirPrésentation de MySQL MySQL est un Système de Gestion de Bases de Données (SGBD) fonctionnant sous Linux et Windows. Depuis la version 3.23.19, MySQL est sous Licence GPL (aussi bien sous Linux que Windows), ce qui signifie qu'il peut être utilisé...
Importer et exporter des données sous MySQL VoirImportation et exportation Les Système de Gestion de Bases de Données tels que MySQL permettent de manipuler facilement et avec beaucoup de souplesse un très important volume de données. Toutefois, aussi robuste soit MySQL, il peut être intéressant...
Installation d'un serveur Web sous Linux (Apache, PHP et MySQL) VoirIntroduction Un serveur web est un logiciel permettant de rendre accessibles à de nombreux ordinateurs (les clients) des pages web stockées sur le disque. Cette fiche pratique explique comment installer le serveur web Apache sur un système de type...

1

 necros, le 25 avr 2007 à 09:25:37

Salut

ca fait 1 mois seulement que je me mets à linux... j'apprends :)

un petit truc que tu devrais vérifier, c'est si ton proftpd supporte les librairies .so

proftpd -l

tu devrais avoir une liste des modules liés de façon statique dans ton serveur. Vérifie la présence de mod_dso.c

Si ce n'est pas le cas, peut êtr eque tu devrais utiliser les sources de proftpd et les recompiler

Répondre à necros