Apache : comment pointer vers un dossier FTP

Fermé
dabigben Messages postés 1913 Date d'inscription vendredi 23 novembre 2007 Statut Membre Dernière intervention 13 octobre 2023 - 20 oct. 2009 à 15:30
zurg_ Messages postés 134 Date d'inscription jeudi 15 octobre 2009 Statut Membre Dernière intervention 15 avril 2010 - 23 oct. 2009 à 11:12
Bonjour,


J'ai installé apache et Proftpd (serveur ftp koi). Jusque la pas de soucis, un utilisateur se logue en FTP et upload un fichier A dans /ftp

J'aimerais pouvoir télécharger ce fichier A depuis mon site en conservant une URL du type

www.adresse.net/fichierA

ce lien devrait donc dans l'ideal pointer vers /ftp/fichierA de manière invisible

On m'a dit que je pouvais ajouter un "Directory" dans httpd.conf, moi je veux bien, mais je ne trouve pas la syntaxe à rentrer ( <directory /ftp > </Directory> ???)

Je ne vois pas trop comment ça peut fonctionner, vos lumières m'eclaireraient !!!

merci
A voir également:

7 réponses

zurg_ Messages postés 134 Date d'inscription jeudi 15 octobre 2009 Statut Membre Dernière intervention 15 avril 2010 27
21 oct. 2009 à 11:22
Salut,

je pense que ta question aurait plutôt sa place dans la section Webmastering...

Ceci dit, je pense qu'une bonne piste serait de faire de l'URL-rewriting avec les règles qui vont bien dans un fichier .htaccess

Un petit tour sur google te donnera toutes les possibilités offertes par cette technique.

Bon courage !
0
dabigben Messages postés 1913 Date d'inscription vendredi 23 novembre 2007 Statut Membre Dernière intervention 13 octobre 2023 179
21 oct. 2009 à 14:23
Merci, j'ai fini par créer un simple alias dans httpd.conf qui mène a mon repertoire /ftp

Bien sûr l'URL a rentrer sera www.mon_site/ftp/nom_de_fichier donc l'arborescence n'est pas invisible mais avec l'URL rewriting je ne vois pas trop comment pointer un repertoire qui est hors de la racine de apache, je crois que j'ai pas le level

Ce que je voudrais dit simplement c'est que apache croit que les fichier de mon /ftp (le / étant la racine unix) se trouvent a la racine d'apache (donc /var/www/html), j'ai trouvé quelques docs mais ça ne m'aide pas vraiment sinon a connaitre la fonction du rewriting mais j'ai l'impression que la "redirection" que ça permet se limite a la racine d'apache non ?

.htaccess :

RewriteEngine on
RewriteRule ^profil-([0-9]+).* /phpBB2/profile.php?mode=viewprofile&u=$1 [L]

j'ai trouvé cet exemple, est-ce que tu crois que je pourrais faire un truc du genre :

RewriteEngine on
RewriteRule ^/.* /ftp [L]

???

Mais admettons que la syntaxe soit bonne, apache va chercher dans /var/www/html/ftp au lieu de /ftp non ?

ou alors je pourrais faire :

RewriteEngine on
RewriteRule ^/.* ../../../ftp [L]

pour remonter juska la racine unix ?


Merci de ton aide...
0
zurg_ Messages postés 134 Date d'inscription jeudi 15 octobre 2009 Statut Membre Dernière intervention 15 avril 2010 27
21 oct. 2009 à 16:09
En fait, lorsque tu déclare un virtual host dans ton httpd.conf, tu lui donne son document_root.

C'est le chemin qui définit le " / " de apache si tu veux.

Donc toute l'arborescence de ton site doit être située dans ce répertoire là.

Par exemple, si ton document_root vaut : /var/www/html/mon_site

Quand tu tappes http://adresse_du_serveur/index.html, tu lis le fichier situé ici : /var/www/html/mon_site/index.html

Ensuite, le tout est de se plonger dans les expressions régulières.

Si tu appelles toujours tes fichiers selon un masque défini (par ex : ftp1, ftp2, ftp3 ) il suffit de changer toutes les adresses des fichiers commençant par ftp vers /ftp/ftp*

Je ne sais pas si c'est bien clair... voici un site qui pourra t'aider : https://www.webmaster-hub.com/publications/mod_rewrite-ou-la-reecriture-des-url-a-la-volee/

Si c'est un serveur public qui est indexé, ne pas oublier de rajouter [R=301] à la fin de ta ligne, cela permet de désindexer l'ancienne adresse et d'indexer la nouvelle.

Bon courage !
0
dabigben Messages postés 1913 Date d'inscription vendredi 23 novembre 2007 Statut Membre Dernière intervention 13 octobre 2023 179
21 oct. 2009 à 18:29
En fait, lorsque tu déclare un virtual host dans ton httpd.conf, tu lui donne son document_root.

C'est le chemin qui définit le " / " de apache si tu veux.

Donc toute l'arborescence de ton site doit être située dans ce répertoire là.

Par exemple, si ton document_root vaut : /var/www/html/mon_site

Quand tu tappes http://adresse_du_serveur/index.html, tu lis le fichier situé ici : /var/www/html/mon_site/index.html


ça d'accord ! Mais le reste par contre euh, j'capte pas ... Il faut savoir que le dossier de mon ftp (un seul dossier m'est necessaire) ne se trouve PAS dans la racine apache.. Il faut savoir aussi que les fichiers présent dans ce dossier ftp n'auront aucun préfixe genre "ftp_fichierX" puisqu'ils seront uploadés par des utilisateurs non avertis (facilité).
--j'espere que tu me comprend lol -------<
Il faut savoir aussi que j'ai un acces complet au serveur @home!

Je me pencherais demain sur la doc que tu m'a fourni, merci, je te tiens au courant

Merci encore
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zurg_ Messages postés 134 Date d'inscription jeudi 15 octobre 2009 Statut Membre Dernière intervention 15 avril 2010 27
22 oct. 2009 à 10:57
Rien ne t'empêche dans ton script d'upload de renommer les fichiers déposés...

Je ne suis pas certain que tu puisse sortir du document_root de apache pour déposer un fichier. Est-il indispensable d'utiliser ce répertoire ?

Si oui, tu peux toujours te programmer un petit script en shell ou en perl à lancer par le crontab qui prends tous les fichiers présents dans le répertoire de l'arborescence apache pour les déplacer dans le bon répertoire.

C'est relativement facile, surtout si tu es administrateur de ton serveur.
0
dabigben Messages postés 1913 Date d'inscription vendredi 23 novembre 2007 Statut Membre Dernière intervention 13 octobre 2023 179
23 oct. 2009 à 10:47
Effectivement c'est ce qu'on m'avait conseillé aussi, ça peut etre pas mal un petit cron pour déplacer les fichier depuis /ftp vers Document_root, mais ça va foutre un peu le bordel dans mon document_root... ou sinon je me contente d'un nouveau repertoire /download dans mon document_root mais c'etait un petit caprice : pour eviter de rajouter le /download dans l'url pour dl les fichiers qui y seront copiés par cron. Bon merci pour ton aide en tout cas, je mettrais le statut résolu quand j'aurais mis ça en place, et je dirais comment je m'y suis pris..

a++
0
zurg_ Messages postés 134 Date d'inscription jeudi 15 octobre 2009 Statut Membre Dernière intervention 15 avril 2010 27
23 oct. 2009 à 11:12
Alors bon courage !
0

Discussions similaires