Pro změnu error 500 – sandbox

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
K4M1L
Člen | 17
+
0
-

Zdravím. Tak jako na Endoře tak i na mém vlastním serveru mi háže nette /www/nette/sandbox/index.php error 500. Mám memory limit 32M. Nevím čím to je, hledal jsem složku cache (nenašel ji ani vyhledávač), takže jsem dal chmod 777 na složku log. Prosím nepište mi nic jako „zapni laděnku“. Podle asi 15 návodů jsem ji zkusil zapnout, jen jednou mi napsala cosi do logu (problém jen vyřešil, error přetrval).
Jen pro info, zkusil jsem ji nainstalovat i na wamp, xampp a podobné windows servery a stejný problém.
Aktuálně je na LAMP variantě (Linux debian 2.6.32–5–686, Apache/2.2.16, PHP/5.3.3–7+squeeze8 + příslušná verze Nette). Takže prosím o radu. I když si myslím, že stejně budu muset přejít na nějaký fungující framework. Vím, že se to tu už párkrát řešilo, ale všechno zhaslo na „použij laděnku“ „nepomohla“ „chmony 777 cache a log“ „nepomohlo“ <půl roku pauza> „nenašel někdo řešení?“ „zapni laděnku“… Ona prostě nepomáhá na takovýhle obyčejný problém :D

Edit: Sever není virtualizovaný, ale fyzický.

Editoval K4M1L (14. 4. 2012 2:07)

Ani
Člen | 226
+
0
-

Tak tu složku cache vytvoř.

K4M1L
Člen | 17
+
0
-

