Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Apache - nezobrazují se adresáře nahrané ve /var/www  (Přečteno 9200 krát)

etoyoc

  • Návštěvník
  • Příspěvků: 20
Apache - nezobrazují se adresáře nahrané ve /var/www
« kdy: 07 Září 2008, 21:02:48 »
Zdravím. Mám problém, že se mi v localhost nezobrazují stránky. Nevím, jak mají být nastavená práva, ale při výpisu /var/www/ mi to vypíše toto:
Kód: [Vybrat]
lrwxrwxrwx  1 root root   24 2008-09-07 14:43 stranky -> /media/DATA/web/stranky

kocar

  • Návštěvník
  • Příspěvků: 64
Re: Apache - nezobrazují se adresáře nahrané ve /var/www
« Odpověď #1 kdy: 07 Září 2008, 22:01:08 »
No hlavně musí mít uživatel, pod kterým běží apache (standartně www-data) přístup do toho cíloveho adresáře (tzn. že musí projít i celou cestou /media/DATA/web/stranky). A předpokládám, že /etc/apache2/sites-available/default jsi neměnil.
Intel Pentium Dual-Core E5200, 4 GB RAM, GeForce 8600GT, Fedora 9 x64
Intel Core 2 Quad Q9300, 8GB RAM, GeForce 7300GT, Fedora 9 x64

etoyoc

  • Návštěvník
  • Příspěvků: 20
Re: Apache - nezobrazují se adresáře nahrané ve /var/www
« Odpověď #2 kdy: 07 Září 2008, 22:13:49 »
Nn, tam jsem nic neměnil. Jak to tedy zprovozním?

karel kudrna

  • Stálý člen
  • **
  • Příspěvků: 869
  • skill :: googllama
Re: Apache - nezobrazují se adresáře nahrané ve /var/www
« Odpověď #3 kdy: 07 Září 2008, 22:24:05 »
tak nevím jakej je to výpis, ale majitel je evidentně root...při přihlášení jako su by mělo všechno jet v pohodě.
prostý user
...selským rozumem...

kocar

  • Návštěvník
  • Příspěvků: 64
Re: Apache - nezobrazují se adresáře nahrané ve /var/www
« Odpověď #4 kdy: 07 Září 2008, 23:28:49 »
No a co to dělá, když "se nezobrazují stránky"? Vypíše nějakou HTTP chybu? Nebo řekne, že adresa není dostupná? Nebo se zobrazí jen prázdná stránka?
Intel Pentium Dual-Core E5200, 4 GB RAM, GeForce 8600GT, Fedora 9 x64
Intel Core 2 Quad Q9300, 8GB RAM, GeForce 7300GT, Fedora 9 x64

etoyoc

  • Návštěvník
  • Příspěvků: 20
Re: Apache - nezobrazují se adresáře nahrané ve /var/www
« Odpověď #5 kdy: 08 Září 2008, 09:55:21 »
Forbidden  You don't have permission to access /stranky on this server.

kocar

  • Návštěvník
  • Příspěvků: 64
Re: Apache - nezobrazují se adresáře nahrané ve /var/www
« Odpověď #6 kdy: 08 Září 2008, 10:50:16 »
Forbidden  You don't have permission to access /stranky on this server.
Tak to je problém v tom, že do cesty /media/DATA/web/stranky nemá uživatel www-data přístup
Intel Pentium Dual-Core E5200, 4 GB RAM, GeForce 8600GT, Fedora 9 x64
Intel Core 2 Quad Q9300, 8GB RAM, GeForce 7300GT, Fedora 9 x64

etoyoc

  • Návštěvník
  • Příspěvků: 20
Re: Apache - nezobrazují se adresáře nahrané ve /var/www
« Odpověď #7 kdy: 08 Září 2008, 12:21:36 »
A jak to tedy nastavím tak, aby ho měl?

kocar

  • Návštěvník
  • Příspěvků: 64
Re: Apache - nezobrazují se adresáře nahrané ve /var/www
« Odpověď #8 kdy: 08 Září 2008, 12:48:30 »
No tak je chyba v tom, že nemá práva buď do /media (to trochu pochybuju), /media/DATA nebo /media/DATA/web nebo /media/DATA/web/stranky. Stačí mu právo číst z těchto adresářů. Nevím, jak jsi na tom se znalostí práv v unixovýxh systémech... Kdybys nevědel, tak sem dej podrobné výpisy jednotlivých adresářů /media/, /media/DATA/ a /media/DATA/web/. Tedy příkazů:

Kód: [Vybrat]
ls -l /media/
ls -l /media/DATA/
ls -l /media/DATA/web/
Intel Pentium Dual-Core E5200, 4 GB RAM, GeForce 8600GT, Fedora 9 x64
Intel Core 2 Quad Q9300, 8GB RAM, GeForce 7300GT, Fedora 9 x64

