Nafoot Posté(e) le 18 juillet 2015 Posté(e) le 18 juillet 2015 (modifié) Bonjour, J'aimerais donner une autorisation d'accès à apache lorsque je lance un container sous Docker car je tombe tout le temps sur une erreur 403 forbidden et j'ai lu ici et là que l'accès était refusé par défaut! Ma question est: Quel est le fichier à modifier pour donner un accès total? (J'ai cru comprendre que c’était un fichier httpd.conf mais il y en à plusieurs (user, sys, etc...)) Quelles lignes dois-je modifier?? Par quelle commande dois-je modifier car j'ai vu que c'etait different selon apache 2.2 et 2.4 et appriori le syno tourne sous 2.2 DANS MON CAS, CECI EST-IL UTILE?? Pour un exemple plus concret, considérez ce qui suit. Sans tenir compte de toute restriction d'accès placée dans les sections <Directory>, la section <Location> sera évaluée en dernier et permettra un accès au serveur sans aucune restriction. En d'autres termes, l'ordre de la combinaison des sections est important, soyez donc prudent ! <Location />Order deny,allowAllow from all</Location>:if expand("%") == ""|browse confirm w|else|confirm w|endif # Arrghs! Cette section <Directory> n'aura aucun effet<Directory />Order allow,denyAllow from allDeny from badguy.example.com</Directory> MERCI!! Modifié le 18 juillet 2015 par Nafoot 0 Citer
Fenrir Posté(e) le 18 juillet 2015 Posté(e) le 18 juillet 2015 J'aimerais donner une autorisation d'accès à apache lorsque je lance un container sous Docker peux expliquer ce que tu veux faire au final ? 1 Citer
Nafoot Posté(e) le 20 juillet 2015 Auteur Posté(e) le 20 juillet 2015 Bien sur! Voila, j'ai installé un container qui se lance avec docker (en l'occurrence "Airtime") et lorsque je lance airtime, je tombe sur une page 403 Forbidden qui me dit que je n'ai pas l'autorisation Apache 4.7.2 appriori déjà c'est louche étant donné que nous somme sur syno en Apache 2.2!! 0 Citer
Fenrir Posté(e) le 20 juillet 2015 Posté(e) le 20 juillet 2015 C'est le serveur apache du conteneur qui t’envoie ce message :), pas celui du syno 1 Citer
Nafoot Posté(e) le 20 juillet 2015 Auteur Posté(e) le 20 juillet 2015 Ok merci!!! Donc c'est le container qui n'est pas bon! Je peux faire quelque chose pour que ca fonctionne?? 0 Citer
Fenrir Posté(e) le 20 juillet 2015 Posté(e) le 20 juillet 2015 tu peux corriger la conf à l'intérieur du conteneur si tu y a accès. ou encore le lancer avec un shell en option : docker run -i -t conteneur /bin/bash ou encore créer un Dockerfile qui intègre le correctif ... plein de manière de faire, mais je te recommande de commencer par ici : https://docs.docker.com/userguide/ 1 Citer
Nafoot Posté(e) le 21 juillet 2015 Auteur Posté(e) le 21 juillet 2015 (modifié) aie!! là j'ai bien peur d'etre trop noob pour me lancer la dedans, ça m'interresse de tester ça mais je doute qu'il y ait quelqu'un de motivé pour le driver :s Mais si ça te tente, je suis prêt à devenir ton padawan, je suis sur que je vais apprendre plein de trucs lol??? Merci en tous cas pour ton aide!! je vais aller faire un tour voir tout ça!!! Modifié le 21 juillet 2015 par Nafoot 0 Citer
Nafoot Posté(e) le 21 juillet 2015 Auteur Posté(e) le 21 juillet 2015 (modifié) Voilà le container que j'utilise : https://registry.hub.docker.com/u/sjourdan/airtime-docker/ Modifié le 21 juillet 2015 par Nafoot 0 Citer
Fenrir Posté(e) le 21 juillet 2015 Posté(e) le 21 juillet 2015 (modifié) Sur la doc de ton conteneur, il est écrit : The Airtime container will be available from https://localhost. Tu peux donc utiliser un reverse proxy (le paquet haproxy de la communauté synology) pour "contourner" la restriction. Mais le plus simple c'est de lever cette restriction (probablement juste la conf d'apache ou un .htaccess à modifier) Démarre le conteneur une première fois avec cette commande (à faire en ssh sur le syno) : docker run -i -t --name testairtime sjourdan/airtime-docker /bin/bash Tu devrais te retrouver "dans" le conteneur, ensuite tu as juste à fouiller dans les conf (apache, .htaccess, ...) pour trouver où est la restriction est la faire sauter. Ensuite il te suffira de relancer le conteneur avec les bonne options (il devrait apparaitre dans la liste des conteneur de l'appli docker du synology) Modifié le 22 juillet 2015 par Fenrir 1 Citer
Nafoot Posté(e) le 22 juillet 2015 Auteur Posté(e) le 22 juillet 2015 ok voila ce que j'ai lorsque j’exécute la commande : /$ docker run -i -t --name airtime sjourdan/airtime /bin/bashFATA[0000] cannot enable tty mode on non tty input Je vais essayer de trouver les fichiers apache, .htaccess je te tiens au courant merci beaucoup!! 0 Citer
Nafoot Posté(e) le 22 juillet 2015 Auteur Posté(e) le 22 juillet 2015 Je crois que j'ai trouvé le container sur SSH par contre pas de traces de fichiers apache ou htaccess (pour le moment) mais j'ai des fichiers dont hostconfig.json qui contient : {"Binds":null,"ContainerIDFile":"","LxcConf":null,"Memory":0,"MemorySwap":0,"CpuShares":50,"CpusetCpus":"","Privileged":false,"PortBindings":{"443/tcp":[{"HostIp":"0.0.0.0","HostPort":"8443"}]},"Links":null,"PublishAllPorts":false,"Dns":null,"DnsSearch":null,"ExtraHosts":null,"VolumesFrom":null,"Devices":null,"NetworkMode":"","IpcMode":"","PidMode":"","CapAdd":null,"CapDrop":null,"RestartPolicy":{"Name":"","MaximumRetryCount":0},"SecurityOpt":null,"ReadonlyRootfs":false,"Ulimits":null,"LogConfig":{"Type":"","Config":null},"CgroupParent":"","Env":null,"Override":true} 8443 étant le port que j'ai ouvert sur le container et aussi un fichier resolv.conf qui contient : nameserver 192.168.0.xxx mais c'est l'adresse de ma freebox et non de mon syno... 0 Citer
Fenrir Posté(e) le 22 juillet 2015 Posté(e) le 22 juillet 2015 J'ai testé vite fait, le conteneur, mais surtout le paquet (setup) ne sont pas bons. Ton erreur est, entre autre, due au fait qu'apache est configuré pour afficher un dossier qui est vide. il y a d'autres erreurs, mais je ne vais pas en faire le tour. =>ce conteneur n'est pas utilisable en l'état, le dev a du louper un truc => contact le créateur du conteneur pour lui indiquer le problème Par contre l'installation manuelle à partir des sources n'a pas l'air compliquée : http://sourcefabric.booktype.pro/airtime-25-for-broadcasters/manual-installation/ Sinon, il y a un autre conteneur sur dockerhub, okvic77/docker-airtime, qui lui a l'air de marcher 1 Citer
Nafoot Posté(e) le 22 juillet 2015 Auteur Posté(e) le 22 juillet 2015 Merci Fenrir! j'ai déjà essayé de contacté le créateur mais pas réponse de sa part! Bon bah écoute je vais essayer d'installer le container que tu m'as donné et après on verra bien! au pire j'essaie de me lancer dans l'installation manuelle ce m'apprendra un peu à faire ça c'est tout bénef !! merci en tous cas, je te tiens au courant !!!! 0 Citer
Nafoot Posté(e) le 22 juillet 2015 Auteur Posté(e) le 22 juillet 2015 (modifié) hohoooooooooooo!!! ça se lance c'est pas magnifique tous ça!!! Bien sûr ça aurait été trop facile que ça fonctionne du premier coup lol voila ce que me demande le setting d'airtime : Couldn't establish a connection to the database! Please check your credentials and try again. PDO Exception: SQLSTATE[08006] [7] could not connect to server: Connection refused Is the server running on host "localhost" (::1) and accepting TCP/IP connections on port 5432? could not connect to server: Connection refused Is the server running on host "localhost" (127.0.0.1) and accepting TCP/IP connections on port 5432? En gros , si j('ai bien compris il faut que j'ouvre le port 5432 en TCP pour le localhost!!! Je fais ça comment parce que sur le panneau de configuration/ accès externe/configuration du routeur, je ne peux pas assigner une ouverture de port sur le localhost 127.0.0.1 !!! Modifié le 22 juillet 2015 par Nafoot 0 Citer
Fenrir Posté(e) le 23 juillet 2015 Posté(e) le 23 juillet 2015 je pense qu'il a besoin d'une base de données vu le port, c'est du postgresql Soit il y a déjà une base dans le conteneur, dans ce cas elle n'a peut être pas démarrée ou n'est pas correctement configurée, soit il n'y en a pas, dans ce cas installe un conteneur postgresql et "link" ton conteneur airtime à ce nouveau contenur, si le 2 conteneurs sont bien fait, ça devrait marcher. 1 Citer
Nafoot Posté(e) le 23 juillet 2015 Auteur Posté(e) le 23 juillet 2015 Ok!!! Moi qui pensais en avoir presque fini avec ca.... Bon je vais me pencher la dessus ce soir!!! Je pense avoir à peu prêt compris avec ton explication, après, la méthode c'est pas ca Lôl! Je vais commencer par trouver/installer un container postgresql c'est ve qui me paraît le plus simple à faire....pour le moment!! En ts cas on avance c'est cool!!! Merci!! 0 Citer
Nafoot Posté(e) le 24 juillet 2015 Auteur Posté(e) le 24 juillet 2015 (modifié) Salut!! Bon alors, j'ai trouvé celui là qui avait l'air pas mal : https://github.com/orchardup/docker-postgresql J'ai réussi à l'installer mais lorsque je veux le "linker" à airtime, j'ai une colonne nommée "alias" et je ne sais pas à quoi ça correspond!!! Une petite idée?? Ps: faut-il que je lui ouvre des ports tcp et si oui quel port local et quel port de conteneur? Merci!! Modifié le 24 juillet 2015 par Nafoot 0 Citer
Fenrir Posté(e) le 24 juillet 2015 Posté(e) le 24 juillet 2015 Si tu regardes la page de ton lien, il est écrit : Note: There is now an official Postgres image available so this image is no longer maintained. We recommend you switch to using that image. => https://registry.hub.docker.com/_/postgres/ Tu trouveras les paramètres (variables d’environnement et comment faire le lien) sur le page 0 Citer
Nafoot Posté(e) le 24 juillet 2015 Auteur Posté(e) le 24 juillet 2015 Ja je crois que je l'ai télécharger aussi celui là aussi! Bon je part en vacance donc je regarderais ça en rentrant et c te fera une petite pause pour mes questions de Noob!!! merci encore pour ta patience et ton aide Fenrir!!! 0 Citer
Nafoot Posté(e) le 25 août 2015 Auteur Posté(e) le 25 août 2015 (modifié) Salut @Fenrir J’espère que t'as la forme, Me revoilà avec mes tests... plus ou moins réussis lol plutôt ratés arf!!!!! bon alors j'ai bien essayé de lancer les links comme c'est expliqué ici : https://hub.docker.com/_/postgres/ $ docker run --name some-app --link some-postgres:postgres -d application-that-uses-postgres mais bon ca ne donne rien j'ai toujours des messages d'erreurs, ça doit venir des liens que je donne vu que airtime est dans des dossiers docker fait de chiffres et de lettres genre: /volume1/@docker/containers/4e5d354798c07db778bc890c34377b9632cf2ef34533e531c6e296f5038207fb Bref j'ai vu aussi qu'on pouvait gérer les links directement dans docker sur le dsm... ça c'est surement plus facile, enfin peut être!! d'ailleurs, j'ai essayé de linker par docker sur le dsm et en lançant postgres il me dit qu'il dépend de airtime et qu'il me le lance avec donc je suppose qu'il est bien linké !! Et lorsque je me logue avec airtime j'ai toujours le problème que j'avais : Couldn't establish a connection to the database! Please check your credentials and try again. PDO Exception: SQLSTATE[08006] [7] could not connect to server: Connection refused Is the server running on host "localhost" (::1) and accepting TCP/IP connections on port 5432? could not connect to server: Connection refused Is the server running on host "localhost" (127.0.0.1) and accepting TCP/IP connections on port 5432? Sinon tu peux peut-être m'aider sur la ligne de commande au dessus!! merci!!! Modifié le 25 août 2015 par Nafoot 0 Citer
Fenrir Posté(e) le 26 août 2015 Posté(e) le 26 août 2015 Je viens de tester, l'image contient déjà un serveur postgresql, tu as juste créer le conteneur : docker run --name test-airtime -p 8001:80 -d okvic77/airtime Pas besoin de l'image de postgres. Sinon pour ta culture, pour linker 2 conteneurs, il faut que le premier existe docker run --name test-postgres -e POSTGRES_PASSWORD=password -d postgres docker run --name test-appli --link test-postgres:alias-postgres -p 1234:5678 -d image-appli La première commande par créer un conteneur nommé test-postgres à partir de l'image postgres, la seconde commande va créer un conteneur test-appli à partir de l'image image-appli et lier ce conteneur au conteneur test-postgres. 1 Citer
Nafoot Posté(e) le 26 août 2015 Auteur Posté(e) le 26 août 2015 (modifié) woooooooooooooooooooowwwwwwww au TOP @Fenrir ça fonctionne parfaitement c'est génial merci merci merci beaucoup pour ton aide car sans toi je n'y serais jamais parvenu et du coups j'ai appris quelques truc (bon pas grand chose car tu m'as bien mâché le travail!!! Bon j'ai essayé de refaire ça propre en enlevant le "test" de airtime mais ça n'as pas fonctionné... heuuu je suis pas encore tout à fait au point lol en même temps j'avais hâte de tester donc je réessayerais pour voir par contre en réinstallant y me disais que le tes airtime existait déja donc y a un moyen de supprimer proprement?? (bon je sais je te saoul pour l'installer et maintenant je veux le désinstaller lol mais c'est pour que ça soit plus propre ) Une petite question en passant comment je fais pour localiser le dossier où est installé airtime car je ne le trouve pas et je suppose qu'il est dans @docker/... parce que je vois partout /srv/airtime sur les aides et forum mais moi je n'arrive pas à le localiser!! En tous cas Encore merci pour ta patience... t'assures!!!! Modifié le 26 août 2015 par Nafoot 0 Citer
Fenrir Posté(e) le 26 août 2015 Posté(e) le 26 août 2015 Afficher la liste des containers : docker ps -a Supprimer un container : docker rm ID du container Supprimer un container lancé : docker rm -f ID du container Afficher la liste des images : docker images Supprimer une image : docker rmi ID de l'image Pour accéder au contenu d'un container, il y a plusieurs méthodes : le plus simple, mais c'est déconseillé sauf en dev : tu peux lancer le container en lui attachant un shell : https://docs.docker.com/articles/basics/ le plus propre : tu montes les dossiers dont tu as besoin (ce n'est pas toujours possible, ça dépend de comment a été créé l'image) le plus courant mais pas recommandé : tu ajoutes une application dans le container qui te permet de le gérer (ssh, webmin, ...), idéalement en créant un Dockerfile si c'est juste pour exécuter des commandes, docker exec est suffisant Après il y a plein d'autres manières et d'outils de gestion, mais dans tous les cas, il ne faut pas modifier le filesystem d'un container depuis l'hôte. Commence par faire un : docker inspect okvic77/airtime Ça devrait t'afficher les infos de l'images (on voit d'ailleurs qu'il y a 2 ports en écoute, il faut donc modifier la commande de lancement) Ensuite recréé un container avec un sheel, regarde comment est installée l'appli Je ne vais pas rentrer plus dans les détails, trop long, mais tu as tout dans les docs officielles de docker 0 Citer
Nafoot Posté(e) le 27 août 2015 Auteur Posté(e) le 27 août 2015 Bon bah ok merci pour ces info encore une fois. je commence doucement à comprendre! C'est pas gagné c'est encore un peu du chinois pour moi mais c'est mes premiers pas... Moi je passe par WinSCP pour voir les dossiers etc... mais je suppose que l'idéal c'est de tout faire par les commandes... Ca sera ma prochaine étape! utiliser et comprendre les commandes !! En fait je te demandais ça parce que je voulais localiser le dossier où vont se stocker les musiques que je up dans airtime et aussi pour voir si je pouvais changer le dossier car dans le logiciel, il me propose bien se changer le dossier mais malheureusement je ne peux pas choisir n'importe où dans le nas, moi j'aurais bien choisi mon dossier Music.... Tant qu'à faire Lôl Bizarre tu me diras mais j'ai vu qu'il y avait un script pour ca mais faut-il encore savoir où le lancer et si il est fonctionnel sur cette image là de airtime!! :) 0 Citer
Fenrir Posté(e) le 27 août 2015 Posté(e) le 27 août 2015 Tu peux monter un dossier de ton nas DANS un dossier du conteneur, il faut juste faire attention à ce qu'on fait 1 Citer
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.