kde? Koukám do návodu pro začátečníky, nic takového tam není, ani žádný chmody… :(

Ani
Člen | 226
+
0
-

Jo pravda jsem si to splet se zakladnim tempem, cache by se mela vytvorit sama… hmm 2 hodiny rano.

Cache se vytváří ve složce temp. Takže se ujisti, jestli máš práva na zápis do té temp/.

Editoval Ani (14. 4. 2012 2:16)

K4M1L
Člen | 17
+
0
-

Nette guru – temp má taky 777 na to jsem zapomněl. Nějaká jiná rada? http://79.110.36.137/…ww/index.php tohle je ta chyba

Ani
Člen | 226
+
0
-

Tak jestli se ti nic nevytvoří v cache, tak ti to musí kolabovat ještě před $configurator->createRobotLoader(). Můžes si to skusit „exitnou“ před tím a po tom, ať víš jetli je to skutečně už v tom.

No a podle toho se dá hledat další řešení.

Editoval Ani (14. 4. 2012 2:23)

K4M1L
Člen | 17
+
0
-

Prosím, jsem ve foru začátečníci? Kde má být $configurator->createRobotLoader() v indexu neni a je tu milion dalších souborů.

Chtělo by to nějaký přesnější (stručný ale přesný) postup…

Editoval K4M1L (14. 4. 2012 2:29)

Ani
Člen | 226
+
0
-

app/bootstrap.php

Je to popsane https://doc.nette.org/cs/quickstart

Predne bych zkusil tu ladenku (jo vim ze jsi zkousel). Pak pripadne krokovat tenhle bootstrap, kam az to dojde, at vis kde se to zasekne, protoze jestli nemas vytvorenou cache, tak to bude nekde v nem.

Editoval Ani (14. 4. 2012 2:31)

K4M1L
Člen | 17
+
0
-

tak zakomentoval a postupně odkomentoval vše. A žádná změna se neudála. Resp. Aplikace umřela a ožila až po odkomentování všeho.

Ani
Člen | 226
+
0
-

Já nemyslel zrovna zakomentování… Jen si prostě udělat:

<?php
exit;
$configurator->createRobotLoader()
	->addDirectory(APP_DIR)
	->addDirectory(LIBS_DIR)
	->register();
?>

a

<?php
$configurator->createRobotLoader()
	->addDirectory(APP_DIR)
	->addDirectory(LIBS_DIR)
	->register();
exit;
?>

No a když to první hodí bílou stránku a to druhý už tu 500, tak víš kde je chyba. Takové „jelimanské“ krokování :D

Podle toho co ti spadne se to dá dále „analyzovat“.

K4M1L
Člen | 17
+
0
-

mám tu nový error log:
`[2012–04–14 01–23–44] PHP Warning: mkdir(): Permission denied in /var/www/nette/sandbox/libs/Nette/Config/Configurator.php:85 @
[2012–04–14 01–23–44] Nette\DirectoryNotFoundException: Directory ‚/var/www/nette/sandbox/app/../temp/cache‘ not found. in /var/www/nette/sandbox/libs/Nette/Caching/Storages/FileStorage.php:76 @ @@ exception-2012–04–14–01–23–44–0d39218b8d94c0d32b69c9e5e7d8b690.html`
/var/www/nette/sandbox/libs/Nette/Config/Configurator.php – takový soubor tam vůbec není, chmod 777

A ano první hodilo bílou smrt, druhé error

Editoval K4M1L (15. 4. 2012 22:55)

Ani
Člen | 226
+
0
-

„PHP Warning: mkdir(): Permission denied“

Evidentne nemas (skript nema) prava na vytvoreni slozky cache ve slozce temp…

K4M1L
Člen | 17
+
0
-

Ale ty práva tam jsou (všechny soubory a složky v nette mají momentálně 777

nastavil jsem znovu práva na všechno na 777…teď to pro změnu nehodí error 500 ale jen whitescreen

Jdu spát, doufám, že se tu ráno objeví nějaké zázračné řešení…

Editoval K4M1L (14. 4. 2012 3:08)

22
Člen | 1478
+
0
-

K Nette se dodavá Requirement checker, začal bych asi u něj.

K4M1L
Člen | 17
+
0
-

22 → nebudeš tomu věřit, ale jelikož je v návodu ještě před sandboxem, tak jsem ho zkusil ->

Editoval K4M1L (15. 4. 2012 22:55)

22
Člen | 1478
+
0
-

no, máš tam minimálně nějaký problém s .htaccess (File protection by .htaccess is not present. You must be careful to put files into document_root folder.) a jinak nebudeš tomu věřit, ale já vůbec nevím, jaký návod myslíš i kdybych věděl, tak si určiitě nebudu vědom jeho obsahu.

K4M1L
Člen | 17
+
0
-

ten nejzákladnější návod → https://doc.nette.org/cs/quickstart

jinak .htaccess je povolený, jen v té složce žádný není (není to root)

Editoval K4M1L (14. 4. 2012 11:31)

22
Člen | 1478
+
0
-

No nevim, co tim myslíš, ale předpokládám, že Nette ti říka, ža máš problém se zabezpečením aplikace. Zkoušel jsem jeden link z tohoto příspěvku a nějak mě to nepochopitelně háže na index.php, i když zadám url bez index.php, což buď znamená, že nejede mod_rewrite anebo tam jsou nějaké harakiry z .htaccess.

Pak se zameř na ten problém, proč nejde vytvořit složka cache a jestli na to místo, kam se Nette snaží zapsat je opravdu přístup.

P.S.: neuškodilo by ani uveřejnění verze Nette

K4M1L
Člen | 17
+
0
-

File protection by .htaccess is not present. You must be careful to put files into document_root folder
Ochrana souborů pomocí .httaccess není přednastavená. Buďte opatrní při vkládání souborů do kořenového adresáře.

Nette guru, kde tam je něco jako „bacha nepůjde vám sandbox“? U všech ostatních věcí, které případně nejdou je napsáno i omezení které vznikne. bylo by dost divné kdyby tady napsané nebylo…
Verze nette 2.0.3.PHP 5.3 (včera jsem ji stáhl z tohoto webu).

22
Člen | 1478
+
0
-

Pokud říkáš, že nemáš .htacces ve složce www, tak asi nepoužíváš doporučenou adresářovou strukturu, protože kdyby jsi ji používal, tak holt, u index.php by jsi měl mít i .htaccess, který najdeš i v sandboxu. Ale tvůj jizlivý tón se mi jako nelíbí, tak snad ti poradí někdo jiný.

K4M1L
Člen | 17
+
0
-

.htaccess je ve složce WWW (sandbox/www) ale není v root directory, proto to hlásí tu chybu. A jízlivý tón? Ano. Dělám přesně to co je v návodech a na foru a stejně to nefunguje, zkusil jsem hromadu hostingů i vlastní server a prostě to nejde. Divíš se jízlivému tónu?

Jan Endel
Člen | 1016
+
0
-

Jelikož nemáš stránky na konkrétní doméně ale v několika do sebe zanořených adresářů zkusil bych do htaccess ve složce www odkomentovat řádek RewriteBase a napsat tam:

RewriteBase /nette/sandbox/www/

to by nás mohlo posunout dále k vytyčenému cíli. Jinak my na fóru nemůžeme za to, že ti něco nefunguje…

K4M1L
Člen | 17
+
0
-

žádná změna :(

Editoval K4M1L (15. 4. 2012 22:55)

Jan Endel
Člen | 1016
+
0
-

Osobně vidím jen bílou stránku. A z toho celého vlákna nejsem moc moudrý, kde je aktuálně problém. Můžeš ho tu přiblížit?

K4M1L
Člen | 17
+
0
-

jistě. Průběh byl následující: Error 500 na indexu sandboxu. Odstanění erroru z error logu (nebyly práva na vytvoření složky cache) Poté bylo podezření, že jsou špatně práva i u jiných složek, tak jsem nastavil na všechny složky a soubory chmod 777 a od té doby tam je jen bílá stránka. (jo ještě jsem testoval to co psal kolega výše, zastavení scriptu). Nakonec jsem dneska odkomentoval ten rewrite v .htaccess-u. A pořád nic…

Jan Endel
Člen | 1016
+
0
-

Joo aha, začínám se chytat. Prázdná stránka vypadne když je všechno odkomentované? To se mi nějak nezdá, vypadá to jako když se Nette nedostane vůbec ke slovu. Upravoval jsi ten skeleton nějak nebo si prostě jen nahrál stažený obsah na hosting?

K4M1L
Člen | 17
+
0
-

nijak, rozbalil a nakopíroval

Jan Endel
Člen | 1016
+
0
-

V současné chvíli tam něco musí být zakomentované nebo něco musí blokovat to, aby se k řeči dostal Nette framework, je cesta správně?

Šaman
Člen | 2640
+
0
-

Koukám, že K4M1L má nakopírované kompletní nette balík, včetně examples apod. Zajímavé je, že ukázka Modules-Usage a Fifteen fungují, ostatní hází 500. Ale ta chyba 500 je Nettovská, takže by šlo přepsat v bootstrapu třeba v příkladu CD-collection logování chyb na: ‚Debugger::enable(Debugger::DEVELOPMENT)‘ a my ti pak můžeme říct, na čem to spadne. I bez této úpravy bys měl z localhostu vidět laděnku, ale my zvenku vidíme jen error 500.

Na mě to dělá dojem, že máš zakázaný .htaccess. Nejen, že ti to píše Checker, ale taky se ti můžu prohrabovat a adresářích app, což je běžně zakázaný právě použitím .htaccessu. Což je nebezpečné (vidím třeba tvůj config), ale možná s tím má problém i framework..


A to, že jsi našel vlákna se stejným problémem bez odpovědi, to neznamená, že je špatný framework, nebo komunita, ale spíš to značí, že se jedná o nonNette problém. Těžko radit v případě, že máš třeba nestandardně nastavený server, nebo práva. Dokud se nedostaneš alespoň k Laděnce, tak je to práce pro správce serveru, nikoliv pro experty na framework. Jesli jsi stáhnul stabilní verzi, tak věř tomu, že jak framework, tak Sandbox je funkční a spustitelný..

Editoval Šaman (15. 4. 2012 14:19)

K4M1L
Člen | 17
+
0
-

o pár postů výše je výpis z error logu, ten stačí? Jinak .htaccess je povolený, nvm jak už to napsat jinak, jen v root adresáři nemám žádný .htaccess tak se checkeru nelíbí zabezpečení. Jinak server jak nastavený naprosto standartně…Jestli je třeba posti error log znovu, ale je v něm totéž. Jinak zakomentováno není vůbec nic. whitescreen se objevuje od okamžiku kdy jsem nastavil všem adresářům /nette chmod 777

Jan Endel
Člen | 1016
+
0
-

Zkus do složky /var/www/nette/sandbox/www/ nahrát soubor index.html s nejakym obsahem. Pokud je apache nakonfigurovany standartne, tak prednostne veme ten html soubor a php se nebude vubec zaobirat.

Šaman
Člen | 2640
+
0
-

K4M1L napsal(a):

…jen v root adresáři nemám žádný .htaccess tak se checkeru nelíbí zabezpečení. Jinak server jak nastavený naprosto standartně…

V root adresáři žádný .htaccess být nemusí, tento soubor musí být v zabezpečených adresářích. Takže třeba v /app. A tam ho buď nemáš (což není pravděpodobné, protože v distribuci je), anebo ho nemáš povolený (což potvrzuje i Checker).

Teď jsem si nakopíroval Nette 2.03 ze 4.4.2012 a do žádných složek kromě /www se z prohlížeče neproklikám (v projektech, tedy v sandboxu, CD Collection apod.) U tebe se tam dostanu. A taky u mě projde Checker. U tebe ne. V rootu taky žádný .htaccess nemám.

Pro jistotu jsem se díval co checkuje Checker a ten skutečně kontroluje, jestli .htaccess funguje. Kontroluje to pomocí adresářů /denied a /rewrite.

Takže nemáš správně nakonfigurovaný server! S Nette to vůbec nesouvisí.

Editoval Šaman (15. 4. 2012 18:20)

K4M1L
Člen | 17
+
0
-

Šaman napsal(a):

Takže nemáš správně nakonfigurovaný server! S Nette to vůbec nesouvisí.

Tak mi vysvětli jakto, že .htaccess mod_rewrite Enabled (podle checkeru), v security.conf je nastaveno

AllowOverride All
Order Deny,Allow
Deny from all

Prostě všechno je jak má být a pravidla na mém serveru jsou mnohem volnější než na jakémkoli hostingu.

Kašlete na to, tohle nemá smysl, budu hledat nějaký funkční framework.

Editoval K4M1L (15. 4. 2012 22:54)

22
Člen | 1478
+
0
-

K4M1L napsal(a):

Kašlete na to, tohle nemá smysl, budu hledat nějaký funkční framework.

..jj, až najdeš, dej vědět, kterej to byl .-)

Editoval 22 (15. 4. 2012 23:30)

K4M1L
Člen | 17
+
0
-

5 minut a Zend běží…

Ani
Člen | 226
+
0
-

Tak to jsem upřímně rád, že zrovna tobě ten Zend běží.

minzo
Člen | 23
+
0
-

K4M1L napsal(a):
Kašlete na to, tohle nemá smysl, budu hledat nějaký funkční framework.

Proč hledat problém u sebe, jehož hledání může trvat několik hodin nebo dokonce dnů.
Když mohu vše svést na „ostatní“ a trvá to pouze pár vteřin.

Každý s nette mel v začátcích určitě nějaký problém a tu jsou někteří i o chotní a snaží se i pomoc ostatním, ale když se chováš takto …

Hodně štěstí se Zendem :D

Dredy
Člen | 4
+
0
-

Hurá, ať žijou příjemní lidé anebo viva K4M1L… bože.

Pro všechny, kteří při prvních problémech nebudou chtít přejít na temnou stranu Zendu – narazil jsem dneska na Forpsi (běží na serveru Microsoft-IIS/6.0) na ten samý problém, tj. .htaccess file protection – disabled, následně error 500 a po troše ladění (Ani, díky za tip jelimanského krokování!! :)) pak PHP Warning: mkdir(): Permission denied in /var/www/nette/sandbox/libs/Nette/Config/Configurator.php:85.

Šlo (minimálně v mém případě) skutečně jen o špatně nastavená práva adresářů. Práva na tomto hostingu nejdou nastavit obvyklým způsobem přes FTP, musí se to udělat v administraci hostingu, kterou na Forpsi najdete na adresa-vasi-domeny.pripona-vasi-domeny/cp. Od chvíle, kdy byl povolen zápis do /temp, už všechno běží, jak má. To jen informace pro kohokoliv, kdo by se někdy potkal s tímto problémem.

edison23
Člen | 2
+
0
-

chtel bych se zeptat, mam uplne stejny problem, zkusil jsem podle jednoho navodu tady nakopirovat index.html do nette/sandbox/www/ a zjistil jsem, ze mi to taky hazi error 500. Pak me napadlo smazat ve slozce nette/sandbox/www/ .htacces a hned jsem na stranku „You have successfully created your Nette Framework project.“ (zajimave je, ze index.html to ignoruje) … muze mi nekdo, prosim, vysvetlit, co je teda valstne spadne? (vsechny soubory&slozky maji 777 a adresarova struktura je podle doporucene, mam nette pro php 5.3 pricemz PHP Version 5.3.13-pl0-gentoo )
diky,
edison

Jan Endel
Člen | 1016
+
0
-

Tak možná je nastavený apache tak, že dává přednost index.php před index.html a bude nějaký průser v .htaccess, zkus ho sem postnout.

edison23
Člen | 2
+
0
-

.htaccess:

# Apache configuration file (see httpd.apache.org/docs/2.2/mod/quickreference.html)

# disable directory listing
Options -Indexes

# enable cool URL
<IfModule mod_rewrite.c>
	RewriteEngine On
	# RewriteBase /

	# front controller
	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteCond %{REQUEST_FILENAME} !-d
	RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ index.php [L]
</IfModule>

# enable gzip compression
<IfModule mod_deflate.c>
	AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript text/javascript application/javascript application/json
</IfModule>

# allow combined JavaScript & CSS. Inside of script.combined.js you could use <!--#include file="script.js" -->
<IfModule mod_include.c>
	<FilesMatch "\.combined\.(js|css)$">
		Options +Includes
		SetOutputFilter INCLUDES
	</FilesMatch>
</IfModule>

zkusil jsem smazat vsechno z nej krom casti, kde se pouziva Mod_Rewrite (podle doporuceni znameho), a uz to funguje… uz to 500 nehazi… mam to brat jako problem solved?

Exon
Člen | 1
+
0
-

Tak vážení, dnes jsem řešil příčinu erroru 500 když jsem chtěl spustit example CD-collection v nette 2.0.4-PHP5.3 (checker proběhl korektně, sandbox fungoval také). Server debian ve virtuálu. Konfigurace prověřena, .htacces taky.

Debugger odhalil absenci SQLite, což byla první část problému. Zaráží mě však další záležitost. Aby mohla aplikace zapisovat/mazat v souboru s databází, musí mít složka app/model nastavena práva 777 (775 nestačí !)
Co je špatně?