Serveur FTP géré par php (vsftpd/proftp)

Fermé
titoubo Messages postés 3 Date d'inscription lundi 11 août 2008 Statut Membre Dernière intervention 13 août 2008 - 11 août 2008 à 21:17
titoubo Messages postés 3 Date d'inscription lundi 11 août 2008 Statut Membre Dernière intervention 13 août 2008 - 13 août 2008 à 18:42
Bonjour, voici le projet sur lequel je demande votre aide :

Je souhaite gérer une base de donnée de clients et une bdd de produits (et une troisième pour les permissions) via un backoffice. Je souhaite pouvoir via le backoffice donner à un client l’accès (par FTP) à un ou plusieurs produits.

Coté FTP, un client sans aucun accès devrait arriver sur :
|- [root]

Et un client ayant par exemple accès au produit 1 et 2 devrait arriver sur :
|- [root]
....|-[Produit 1]
.........|-contenue du répertoire [Produit 1] (alias/bind du vraie répertoire du produit)
....|-[Produit 2]
.........|-contenue du répertoire [Produit 2] (alias/bind du vraie répertoire du produit)

Dans ce system, tous les utilisateurs on par défaut accès au même dossier (root pour eux) qui est vide, en fonction de leurs droits je leurs ajoute les répertoires des produits en alias (bind) auxquels ils ont accès. De cette façon il n’y a qu’une copie des produits sur le serveur.

Pour l’instant j’ai réalisé le backoffice et à chaque modification d’un client mon code réécrit un xml de configuration de Filezilla et le force à se recharger. Tout fonctionne à merveille.

Le problème est que je dois passer le tout sous linux (sur cet OS je suis néophyte) donc plus de FileZilla. J’ai potassé et il apparait que la notion de FTP est carrément différente sur Linux.
J’aimerais donc un petit coup de main, je peux tourner sous n’importe quel distrib de linux (avec une préférence pour fedora, suse et ubuntu qui sont les seuls que j’ai déjà démarrés de ma vie), et n’importe quel serveur ftp (j’ai vu que les principaux étaient vsFTPd et proftp).
Je sais que vsFTPd permet de récupérer les utilisateurs virtuels directement depuis une bdd mysql ce qui à mon avis permettrait d’éviter le problème de rafraichissement de la liste des utilisateurs. Mais je ne sais pas comment organiser tout ça, comme je vous l’ai dit je ne connais presque rien à linux, comment dire au serveur FTP d’aller chercher la liste des utilisateurs dans mysql, est il possible de créer des alias/bind (ln il me semble mais c’est flou)… de l’aide ! :-)

Ps : Merci de m'avoir lu et désolé pour le pavé.

3 réponses

Une question : pourquoi passer par un serveur ftp ?
PHP est capable d'aller chercher des fichiers dans des dossiers non accessible au DocumentRoot du serveur Apache.
Donc fait votre upload directement depuis PHP.
1
titoubo Messages postés 3 Date d'inscription lundi 11 août 2008 Statut Membre Dernière intervention 13 août 2008
11 août 2008 à 21:53
Merci de ton intérêt. Pour être sur d’avoir compris, tu propose que le client se connecte à une page web avec le listing des produits auxquels il à accès plutôt que par ftp ?

Le problème si j’ai bien compris ta réponse c’est que je vais m’en servir pour du transfert de très gros fichiers mais aussi de dossiers remplis de centaines de petits fichiers, et je livre à mes clients un compte FTP. Malgré tout tu as raison, ça m’aurait simplifié la vie :-/
0
titoubo Messages postés 3 Date d'inscription lundi 11 août 2008 Statut Membre Dernière intervention 13 août 2008
13 août 2008 à 18:42
Personne n'as une idée pour m'aider?
0