Fórum Ubuntu CZ/SK
Ostatní => Ubuntu Server => Téma založeno: dibalaj 03 Června 2011, 12:44:15
-
Zdravím Vás lidi, přešel jsem asi po půl roce zpět na Ubuntu 10.10. Chci programovat v PHP, mám XAMPP server, ale bohužel, stále nechápu systém oprávnění a práv.
Když zkopíruji složku se skripty (např. html šablona s jQuery), tak se mi v index-výpisu složek na serveru nezobrazí. Když .html soubory spustím lokálně, tak nefunguje žádný .js skript, který je přiložen ve složce. :(
Proto se Vás chci zeptat, je možné nějak nastavit XAMPP server tak, abych měl jako uživatel (vedený jako správce) oprávnění vytvářet soubory a složky, ale i tak, abych je viděl a mohl s nimi pracovat ikdyž je pouze zkopíruji?
Moc Vás prosím o radu. Jsem z toho zoufalý. Přecházet na zpět na Mac, nebo na Win se mi opravdu nechce, protože Ubuntu je rychlejší, stabilnější, prostě všechno funguje, a hodně rychle.
Jestli máte nějaké nápady, či zkušenosti, budu rád, když se podělíte. ;)
-
Co se táká práv, xampp určitě spouštíte jako root (nebo jiný privilegovaný uživatel). Nicméně apache k souborům jako root nepřistupuje, ale v konfiguraci apache je uživatel a skupina která se použije. Standardně to bývá www-data (u xampp nevím), takže je potřeba takového uživatele v systému mít a musí mít dostatečná oprávnění pro akce nad konkrétní složkou, kde se nachází stránka.
Nicméně by asi nebylo špatné popřemýšlet nad přechodem k balíkům z oficiálního distribučního kanálu. http://wiki.ubuntu.cz/Apache%20s%20MySQL%20a%20PHP i tady na fóru je howto,...
-
Díky za reply. Takže to znamená vytvořit správcovský účet www-data ? Já Ubuntu používám zatím jen pro nesprávcovské věci, takže s nastavováním oprávnení nemám moc zkušenost ... použil jsem příkaz :
chmod -R 0777 /opt/lampp/
, ale stále není načten javascript při spuštění stránek.
Co mám tedy dělat?
-
Pokud používáš firefox, tak zkus nainstalovat firebug, má tam záložku síť, kterou když povolíš, tak ti vypisuje zprávy z jednotlivých http requestů na části stránek (obrázky, flashe, javascripty). Bude tam asi napsaná nějaká chybová hláška (pravděpodobně 404) + cesta která je napsaná v tom html dokumentu. A tady by pravděpodobně mohl být zádrhel.
-
Otázka je proč je máš nainstalováno XAMPP, proč ne standartní Apache2+php+mySql z repozitářů. Jinak ti více napoví error.log Apache.
-
Pokud používáš firefox, tak zkus nainstalovat firebug, má tam záložku síť, kterou když povolíš, tak ti vypisuje zprávy z jednotlivých http requestů na části stránek (obrázky, flashe, javascripty). Bude tam asi napsaná nějaká chybová hláška (pravděpodobně 404) + cesta která je napsaná v tom html dokumentu. A tady by pravděpodobně mohl být zádrhel.
FF4 a vyšší to má defaultně jako Nástroje->Webová konzola
Otázka je proč je máš nainstalováno XAMPP, proč ne standartní Apache2+php+mySql z repozitářů. Jinak ti více napoví error.log Apache.
/var/log/apache2/error.log
A také ti doporučuji se na XAMPP vyprdnout a použít LAMP z repozitářů.
-
Tak jsem XAMPP odinstaloval, a pomocí tasksel a apt-get nainstaloval standartní balíčky z repozitářů, a už jsem přišel na chybu co byla v té šabloně :)
Stáhl jsem si jí, a na test serveru všechno fungovalo.
Tak jsem zkusil "Nástroje pro vývojáře" v Google Chrome, a zjistil jsem, že se nenačítá jQuery minimalizovaná produkční verze. A samozřejmně, že ve stažené šabloně nebyl. Tak jsem jQuery stáhl, a všechno už funguje jak má.
Ještě otázka. -> např. mám složku s projektem, a v ní např. složky "img, css, js, libs, ...". Stačí když použiji příkaz "chmod -R 0777 /cesta/ke/slozce" na hlavní (root) složku projektu? nebo musím tento příkaz použít i na samostatné složky (img, css, ...) ???
Jinak všem děkuji za radu ;)
-
-R = recursive ;)
Jinak si přečtěte něco o právech na naší wiki. Možná dojdete k názoru, že složky by neměli mít 777, pokud do nich aplikace nic nezapisuje.
-
to 777 je hrozná nemoc.