Patrick21 Posté(e) le 17 avril 2011 Partager Posté(e) le 17 avril 2011 Sujet : mettre en téléchargement HTTP, quelques fichiers en accès direct avec ou sans authentification Préambule : Actuellement si vous mettez des fichiers dans un dossier du dossier web par exemple : /web/doc et que vous essayez d'y accéder par http:/ipdunas/doc, vous avez une page d'erreur Solution : On va utiliser les options possibles du serveur apache du syno, que l'on pourrait rentrer directement dans le fichier de conf qui se trouve /usr/syno/apache/conf/extra/httpd-autoindex.conf-user mais comme ces modifs s'appliqueraient à tous les dossiers, je vais expliquer pour le faire seulement sur le dossier concerné et ses sous-dossiers correspondants on va utiliser pour cela le petit fichier magique .htaccess que l'on mettra dans le dossier que l'on souhaite ouvrir à l'exploration pour mon exemple je vais prendre le dossier /web/doc/ pour créer le fichier .htaccess on utilisera l'éditeur universel Notepad++ - On va créer dans /web/doc/ un fichier .htaccess et on va lui ajouter une ligne que je vais faire précéder à chaque fois d'un commentaire pour comprendre #lister les fichiers Options +Indexes on va maintenant essayer d'accéder à http:/ipdunas/doc et on optient (après avoir mis 3 fichiers et un dossier) - On remarque qu'il y a un problème, nous n'avons pas d'icones à coté des dossiers et fichiers Mise en place des Icones pour cela j'ai récupéré les icônes minimun nécessaire dans une installation d'apache et j'ai fait un fichier zip que vous pouvez télécharger fichier zip: icons.zip (nous verrons plus tard comment en ajouter d'autres pour certains types de fichiers non définis actuellement dans le fichier de conf) - il suffit de décompresser ce fichier dans /web par exemple pour avoir /web/icons/ maintenant on va mettre ce dossier dans le syno en utilisant Putty (oui il fallait bien une petite manip telnet) - il faut mettre les icônes dans : /usr/syno/apache/icons/ créer le dossier : mkdir /usr/syno/apache/icons/ faire la copie des icônes : cp /volume1/web/icons/* /usr/syno/apache/icons/ (effacer dedans le "Thumbs.db") : rm /usr/syno/apache/icons/Thumbs.db on va maintenant reéssayer d'accéder à http:/ipdunas/doc et on optient Ok maintenant on voit bien les icônes, mais quelque chose me gêne on a l'option " Parent Directory " qui permet de remonter au dossier racine /web Supprimer le "Parent Directory" - je vais le supprimer par l'ajout d'une ligne dans mon fichier .htaccess #ignore le repertoire parent IndexIgnore .. on va maintenant ressayer d'acceder à http:/ipdunas/doc et on optient Ok, on n'a plus l'option "Parent Directory" (elle est aussi désactivée sur les sous dossiers, je n'ai pas trouvé pour la remettre sur les sous-dossiers) on peut également ignorer certains fichiers ou répertoires en utilisant toutes les conditions simplement en les mettant à la suite séparées par un espace (sensible à la casse) exemple : je veux supprimer le "Parent Directory", les fichiers .bak et les fichiers commencant par z #ignore le repertoire parent, les fichiers .bak et les fichiers commencant par z IndexIgnore .. *.bak z* Personnalisation de l'en-tête et du bas de page Maintenant on va personnaliser l'en-tête de page en créant tout simplement un fichier HEADER.html (en majuscule) dans le dossier /web/doc/ on va maintenant reéssayer d'accéder à http:/ipdunas/doc et on optient Supprimer le bas de page Maintenant on veut supprimer le bas de page indiquant le nom du serveur Apache/2.2.13 (Unix) mod_ssl/2.2.13 OpenSSL/0.9.8k PHP/5.2.10 Server at diskstation Port je vais ajouter une ligne dans mon fichier .htaccess #supprimer le bas de page ServerSignature off ou dans le fichier de conf /usr/syno/apache/conf/extra/httpd-default.conf-user changer ServerSignature on Par ServerSignature off nota : si modification du fichier de conf relancer le serveur apache par : /usr/syno/etc/rc.d/S97apache-user.sh restart ou personnaliser le bas de page Maintenant on va personnaliser le bas de page en créant tout simplement un fichier README.html (en majuscule) dans le dossier /web/doc/ on va maintenant réessayer d'accéder à http:/ipdunas/doc et on optient Tri des noms de dossiers et autres Options encore par l'ajout d'une ligne dans mon fichier .htaccess # options (je trie les dossiers, puis les fichiers en ignorant la casse du nom) IndexOptions +FancyIndexing +FoldersFirst +IgnoreCase +NameWidth=* +DescriptionWidth=* explications : # FancyIndexing : active ses propres options pour la représentation de la liste du répertoire # IndexOptions : fixe d'autres options # le signe + ajoute l'option, le signe - la supprime # le signe + ajoute l'option, le signe - la supprime # FoldersFirst : les répertoires sont listés avant les fichiers, la largeur du champ description s'adapte en fonction la longueur du nom de fichier # IgnoreCase : igniore la casse dans le tri # NameWidth=* longueur du champ Nom * s'adapte au plus grand # DescriptionWidth=* longueur du champ description * s'adapte au plus grand # SuppressColumnSorting : les éléments du répertoire sont affichés sans être triés. # SuppressDescription : aucun descriptif de fichier n'est affiché. # SuppressLastModified : aucune date et heure n'est affichée pour les éléments. # SuppressSize : aucune taille de fichier n'est affichée. # IconHeight=32 IconWidth=32 : les graphiques icônes sont affichés avec une hauteur fixe de 32 pixels et une largeur fixe de 32 pixels. # IconsAreLinks : Les icônes peuvent être cliquées en tant que lien et appellent le fichier affiché à leur côté (intéressant pour rendre les icones cliquables) # ScanHTMLTitles : Dans la colonne du descriptif de fichier c'est le contenu de l'élément title qu'ils contiennent qui est lu et affiché comme court descriptif du fichier dans le cas des fichiers HTML. Ajout de la description des fichiers en fonction de l'extension maintenant si l'on veut ajouter une description de fichier on va ajouter une ligne soit dans le fichier de conf /usr/syno/apache/conf/extra/httpd-autoindex.conf-user soit plus simplement dans notre fichier .htaccess #ajout description de fichier en fonction de l'extension AddDescription "Fichier à télécharger" *.zip AddDescription "Photo" *.jpg AddDescription "Photo" *.JPG AddDescription "Musique" *.mp3 AddDescription "Vidéo" *.mp4 nota : si modification du fichier de conf relancer le serveur apache par : /usr/syno/etc/rc.d/S97apache-user.sh restart Accès au dossier /doc par Authentification en indiquant un login et un mot de passe maintenant on souhaite protéger ce dossier /doc par une demande d'authentication par un login et un mdp pour cela on va ajouter toujours dans notre fichier .htaccess AuthUserFile /volume1/web/doc/.htpasswd AuthGroupFile /dev/null AuthName "Veuillez vous identifier" AuthType Basic <Limit GET POST> require valid-user </Limit> nota: 1ere ligne à modifier en fonction du nom de votre dossier AuthUserFile /volume1/web/doc/.htpasswd et on va creer un fichier .htpasswd avec la liste des comptes et mdp cryptés on utilisera un générateur comme par exemple http://shop.alterlin...sswd/passwd.php et pour créer le fichier .htpasswd on utilisera également l'éditeur universel Notepad++ exemple de fichier .htpasswd patrick:eStfFAVwYg2K2 nota : autant de lignes que d'users possibles on peut également utiliser sur le syno : /usr/syno/apache/bin/htpasswd pour générer les mots de passe Supprimer l'indexation (référencement) de notre dossier /doc par les moteurs de recherche comme Google Maintenant on ne veut pas que notre dossier soit indexé par les moteurs de recherche, on va créer tout simplement un fichier robots.txt que l'on mettra dans /web avec dedans : User-Agent: * Disallow: / Contrer les possibilités de remonter le dossier /doc et d'accéder dans /web en tapant http://mondyndns.org au lieu de http://mondyndns.org/doc Maintenant comme on ne souhaite pas que les accès extérieurs remontent le dossier /doc et accèdent dans /web il suffit de créer un fichier index.html dans le dossier /web qui va rediriger automatiquement vers http://mondyndns.org/doc <html> <head> <title>http://mondyndns.org/doc</title> <meta http-equiv="refresh" content="1; URL=http://mondyndns.org/doc"> </head> </html> c'est un exemple qu'on peut adapter, ou ça peut être une page d'info, une page d'erreur, etc. je vous laisse l'imagination (toujours mettre un fichier index.html dans le dossier /web sinon vous êtes redirigé vers l'administration du nas http://mondyndns.org:5000) ou sinon on pourra utiliser un domaine ou un sous.domaine (c'est gratuit quand on a un domaine) et paramétrer un virtual-host dans le syno accédant au dossier /doc dans ce cas pas de possibilité de remonter le dossier puisqu'on accède au dossier directement en tapant http://www.mondomaine.fr ou http://www.sous.mondomaine.fr Ajouter des icônes manquantes maintenant j'avais parlé au début de ce tuto d'ajout d'autres icônes, il suffit d'ajouter dans le fichier de conf /usr/syno/apache/conf/extra/httpd-autoindex.conf-user soit plus simplement dans notre fichier .htaccess les icônes à rajouter doivent êtres au format 20x22 pixels (j'ai mis dans le fichier icons.zip, 4 icones en plus, excel.gif, word.gif, ppt.gif, pdf.gif) ajout: AddIcon /icons/excel.gif .xls .xlsx AddIcon /icons/word.gif .doc .docx AddIcon /icons/ppt.gif .ppt .pptx AddIcon /icons/pdf.gif .pdf exceptionnement vous pouvez mettre une ligne dans le fichier .htaccess qui sera prioritaire sur le fichier de conf pour changer une icône si vous faites la modif dans le fichier de conf, pour l'icone "pdf" il faut modifier la ligne : AddIcon /icons/layout.gif .html .shtml .htm .pdf par AddIcon /icons/layout.gif .html .shtml .htm nota : si modification du fichier de conf relancer le serveur apache par : /usr/syno/etc/rc.d/S97apache-user.sh restart Voila le résultat : nota : pour comprendre le lien entre le nom de l'icône et l'extension du fichier faire un cat /usr/syno/apache/conf/extra/httpd-autoindex.conf-user et regarder les lignes commençant par : AddIcon vous avez remarqué qu'il y a quand même une icône (Point d'interrogation) sur les extensions non déclarées et bien sure, il faut mettre les nouveaux icônes toujours dans : /usr/syno/apache/icons/ si vous remarquez un complément à apporter merci de me contacter par MP Et si vous avez utilisé mon tuto pour vos besoins vous pouvez laisser un commentaire sur le sujet Merci Patrick Lien vers le commentaire Partager sur d’autres sites More sharing options...
Webman Posté(e) le 14 mai 2011 Partager Posté(e) le 14 mai 2011 C'est exactement ce que je cherchais, je vais tester Lien vers le commentaire Partager sur d’autres sites More sharing options...
Webman Posté(e) le 15 mai 2011 Partager Posté(e) le 15 mai 2011 Hello, De retour de mon test, ça fonctionne super bien, j'ai juste un petit bémol pour les droits d'accès sur les dossiers. Peux t'on en définir ? L'utilisateur pourrait avoir accès a certains dossiers mais pas aux autres ! Si tu as une idée Patrick Merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
PatrickH Posté(e) le 15 mai 2011 Partager Posté(e) le 15 mai 2011 Pour prot Lien vers le commentaire Partager sur d’autres sites More sharing options...
Webman Posté(e) le 15 mai 2011 Partager Posté(e) le 15 mai 2011 Merci Patrick (l'autre) J'ai effectivement mis un fichier .htaccess dans les dossiers que je voulais protéger pour les utilisateurs. Le code est le suivant : order deny,allow deny from all require user (nom utilisateur) </LIMIT> Ce code permet de cacher le dossier pour les utilisateurs qui n'ont pas accès tout simplement Je préférerais générer une page d'erreur 401 dans les dossiers dont les utilisateurs n'ont pas accès (ça évite que les dossiers soient cachés) Mais je ne connais ni le code ni la manière. Si une idée vous viens ? Merci à tous Lien vers le commentaire Partager sur d’autres sites More sharing options...
Patrick21 Posté(e) le 15 mai 2011 Auteur Partager Posté(e) le 15 mai 2011 Merci Patrick (l'autre) J'ai effectivement mis un fichier .htaccess dans les dossiers que je voulais protéger pour les utilisateurs. Le code est le suivant : order deny,allow deny from all require user (nom utilisateur) </LIMIT> Ce code permet de cacher le dossier pour les utilisateurs qui n'ont pas accès tout simplement Je préférerais générer une page d'erreur 401 dans les dossiers dont les utilisateurs n'ont pas accès (ça évite que les dossiers soient cachés) Mais je ne connais ni le code ni la manière. Si une idée vous viens ? Merci à tous Bonsoir en ajoutant une authentification par login et mdp comme expliquer dans mon tuto tu places le meme fichier .htaccess que tu as mis dans ton dossier dans le sous-dossier, tu y ajoutes le code de demande d'authentification et tu y mets le fichier .htpasswd /web/doc - .htaccess /web/doc/dossier/ .htaccess (+ lignes de demande d'authentification) /web/doc/dossier/ .htpasswd (contenant les users et mdp) ou simplement en masquant le ou les dossiers en ajoutant leur nom sur la ligne "IndexIgnore nomdudossier1 nomdudossier2 Patrick Lien vers le commentaire Partager sur d’autres sites More sharing options...
Yokav Posté(e) le 7 juin 2011 Partager Posté(e) le 7 juin 2011 Personnellement je pr Lien vers le commentaire Partager sur d’autres sites More sharing options...
scrap74 Posté(e) le 21 juin 2011 Partager Posté(e) le 21 juin 2011 Bonjour Patrick21 ! Moi j'ai un problème ! Je bloque à la première étape ! J'ai créer le dossier "doc" dans "web", et j'ai mis en place le .htaccess dans "doc" comme dans le tuto. Mais en tapant l'adresse de mon nas en http en rajoutant /doc à la fin, je tombe toujours sur la page d'erreur de synology ! Pour info, j'ai un site et un blog WordPress chacun dans un répertoire. Ce qui me donne dans le dossier web: site -> pour le site. blog -> pour le blog doc -> pour le dl via http J'ai fais aussi une redirection des noms de domaines (du blog et du site) depuis l'hôte virtuel du service web du syno vers leurs dossiers respectif. Est ce que le problème pourrait venir de là ? Merci d'avance pour ton aide ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Patrick21 Posté(e) le 21 juin 2011 Auteur Partager Posté(e) le 21 juin 2011 Bonsoir as tu bien dans le .htaccess la ligne : Options +Indexes et as tu rafraichi l'affichage de ta page "F5" Patrick Lien vers le commentaire Partager sur d’autres sites More sharing options...
scrap74 Posté(e) le 21 juin 2011 Partager Posté(e) le 21 juin 2011 Bonsoir as tu bien dans le .htaccess la ligne : Options +Indexes et as tu rafraichi l'affichage de ta page "F5" Patrick Merci pour cette rapidit Lien vers le commentaire Partager sur d’autres sites More sharing options...
Patrick21 Posté(e) le 21 juin 2011 Auteur Partager Posté(e) le 21 juin 2011 Bonsoir contactes moi en MP Patrick Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kastor Posté(e) le 22 juin 2011 Partager Posté(e) le 22 juin 2011 Est-il possible de configurer le .htaccess pour que l'authentification se fasse avec les users param Lien vers le commentaire Partager sur d’autres sites More sharing options...
scrap74 Posté(e) le 22 juin 2011 Partager Posté(e) le 22 juin 2011 Hey ! Mon probl Lien vers le commentaire Partager sur d’autres sites More sharing options...
Patrick21 Posté(e) le 23 juin 2011 Auteur Partager Posté(e) le 23 juin 2011 Est-il possible de configurer le .htaccess pour que l'authentification se fasse avec les users param Lien vers le commentaire Partager sur d’autres sites More sharing options...
squale Posté(e) le 19 juillet 2011 Partager Posté(e) le 19 juillet 2011 Voila un super tuto, clair, pr Lien vers le commentaire Partager sur d’autres sites More sharing options...
Patrick21 Posté(e) le 19 juillet 2011 Auteur Partager Posté(e) le 19 juillet 2011 Voila un super tuto, clair, précis et que j'arrive à exploiter. Donc un grand merci. Mais un chtit coup de main serait le bienvenu : j'ai la page "introuvable" du Syno dès que j'introduis la ligne Server Signature off dans le .htaccess. Un Serveur Signature on ne marche pas mieux. En gros cette ligne fait tout foirer. je vois pas pourquoi, mes tests ont fonctionné (c'est "ServerSignature" sans espace) mais cette ligne n'est pas crutiale si tu fais un fichier de fin de page README.html même punition si j'ajoute(toujours dans le .htaccess) User-Agent: * Disallow: / Bref, le tuto est excellent mais l'utilisateur moyen-moyen Merci Tu as mal lu le tuto, ces 2 lignes sont a mettre dans le fichier robots.txt Patrick Lien vers le commentaire Partager sur d’autres sites More sharing options...
squale Posté(e) le 19 juillet 2011 Partager Posté(e) le 19 juillet 2011 je vois pas pourquoi, mes tests ont fonctionné (c'est "ServerSignature" sans espace) mais cette ligne n'est pas crutiale si tu fais un fichier de fin de page README.html Tu as mal lu le tuto, ces 2 lignes sont a mettre dans le fichier robots.txt Patrick J'ai honte ... tu as raison sur les 2 points bien sûr ... et d'ailleurs je venais d'aller consulter les log Apache qui disaient la même chose. Je suis vraiment un cloooown fatigué @+++ Lien vers le commentaire Partager sur d’autres sites More sharing options...
Patrick21 Posté(e) le 13 février 2012 Auteur Partager Posté(e) le 13 février 2012 Bonjour si vous utilisez ou l'avez utilisé, n'hesitez pas a en faire un retour par un commentaire Merci Patrick Lien vers le commentaire Partager sur d’autres sites More sharing options...
mafiaman42 Posté(e) le 2 mars 2012 Partager Posté(e) le 2 mars 2012 (modifié) Merci pour ce tuto Patrick. Je bloque à la première étape, c'est à dire qu'après avoir mis le .htaccess dans /volume1/web/doc et avoir rajouter des fichiers, j'ai toujours la page d'erreur du Syno. Mon fichier a bien été encodée au format UTF-8 ... Une idée ? Merci EDIT : A force de bidouiller mon fichier, j'ai réussi à passer cette étape Modifié le 2 mars 2012 par mafiaman42 Lien vers le commentaire Partager sur d’autres sites More sharing options...
dede17 Posté(e) le 8 mai 2012 Partager Posté(e) le 8 mai 2012 (modifié) Hello merci pour cette excellent tuto! tout foi j'ai un souci, je ne comprend pas pourquoi j'ai un dossier @eaDir/ et Thumbs.db qui s'affiche ? Modifié le 8 mai 2012 par dede17 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Erialos Posté(e) le 9 mai 2012 Partager Posté(e) le 9 mai 2012 Bonsoir d'après ce qui est écrit "on va maintenant essayer d'accéder à http:/ipdunas/doc et on optient (après avoir mis 3 fichiers et un dossier)" c’est toi qui choisi les fichiers à partager , je le voit comme ça ? A++ Lien vers le commentaire Partager sur d’autres sites More sharing options...
Patrick21 Posté(e) le 10 mai 2012 Auteur Partager Posté(e) le 10 mai 2012 Hello merci pour cette excellent tuto! tout foi j'ai un souci, je ne comprend pas pourquoi j'ai un dossier @eaDir/ et Thumbs.db qui s'affiche ? Bonjour Pour ne pas afficher certains fichiers ou dossiers, il suffit de les ajouter sur la ligne (comme expliqué dans me tuto) : IndexIgnore .. Thumbs.db /@eaDir Patrick Lien vers le commentaire Partager sur d’autres sites More sharing options...
kaza7 Posté(e) le 25 juin 2012 Partager Posté(e) le 25 juin 2012 (modifié) Bonjour, j'ai suivi ce tuto et ça fonctionne bien en local (http:ipduNAS/doc). par contre, comme je suis en https depuis l'extérieur, comment accéder à ce dossier /doc depuis l'extérieur en utilisant https? j'ai essayé ceci : https://dns:port/doc/ (sachant que port est redirigé vers le 443), mais ça ne fonctionne pas (j'ai la page synology m'indiquant que la page est introuvable!) y'a t-il une manip spéciale pour le https? je précise juste que j'accède bien à mon syno depuis l'ext en https (https://dns:port) Merci edit:pb réglé pour moi, le port 443 étant déjà utilisé, fallait ouvrir le 5001 (ceci étant juste un test). Modifié le 25 juin 2012 par kaza7 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Invité sank64 Posté(e) le 7 décembre 2012 Partager Posté(e) le 7 décembre 2012 (modifié) Bonjour à tous, Quand on a pas webstation (usbstation 2), on fait comment pour avoir un dossier web ? J'ai essayé de mettre un .htaccess pour différents dossiers dans l'arborescence du nas via ssh mais lorsque j'essaye d'atteindre https://ip.du.nas:5001/dossier, j'ai la page d'erreur de synology. J'assaye de trouver une solution sur ce forum et google mais je n'arrive à rien. Est ce qu'il y a un dossier dédié dans la configuration du serveur d'apache ? Je suis un peu perdu qu'on puisse utiliser un chemin pour le dossier dans la barre d'adresse qui s'appelle juste web quand le chemin sur le nas est au moins volume1/web, et dans mon cas vu que l'ipkg est sur une clef usb c'est volumeUSB1/usbshare/@optware/web. Est ce que c'est toute cette adresse que je devrais utiliser ? Kevin Modifié le 8 décembre 2012 par sank64 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Patrick21 Posté(e) le 9 décembre 2012 Auteur Partager Posté(e) le 9 décembre 2012 Bo Bonjour à tous, Quand on a pas webstation (usbstation 2), on fait comment pour avoir un dossier web ? J'ai essayé de mettre un .htaccess pour différents dossiers dans l'arborescence du nas via ssh mais lorsque j'essaye d'atteindre https://ip.du.nas:5001/dossier, j'ai la page d'erreur de synology. J'assaye de trouver une solution sur ce forum et google mais je n'arrive à rien. Est ce qu'il y a un dossier dédié dans la configuration du serveur d'apache ? Je suis un peu perdu qu'on puisse utiliser un chemin pour le dossier dans la barre d'adresse qui s'appelle juste web quand le chemin sur le nas est au moins volume1/web, et dans mon cas vu que l'ipkg est sur une clef usb c'est volumeUSB1/usbshare/@optware/web. Est ce que c'est toute cette adresse que je devrais utiliser ? Kevin Bonjour si tu n'as pas de serveur web, ce tuto n'est pas pour toi pour l’accès aux dossiers, il suffit d'utiliser les fonctions d’accès a l'usb2 sans aucune modification Patrick Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés