Pagina 1 di 1

[Apache] 500 Internal Server Error

Inviato: venerdì 26 settembre 2008, 13:26
da Zoff
Salve,
ho appena scoperto l'enorme potenzialità del Framework Zend e vorrei iniziare a sfruttarla!
Manco ho iniziato e già mi trovo nei problemi...

Vorrei configurare il mio Apache "casalingo" che ho su Ubuntu per utilizzarlo...
Da quello che ho capito è necessario aggiungere la libreria Zend nell'include_path di php e reindirizzare tutte le richieste alla pagina principale...
Ho usato allora questo .htaccess:

Codice: Seleziona tutto

RewriteEngine on
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1

php_flag register_globals off

php_flag magic_quotes_gpc off
Ma sembra che Apache non sia configurato per considerare quel file...

Allora ho pensato di creare un VirtualHost in httpd.conf e includerlo nell'httpd.conf di Apache, con questo risultato:

/etc/apache2/httpd.conf:

Codice: Seleziona tutto

NameVirtualHost <mio IP di rete locale>
Include /var/www/test/httpd.conf
/var/www/test/httpd.conf:

Codice: Seleziona tutto

<VirtualHost <Mio IP locale>>
	ServerName test
	DocumentRoot /var/www/test
	<Directory /var/www/test>
		AllowOverride All
		Options All
	</Directory>
</VirtualHost>
In questo modo però qualsiasi richiesta faccia mi da un Internal Server Error (500)...

Cosa sbaglio?

PS. Ovviamente riavvio Apache ogni volta che modifico httpd.conf

EDIT: Penso c'entri con il DocumentRoot se commento quella riga e mi connetto all'host virtuale non da errore, ma come è ovvio non trova i file perché non sa dove cercare... C'entrano forse i permessi di quella cartella?

Re: [Apache] 500 Internal Server Error con VirtualHost

Inviato: venerdì 26 settembre 2008, 14:18
da garak
Perdonami se invece di proporre una soluzione al tuo problema mi permetto invece di darti alcuni consigli.
Il primo è sui virtual host di apache: in Ubuntu c'è un comodo sistema che consiste nello scrivere le configurazioni dei virtual host in singoli file da inserire in /etc/apache2/sites-available e poi abilitarli semplicemente creando un symlink in /etc/apache2/sites-enabled (ovviamente puoi altrettanto facilmente disabilitarli cancellando il symlink).
Il secondo è sul framework: Zend Framework non è un vero e proprio framework, quanto piuttosto una collezione di classi che possono essere utilizzate insieme per crearsene uno da soli. Tanto per dirtene un paio, non ha un ORM direttamente integrato e non supporta lo scaffolding. Questo significa che anche solo per avere una pagina che dice "ciao mondo" funzionante devi fare un setup con htaccess, crearti a mano i model per le tue query, crearti una struttura di cartelle, crearti un front controller e un config, ecc. ecc. ecc.
Se vuoi un framework veramente potente, uno che veramente ti semplifichi la vita di programmazione consentendoti di concentrarti sulla logica dello sviluppo e non sui soliti ripetitivi task, ti consiglio caldamente di provare Symfony: lo installi, crei il virtual host (una conf di esempio è gia bella e pronta nel manuale), dai un paio di comandi da shell ed hai un'applicazione di base già perfettamente funzionante.

Re: [Apache] 500 Internal Server Error con VirtualHost

Inviato: venerdì 26 settembre 2008, 14:36
da Zoff
garak ha scritto: Perdonami se invece di proporre una soluzione al tuo problema mi permetto invece di darti alcuni consigli.
Il primo è sui virtual host di apache: in Ubuntu c'è un comodo sistema che consiste nello scrivere le configurazioni dei virtual host in singoli file da inserire in /etc/apache2/sites-available e poi abilitarli semplicemente creando un symlink in /etc/apache2/sites-enabled (ovviamente puoi altrettanto facilmente disabilitarli cancellando il symlink).
Il secondo è sul framework: Zend Framework non è un vero e proprio framework, quanto piuttosto una collezione di classi che possono essere utilizzate insieme per crearsene uno da soli. Tanto per dirtene un paio, non ha un ORM direttamente integrato e non supporta lo scaffolding. Questo significa che anche solo per avere una pagina che dice "ciao mondo" funzionante devi fare un setup con htaccess, crearti a mano i model per le tue query, crearti una struttura di cartelle, crearti un front controller e un config, ecc. ecc. ecc.
Se vuoi un framework veramente potente, uno che veramente ti semplifichi la vita di programmazione consentendoti di concentrarti sulla logica dello sviluppo e non sui soliti ripetitivi task, ti consiglio caldamente di provare Symfony: lo installi, crei il virtual host (una conf di esempio è gia bella e pronta nel manuale), dai un paio di comandi da shell ed hai un'applicazione di base già perfettamente funzionante.
Grazie mille... Efficiente come sempre :D

Darò un occhiata a Symfony...

Hai comuqnue idea di perchè possa dare quell'errore semplicemente settando la DocumentRoot?

Re: [Apache] 500 Internal Server Error con VirtualHost

Inviato: sabato 27 settembre 2008, 9:27
da garak
Zoff ha scritto: Hai comuqnue idea di perchè possa dare quell'errore semplicemente settando la DocumentRoot?
Posso solo dirti che io uso tranquillamente come document root delle cartelle che sono mie (cioè del mio utente e non dell'utente www-data). Ovviamente devono essere perlomeno 755

Re: [Apache] 500 Internal Server Error con VirtualHost

Inviato: sabato 27 settembre 2008, 13:59
da Zoff
garak ha scritto:
Zoff ha scritto: Hai comuqnue idea di perchè possa dare quell'errore semplicemente settando la DocumentRoot?
Posso solo dirti che io uso tranquillamente come document root delle cartelle che sono mie (cioè del mio utente e non dell'utente www-data). Ovviamente devono essere perlomeno 755
Io ho provato anche a dargli 777 e chown ma niente ...

Re: [Apache] 500 Internal Server Error con VirtualHost

Inviato: mercoledì 8 ottobre 2008, 17:45
da Zoff
Riapro la discussione perché non ho risolto il problema...

Sto testando quel .htaccess su altervista e ricevo lo stesso errore che in locale...
Ma su Altervista si puo' usare RewriteRule???

Se sì, cos'ha di sbagliato questo?

Codice: Seleziona tutto

# # av:php5-engine
AddHandler av-php5 .php

RewriteEngine On

RewriteRule ^(.*)$ index.php/$1