etoyoc

  • Návštěvník
  • Příspěvků: 20
Re: Apache - nezobrazují se adresáře nahrané ve /var/www
« Odpověď #9 kdy: 08 Září 2008, 12:54:56 »
S právama sem na tom špatně :'( Jinak bych to byl schopen třeba udělat sám. Tady sou ty výpisy:
v /:
Kód: [Vybrat]
drwxr-xr-x   7 root root  4096 2008-09-08 12:30 mediav /media/:
Kód: [Vybrat]
drwx------ 21 mates root 32768 2008-09-08 12:37 DATAv /media/DATA/:
Kód: [Vybrat]
drwx------ 32 mates root     32768 2008-09-07 14:37 webv /media/DATA/web/:
Kód: [Vybrat]
drwx------  5 mates root  32768 2008-09-01 13:50 stranky

kocar

  • Návštěvník
  • Příspěvků: 64
Re: Apache - nezobrazují se adresáře nahrané ve /var/www
« Odpověď #10 kdy: 08 Září 2008, 13:25:56 »
Mno... Tak pis:
Kód: [Vybrat]
sudo chmod 755 /media/DATA/
sudo chmod 755 /media/DATA/web
sudo chmod 755 /media/DATA/web/stranky

Tim každému z těch adresářů dáš práva 755, první číslo je pro vlastníka (v tomhle případě mates), druhé pro skupinu (tady root) a třetí pro všechny ostatní. 7 znamená čtení, zápis i spouštění. 5 potom čtení a spouštění. Je to vždy součet čtení (4), zápis (2) a spouštění (1). Aby ses dostal do adresářů, tak musí mít příznak spouštění nastaven.

No a jelikož www-data není aní vlastníkem a předpokládám ani ve skupině root, tak se ho týká třetí číslice.

Případně můžeš tohle naklikat v nautilu (na vlastnostech je záložka oprávnění). Samozřejmě se totéž musí nastavit na veškerém obsahu adresáře stranky. Ale není dobré dát tam na všechno 755, protože tím dáš spouštěcí právo i na soubory, které nejsou spustitelné. Takže si to chce s tím trochu pohrát.

Nejjednodušší by bylo všemu dát vlastníka www-data, ale tím bys do těch adresářů zase ztratil přístup ty jako uživatel mates. Ale kdyby náhodou, tak to uděláš příkazem
Kód: [Vybrat]
sudo chown -R www-data /media/DATA/web/strankypřípadně
Kód: [Vybrat]
sudo chown -R www-data:www-data /media/DATA/web/strankyaby se změnila i skupina na www-data.
Intel Pentium Dual-Core E5200, 4 GB RAM, GeForce 8600GT, Fedora 9 x64
Intel Core 2 Quad Q9300, 8GB RAM, GeForce 7300GT, Fedora 9 x64

etoyoc

  • Návštěvník
  • Příspěvků: 20
Re: Apache - nezobrazují se adresáře nahrané ve /var/www
« Odpověď #11 kdy: 08 Září 2008, 13:36:50 »
Tak jsem to provedl a pořád se to chová stejně. A podle výpisů jsou ty práva pořád nastavené tak jak byly. Když sem to zkusil naklikat v nautilu, tak to nešlo změnit. Asi bude nějaký problém v tom, že DATA je ntfs oddíl a mountuje se asi tak, abych na něho měl práva jen já.

kkaarreell

  • Stálý člen
  • **
  • Příspěvků: 1072
Re: Apache - nezobrazují se adresáře nahrané ve /var/www
« Odpověď #12 kdy: 08 Září 2008, 13:41:42 »
Asi bude nějaký problém v tom, že DATA je ntfs oddíl a mountuje se asi tak, abych na něho měl práva jen já.
ano, presne v tom je problem. asi to nemuzete mit ulozeny jinde, co? budete muset explicitne zadat masku pro pristupova prava pro tento oddil v /etc/fstab
« Poslední změna: 08 Září 2008, 14:03:45 od kkaarreell »

etoyoc

  • Návštěvník
  • Příspěvků: 20
Re: Apache - nezobrazují se adresáře nahrané ve /var/www
« Odpověď #13 kdy: 08 Září 2008, 14:14:38 »
Tak sem to zkusil přesunout do domovskýho adresáře a teď to zase píše:

Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0

Fatal error: Unknown: Failed opening required '/var/www/stranky/index.php' (include_path='.:/usr/share/php:/usr/share/pear') in Unknown on line 0

kocar

  • Návštěvník
  • Příspěvků: 64
