Apache : comment pointer vers un dossier FTP
dabigben
Messages postés
1913
Date d'inscription
Statut
Membre
Dernière intervention
-
zurg_ Messages postés 134 Date d'inscription Statut Membre Dernière intervention -
zurg_ Messages postés 134 Date d'inscription Statut Membre Dernière intervention -
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
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:
- Apache : comment pointer vers un dossier FTP
- Apache open office gratuit - Télécharger - Suite bureautique
- Apache laragon - Télécharger - Divers Web & Internet
- Apache curl - Forum Linux / Unix
- Redemarrer apache ✓ - Forum Linux / Unix
- Installation apache - Forum Linux / Unix
7 réponses
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 !
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 !
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...
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...
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 !
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 !
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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.
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.
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++
a++