Accès aux répertoire configuration VHOST [Résolu]

Signaler
Messages postés
432
Date d'inscription
samedi 14 mars 2015
Statut
Membre
Dernière intervention
9 octobre 2020
-
Messages postés
432
Date d'inscription
samedi 14 mars 2015
Statut
Membre
Dernière intervention
9 octobre 2020
-
Bonjour à toute et a tous,
je me permet de venir demander votre aide aujourd'hui car j'ai un soucis que je n'arrive pas à résoudre depuis quelque temps. . .

Le but final est d’autoriser l'accès à un répertoire ayant pour contenue des fichiers pdf.

Je m'explique.
J'ai mon site qui se trouve dans cette arborescence "/var/www/html/index.php" et je voudrais mettre le stockage de mes pdf ici par exemple "/stockage/pdf"/ sauf que je ne sais pas du tout comment faire car quand je met le lien dans la balise html (embed), j'utilise un chemin avec un truc du genre "/public/pdf/monpdf".
Sachant que le chemin absolut (coté debian) est "/var/www/html/public/pdf".


Du coup je vous avoue que je suis un peu perdu et que je ne sait pas vraiment comment faire..

Si vous pouvais me guider ce serais super !
Merci d'avance :D

5 réponses

Messages postés
1458
Date d'inscription
mercredi 31 août 2011
Statut
Membre
Dernière intervention
18 août 2020
113
Hello Hello,

Il pourrait étre interressant de nous dire quel type de serveur tu utilises.
Nginx ? Apache ?

A plus
Messages postés
432
Date d'inscription
samedi 14 mars 2015
Statut
Membre
Dernière intervention
9 octobre 2020
5
oups, j'avais oublié..

J'utilise apache avec la version 2019-10-15T19:53:42
Messages postés
1458
Date d'inscription
mercredi 31 août 2011
Statut
Membre
Dernière intervention
18 août 2020
113
Bien reçu.

Il faut savoir que apache tourne avec un utilisateur spécific : généralement *www-data*.
Tu peux rapidement vérifier l'utilisateur qui est utilisé avec un :
ps aux |grep "apache"


Il faut ensuite que le propriétaire de ton répértoire soit l'utilisateur en question :
chown -R www-data:www-data /stockage/pdf


Tu peux ensuite configurer l'accés à ton répertoire dans ton vhost avec un codeblock :
  <Directory "/stockage/">
DirectoryIndex index.html index.htm index.php index.php4 index.php5
Options -Indexes +IncludesNOEXEC +FollowSymLinks
allow from all
</Directory>


Je te laisserai configurer les Options qui vont bien dans le block, ça n'est qu'un exemple.

A plus

N'oubliez pas de marquez votre post comme résolut lorsque vous avez eu les réponses à vos questions...
Au royaume des aveugles, les borgnes sont rois.
Messages postés
1458
Date d'inscription
mercredi 31 août 2011
Statut
Membre
Dernière intervention
18 août 2020
113
Selon le besoin tu peux limiter le allow from à 127.0.0.1 si tu veux que seulement ton serveur PHP ou apache accéde au données ( dans le cas ou c'est générer par une page de code )
Messages postés
432
Date d'inscription
samedi 14 mars 2015
Statut
Membre
Dernière intervention
9 octobre 2020
5
merci pour votre réponse !
j'ai bien fais ce que vous avais mis au dessus.

Serais t'il possible de me mettre exemple sur ce que je doit mettre sur la balise embed ?

J'ai tenté :
<embed src=/mon.pdf width=800 height=500 type='application/pdf'/>

<embed src=/stockage/mon.pdf width=800 height=500 type='application/pdf'/>

mais cela ne semble pas fonctionner
Messages postés
1458
Date d'inscription
mercredi 31 août 2011
Statut
Membre
Dernière intervention
18 août 2020
113
Bon, j'ai un ptit bug et j'arrive pas a répondre en message ( j'ai posté dans bug -> https://forums.commentcamarche.net/forum/affich-36772210-access-denied )

Je te le met en image en espérant que ça te permette plus ou moins d'avancer !

Messages postés
432
Date d'inscription
samedi 14 mars 2015
Statut
Membre
Dernière intervention
9 octobre 2020
5
merci beaucoup !

C'est fonctionnel à présent :D


Bonne journée à toi :D
Messages postés
432
Date d'inscription
samedi 14 mars 2015
Statut
Membre
Dernière intervention
9 octobre 2020
5
Je reviens vers toi Exileur car j'ai un soucis..
En gros je peux afficher le pdf via php maintenant via les lignes suivantes :
  $url = url();


  // Le chemin du fichier (path) 
  $file = "/pdf/".$url[4]; 
  
  // Type de contenu d'en-tête
  header("Content-type: application/pdf"); 
  
  header("Content-Length: " . filesize($file));
  
  // Envoyez le fichier au navigateur.
  readfile($file); 

cela fonctionne !

Sauf que si je fais ma balise embed les nouveaux liens de fonctionnes pas..
Je m'explique :
quand je fait l'ancien lien (/public/pdf/mon.pdf) qui se trouve ici au niveau de debian (var/www/html/)
cela fonctionne mais quand je fais ma balise avec le lien (/stockage/pdf/) qui se trouve au niveau de debian à la racine cela ne fonctionne pas..

Si tu pouvais me guider..

Merci encore
Messages postés
432
Date d'inscription
samedi 14 mars 2015
Statut
Membre
Dernière intervention
9 octobre 2020
5
J'ai trouvé.
Il suffit de retourné dans le vhost et j'ai ajouté la ligne suivante :
Alias "/pdf" "/stockage/pdf"
et maintenant cela fonctionne avec la ligne
<embed src=/pdf/mon.pdf width=800 height=500 type='application/pdf'/>
Messages postés
1458
Date d'inscription
mercredi 31 août 2011
Statut
Membre
Dernière intervention
18 août 2020
113
Oui, c'était dans l'exemple que je t'ai donné plus haut :P

ps : perso, pour la génération de lien, je suis plutot de ce genre ->
echo "<embed src=" . $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST'] . "/pdf/mon.pdf width=800 height=500 type='application/pdf'/>";
Messages postés
432
Date d'inscription
samedi 14 mars 2015
Statut
Membre
Dernière intervention
9 octobre 2020
5 >
Messages postés
1458
Date d'inscription
mercredi 31 août 2011
Statut
Membre
Dernière intervention
18 août 2020

Ah oui..

Merci pour l'info, j'en prend note :D