Re: Apache - nezobrazují se adresáře nahrané ve /var/www
« Odpověď #14 kdy: 08 Září 2008, 17:45:06 »
Tak sem to zkusil přesunout do domovskýho adresáře a teď to zase píše:

Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0

Fatal error: Unknown: Failed opening required '/var/www/stranky/index.php' (include_path='.:/usr/share/php:/usr/share/pear') in Unknown on line 0
No ale je tam opět Permission denied, tzn. že ještě někam nesmí... Najspíš na zmiňovaný index.php, ne?
Intel Pentium Dual-Core E5200, 4 GB RAM, GeForce 8600GT, Fedora 9 x64
Intel Core 2 Quad Q9300, 8GB RAM, GeForce 7300GT, Fedora 9 x64

kkaarreell

  • Stálý člen
  • **
  • Příspěvků: 1072
Re: Apache - nezobrazují se adresáře nahrané ve /var/www
« Odpověď #15 kdy: 08 Září 2008, 18:14:37 »
Podivejte, v konfiguraci apache mate nastaveno, ze localhost mate v adresari /var/www/. Pokud jste stranky nahral do domovskeho adresare, tak se ani zobrazit nemohou. Navic jste mel (mozna jeste mate) misto /var/www symbolicky link na ntfs oddil, coz neni zrovna nejlepsi napad. Pokud jste ten link zrusil a mate jiz obycejny adresar /var/www, do ktereho jste nahral svoje stranky a pise to vyse uvedene, tak pak mate stale spatne nastavena pristupova prava k nekteremu z tech adresaru nebo souboru.

Muzete nejak upresnit jake mate s temi strankami zamer? respektive zda je chcete upravovat i z windows a tedy by mely byt na ntfs oddilu (a tim padem vede spravna cesta pres upravu /etc/fstab) a nebo zda na ntfs oddilu byt nemusi?

V tom pripade bych doporucil modul user_dir, ktery umozni vsem uzivatelum snadne vytvareni html stranek:

1. nejdrive vytvorte ve svem domovskem adresari adresar public_html a nastavte pristupova prava
Kód: [Vybrat]
mkdir ~/public_html
chmod 755 ~/public_html
2. povolte modul user_dir, to se udela vytvorenim nasledujicich symbolickych linku
Kód: [Vybrat]
sudo ln -s /etc/apache2/mods-available/userdir.load /etc/apache2/mods-enabled/userdir.load
sudo ln -s /etc/apache2/mods-available/userdir.conf /etc/apache2/mods-enabled/userdir.conf
3. restartujte apache
Kód: [Vybrat]
sudo /etc/init.d/apache2 restart
Svoje stranky si pak nahravejte do adresare public_html ve vasem domovskem adresari, budou pristupne jako http://localhost/~login, kde login je vas login. Takze napriklad vytvorime-li jednoduchy soubor index.html prikazem
Kód: [Vybrat]
echo '<html><head></head><body><h3>Nazdar</h3></body></html>' > ~/public_html/index.html
tak bude dostupny pod adresou http://localhost/~vaslogin/index.html ci jen http://localhost/~vaslogin/.

Adresar se nemusi jmenovat primo public_html, konfigurace je uvedena v tom souboru /etc/apache2/mods-available/userdir.conf,
viz
Kód: [Vybrat]
$ cat /etc/apache2/mods-available/userdir.conf
<IfModule mod_userdir.c>
        UserDir public_html
        UserDir disabled root

        <Directory /home/*/public_html>
                AllowOverride FileInfo AuthConfig Limit
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec ExecCGI
        </Directory>
</IfModule>
kde se da public_html nahradit necim jinym a pripadne nastavit co uzivatele mohou a co nemohou delat (ve vyse uvedenem vypisu mam take povoleno spousteni CGI skriptu, ktere neni defaultne povoleno).
« Poslední změna: 08 Září 2008, 18:20:06 od kkaarreell »

etoyoc

  • Návštěvník
  • Příspěvků: 20
Re: Apache - nezobrazují se adresáře nahrané ve /var/www
« Odpověď #16 kdy: 11 Září 2008, 15:48:45 »
Tak sem teda ty stránky naházel do složky kterou sem si vytvořil v systému souborů: /data/. Nakopíroval sem si tam ty stránky, dal všemu v tom práva 755 a ve /var/www sem vytvořil odkaz. A ejhle, už to fachá. ;-) Díky všem, nicméně je divné, že mi to nechtělo fungovat z toho ntfs disku, když na noťasu mi to uplně stejnym způsobem (mountováním disku tak, že jsem na něho kliknul) běhalo bez problémů.

 

Provoz zaštiťuje spolek OpenAlt.