Portál AbcLinuxu, 12. května 2025 07:01

Dotaz: Apache: jak nabídnout soubor ke stažení?

9.6.2006 08:59 mira-m
Apache: jak nabídnout soubor ke stažení?
Přečteno: 299×
Odpovědět | Admin
Mám takový problém jak přesvědčit apache aby soubory zobrazené na web.stránce nabídl ke stažení. Apache běží jako uživatel "wwwrun" ,po rozbalení adresáře jsou zobrazeny soubory 1.txt a 1.dat ale při pokusu o otevření je přístup odmítnut nebo zobrazeny na web stránce "r-x" - to nechci. 1.txt,1.dat prava ke stažení --x ??

chown -R wwwrun adresář

výpis z error_log

mod_mime_magic:can`t read

file permissions deny server access

v souboru mime.types

text/plain asc txt c cc h nějak nevím kam šáhnout. Děkuji
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Josef Kufner avatar 9.6.2006 09:20 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: dotaz na APACHE
Odpovědět | | Sbalit | Link | Blokovat | Admin
'x' není stažení, ale spuštění. Pokud chceš soubor přečíst (což chceš), tak tě zajímá jen 'r'. Tj. máš tam mít 'r--' nebo víc.
Hello world ! Segmentation fault (core dumped)
9.6.2006 09:25 mira-m
Rozbalit Rozbalit vše Re: dotaz na APACHE
ja ho nechci číst ale stáhnout
Josef Kufner avatar 9.6.2006 09:49 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: dotaz na APACHE
Co chceš ty je celkem jedno. Podstatné je to, co chce Apache.
Hello world ! Segmentation fault (core dumped)
9.6.2006 09:58 JirkaV
Rozbalit Rozbalit vše Re: dotaz na APACHE
1) Ten tvuj dotaz se dost spatne cte (spatna interpunkce, divne zalamane radky)

2) Na souborech musi mit Apache pravo ke cteni, jinak ho on sam nemuze precist aby ho poslal webovemu browseru nsvstevnika

3) Vypada to, ze mas problem s pravy u konfiguracnich souboru a Apache nemuze precist sve vlastni nastaveni MIME (obvykle v $ServerRoot/conf)

4) Pokud jsem spravne pochopil, tak ti vadi ze se zobrazuji na webu seznamy souboru v danem adresari, pokud nekdo zada nepresne/necele URL na soubor. V tom pripade te zajima nasvaveni Options (http://httpd.apache.org/docs/2.0/mod/core.html#options) v httpd.conf. Jeste jednodussi (ale pak to plati pro cely Apache - zjednodusene) je zakazani mod_autoindex (hledej LoadModule autoindex.c v httpd.conf).

Snad jsem pomohl.
9.6.2006 10:28 mira-m
Rozbalit Rozbalit vše Re: dotaz na APACHE
Zobrazí se adresář se soubory (správně).Když souborům povolím čtení tak se normálně otevřou (špatně), chtěl jsem pouze možnost stažení.
9.6.2006 10:36 JirkaV
Rozbalit Rozbalit vše Re: dotaz na APACHE
Aha, uz jsem pochopil problem :)

V tom pripade je potreba v souboru mime.types nastavit ze pripona souboru (.c nebo co momentalne maji) neni text/plain, ale application/octet-stream. Projevi se to ale na vsech souborech na webserveru.

Pokud by se to pro danou priponu melo aplikovat jenom nekde, bude potreba to naskriptovat (v PHP, Perlu nebo necem takovem)
9.6.2006 10:45 peter
Rozbalit Rozbalit vše Re: dotaz na APACHE
kazdopadne by sa musel zmenit v mimetype typ suborov ako pisal jirkaV,ja to mam /etc/mime.types
9.6.2006 10:38 peter
Rozbalit Rozbalit vše Re: dotaz na APACHE
ale to nieje problem apache ,ale to si browser otvori ten subor ,a co tak skusit prave tlacidlo a ulozit ako ... neviem co konkretne chcete urobit
9.6.2006 11:23 mira-m
Rozbalit Rozbalit vše Re: dotaz na APACHE

Změnil jsem v "mime.types"

aplication/octet-stream dat txt

Zajímavé je že subory např.600k zobrazí ale 1,7M nabídne ke stažení

9.6.2006 11:52 JirkaV
Rozbalit Rozbalit vše Re: dotaz na APACHE
Jestli zobrazit nebo nabidnout ke stazeni je veci browseru. Server mu jenom rika jaky typ souboru (podle dohodnutych pravidel MIME) mu posila, takze treba na PDF se startuje Acrobat jenom proto ze v MIME se posle application/x-pdf (ve skutecnosti to je trochu slozitejsi, hlavne u MSIE).

Ty jsi spravne zmenil popis z "text" na "obecna data". Pokud browser (MSIE?) zobrazuje i "obecna data", je to kvuli tomu ze u Microsoftu chteli zase jednou byt inteligentnejsi nez standardy.

Na strane Apache muzes jeste udelat 2 veci:

- zkontrolovat ze _vzdy_ pro vsechny soubory (maji stejnou koncovku, ze?) posilas application/octet-stream. But sniffovanim na siti (treba Wireshark), nebo zobrazenim na strane prohlizece (trebe Live HTTP Headers pro Firefox).

- pokud to server posila vzdy spravne, pak uz mas jedinou sanci - zmenit mime.types na neco opravdu zvlastniho a jeste obecnejsiho nez je octet-stream, potom uz jenom doufat ze tenhle trik "zblbne" ten algoritmus pro "inteligentni rozpoznavani obsahu" u prohlizece.

- Jo a jeste treti moznost (nekdo uz to tady zminil) - vyzvat uzivatele aby na souboru dali pravym tlacitkem "Save Target As" :)
9.6.2006 12:33 mira-m
Rozbalit Rozbalit vše Re: dotaz na APACHE
Na jiném serveru distribuce Debian , Apache... toto bezproblémů běží ,ale nejsem správcem ,proto jsem chtěl spustit svůj SuSE ,Apache 1,3.23.Ve finále tam budou aktualizace pro určité zařízení,které ověří strukturu a stahne nové.
9.6.2006 12:36 miso | skóre: 36 | blog: iSCSI_initiator_howto | Praha
Rozbalit Rozbalit vše Re: dotaz na APACHE
Nesuvisi s problemom, len tak mimochodom : dost stara verzia ;-)
Project Satan infects Calculon with Werecar virus
9.6.2006 14:04 JirkaV
Rozbalit Rozbalit vše Re: dotaz na APACHE
Proc stara? Jenom asi dva nebo tri roky, ani na ni neexistuje moc exploitu ;-)

Ale vazne - dobra pripominka, myslim ze tahle verze ma dokonce problem s chunked-encoding a to byla dost velka dira :(
9.6.2006 13:43 mira-m
Rozbalit Rozbalit vše Re: dotaz na APACHE
toto nebude pro uživatele ,ale pro zařízení které si skontroluje strukturu adresaře a stahne případnou aktualizaci
9.6.2006 14:05 JirkaV
Rozbalit Rozbalit vše Re: dotaz na APACHE
A nebyl by v tom pripade mnohem lepsi rsync? (pokud ho to zarizeni podporuje)
9.6.2006 14:22 mira-m
Rozbalit Rozbalit vše Re: dotaz na APACHE
je to jenom nějaký hloupý terminál který volá HTTP-GET adresa
9.6.2006 14:14 podlesh | skóre: 38 | Freiburg im Breisgau
Rozbalit Rozbalit vše Re: dotaz na APACHE
Tak v tom případě nechápu proč zde řešíš problémy s browserem, když tam zřejmě bude jiný client.

Jinak většina browserů akceptuje hlavičku: Content-Disposition: attachment a místo zobrazení nabídne stažení; dokonce lze nabídnout i název jiný než je konec url: Content-Disposition: attachment; filename="soubor.txt" (ale pozor, MSIE tam smí mít jen čisté ASCII, žádná diakritika).
9.6.2006 14:52 mira-m
Rozbalit Rozbalit vše Re: dotaz na APACHE
sice to nechodí ,ale Děkuji Všem
9.6.2006 16:10 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: dotaz na APACHE
Odpovědět | | Sbalit | Link | Blokovat | Admin
Práva se zobrazením/stažením souboru vůbec nesouvisí. Práva musí být nastavena jen tak, aby Apache dokázal soubor přečíst (tedy r-- na souboru, r-x na adresáři).

Zobrazení/stažení souboru je věc prohlížeče. Ten udělá (přibližně) to, že si stáhne soubor ze serveru do dočasného umístění, podle hlaviček se rozhodne, jestli jej umí zobrazit nebo ne. Pokud ano, zobrazí soubor v okně prohlížeče, pokud jej zobrazit neumí, nabídne uživateli uložení souboru.

Pokud stažení stránky (např. wgetem) nefunguje, není to problém zobrazení/stažení, ale je problém někde jinde. Prohlížeč nebo jiné zařízení požaduje špatnou adresu, očekává nějaký druh vstupu atd. Aby bylo možné zjistit, v čem je problém, je potřeba nejdřív říct, co to znamená nefunguje to.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.