Simple Machines Community Forum

SMF Support => Language Specific Support => Italiano (Italian) => Topic started by: ironflyz on January 28, 2013, 06:34:47 AM

Title: 500 internal server error
Post by: ironflyz on January 28, 2013, 06:34:47 AM
Salve,

da circa 10 giorni ho un problema con il forum installato all'indirizzo www lz0.it/forum a fasi alterne o appare la schermata bianca con scritto appunto il messaggio di errore 500 internal server error oppure si vede la schermata di accesso al forum ma quando si prova ad accedere restituisce l'errore. Ho cercato nel log degli errore del server trovando questo errore ricorrente "[Sat Jan 19 17:00:18 2013] [error] [client 151.60.196.38:16525] - www .lz0.it - End of script output before headers: index.php, referer http:// www .lz0.it/forum/"

Il forum ha anche una parte pubblica dove, se si riesce a vedere la schermata principale e non da errore subito, in teoria dovrebbero poter scrivere tutti, ebbene se siprova a scrivere da un errore diverso, in pratica esce l'avviso di sessione scaduta e di riprovare a reinserire il post, cosa che non si riesce a fare.

Il forum è ospitato su Aruba.it a cui ho mandato ben 2 richieste di assistenza ma che finora sono inevase, il forum siccome doveva essere il forum di un gruppo di gioco per la ps3 era nato piccolo, poi si è ingrandito, infatti era stato impostato per usare il database SQLite.

Ho già provato a usare il tool repair_setting, nulla da fare. Premetto che in questi 10 giorni per circa 10/12 ore era tornato a funzionare normalmente, non so se era perchè avevo provato, pensando a permessi chmod sbagliati, a scaricare e ricaricare tutto il forum.

Credo di aver provato quasi tutto, mi affido a voi che ne sapete di sicuro di più, due precisazioni, il file del database (sm.db giusto ?) è 45 mb, ho provato a caricarlo su un forum nuovo installato sullo stesso indirizzo, ma mi da lo stesso problema. C'è un modo per trasferire i dati in un altro forum ?

Ringrazio in anticipo chi volesse aiutarmi.
Ciao.
Title: Re: 500 internal server error
Post by: emanuele on January 28, 2013, 06:46:10 AM
Ciao ironflyz e benvenuto!

Caspita 45 MB con SQLite? O_O
Per curiosità: quanti messaggi ha il forum? (sto cercando di capire quanto sia usabile SQLite per tenere in piedi un forum, curiosità personale, nulla più)

Tornando in topic: mmm...il 500 spesso è causato da permessi dei file sbagliati, ma a volte può anche essere altro...
Hay magari un htaccess da qualche parte?
Hai installato qualche mod?
Title: Re: 500 internal server error
Post by: ironflyz on January 28, 2013, 07:13:26 AM
Ciao,

grazie della solerte risposta, si infatti ho scritto di SQLite proprio perchè suppongo che quasi 9000 messaggi siano troppi, infatti se fossi riuscito ad entrare nel forum ne avrei cancellati un bel po', soprattuto di quelli vecchi o inutili e poi avrei trasferito il forum su MySQL. Si ho 4 .htaccess nei vari meandri del forum l'ho scaricato tutto sul pc quindi riesco a fare ricerche tramite windows, non sono installati mod, solo un tema grafico che non credo influisca (rbfinal by crip).

I file htaccess sono :

1 in Packages "<Files *>   Order Deny,Allow Deny from all   Allow from localhost</Files>"
1 in Packages/backups "<Files *>   Order Deny,Allow   Deny from all   Allow from localhost</Files>"
1 in cache "<Files *>   Order Deny,Allow   Deny from all</Files>"
1 in attachments "<Files *>   Order Deny,Allow   Deny from all   Allow from localhost</Files>RemoveHandler .php .php3 .phtml .cgi .fcgi .pl .fpl .shtml"
Title: Re: 500 internal server error
Post by: emanuele on January 28, 2013, 07:50:51 AM
Nope, questi sono htaccess che devono restare dove sono. ;)
Io stavo più pensando alla root del sito (la directory in cui hai la directory del forum), oppure la directory "forum".

9000 messaggi non son poi tanti...
Se ti interessa ho scritto (e postato da qualche parte, devo ritrovare il topic) un converter SQLite => MySQL. E' stato testato su un paio di forum e sembra funzionare.
Title: Re: 500 internal server error
Post by: ironflyz on January 28, 2013, 08:08:09 AM
Dunque ho ricontrollato per sicurezza, non ci sono altri htaccess nel forum, ne nelle cartelle sottostanti ne in quelle superiori oltre a quelli citati. Certo che mi farebbe comodo un converter SQLite => MySQL. Tornando al problema non ci sono soluzioni ? Potrebbbe essere qualche file corrotto ? Preciso che il forum quando ha presentato l'errore usava SMF 2.0.2 quando ha iniziato a funzionare per quelle poche ore ho pensato di aggiornarlo alla versione 2.0.3 e tutto funzionava benissimo. Che siano i permessi chmod ? Li ho controllati e mi sembra abbiano tutti 755 come chmod. Che faccio mi rassegno a rifare il forum ? (opera titanica, dovrei rimettere tutti i post ...  :o
Title: Re: 500 internal server error
Post by: emanuele on January 28, 2013, 08:33:32 AM
Calma...ma perché dovete tutti saltare subito a rifare tutto...
Ti sto facendo delle domande per cercare di capire il problema.

Nel post precedente ho fatto due domande, ma mi pare che tu abbia risposto solo ad una, quindi ripeto:
Hai installato qualche mod?

Poi, andando a http://www.lz0.it/f9/ vedo che c'è un altro forum. Punta allo stesso database dell'altro in /forum/ o ha un suo database a parte?
Una possibile prova facile da fare, è installare un forum in un'altra directory (e.s. forum_test) e, una volta installato, provare (in altre parole non cambiare niente, solo verificare che si apra) a puntarlo al vecchio database (basta cambiare il percorso in Settings.php). Se questo si apre, provi a copiarci dentro i file della directory "sources" andando a sovrascrivere quelli del forum di test. Se la cosa funziona provi a farlo con i file del tema. Se ancora funziona...rinomina le directory e scambia i forum.
Title: Re: 500 internal server error
Post by: ironflyz on January 28, 2013, 08:42:32 AM
Non ci penso nemmeno a rifare tutto senza provare qualsiasi cosa, in realtà ho risposto a tutte e due le domande è che magari ho confuso gli argomenti ed è passato inosservato, no non ho installato nessun mod, solo il tema grafico. Il forum F9 ha un suo database a parte e viene usato come forum provvisorio.

Ora veniamo all'esperimento che mi dici di fare, vediamo se ho capito bene :

1 - installo un nuovo forum in un'altra cartella e vedo se funziona
2 - modifico il file Settings.php e punto al database del vecchio forum e controllo se funziona
3 - una ad una, se tutto funziona e controllando sempre, copio tutte le directory nel nuovo forum.

Tutto giusto ?

p.s. ho aperto il file Settings.php del forum provvisorio con il notepad gli unici indirizzi che mi pare si possano modificare sono questi :

$boarddir = '/web/htdocs/www .lz0.it/home/f9';      # The absolute path to the forum's folder. (not just '.'!)
$sourcedir = '/web/htdocs/www .lz0.it/home/f9/Sources';      # Path to the Sources directory.
$cachedir = '/web/htdocs/www .lz0.it/home/f9/cache';      # Path to the cache directory.

Quale devo cambiare per puntare al database del forum che non va ?
Title: Re: 500 internal server error
Post by: emanuele on January 28, 2013, 11:57:38 AM
$db_name
Siccome usi SQLite dovrebbe essere un percorso che punta al database.
Title: Re: 500 internal server error
Post by: ironflyz on January 28, 2013, 02:39:57 PM
Si c'è :
Title: Re: 500 internal server error
Post by: emanuele on January 28, 2013, 02:54:20 PM
MAI mettere il percorso al database SQLite in chiaro!
E' come distribuire la password del tuo database! Anzi, è peggio perché ora chiunque abbia visto quella stringa di testo può tranquillamente scaricarsi il tuo database ed avere a disposizione i dati dei tuoi utenti.

Ora, prima cosa che devi fare è cambiare il nome dei quel file con qualcosa di diverso (di default vengono usati una sequenza random di lettere e numeri, ti invito a fare lo stesso e cambiare di conseguenza il tuo Settings.php.
Title: Re: 500 internal server error
Post by: ironflyz on January 28, 2013, 03:36:30 PM
E' un database vuoto. Comunque se pensi che sia meglio ho cambiato nome.
Title: Re: 500 internal server error
Post by: ironflyz on January 28, 2013, 03:39:38 PM
Ho eseguito la prova che mi hai suggerito, e ho puntato al database del forum che non funziona, e ... non funziona sempre errore 500 ecc ecc.
Title: Re: 500 internal server error
Post by: emanuele on January 28, 2013, 04:30:40 PM
Quote from: ironflyz on January 28, 2013, 03:36:30 PM
E' un database vuoto. Comunque se pensi che sia meglio ho cambiato nome.
Già, ma se io punto a quello del tuo forum vero scarico un database da 45 MB... ;)
C'è un motivo se SMF usa una serie casuale di numeri e lettere per il nome del database: i database SQLite sono più vulnerabili di quello MySQL perché sono di fatto dei semplici file. Per essere "sicuri" andrebbero mantenuti in una directory "fuori" da quelle accessibili dal web.

Quote from: ironflyz on January 28, 2013, 03:39:38 PM
Ho eseguito la prova che mi hai suggerito, e ho puntato al database del forum che non funziona, e ... non funziona sempre errore 500 ecc ecc.
mmm...questo è curioso.
Ed è anche uno dei motivi per cui ti ho chiesto della conversione.
Le possibilità che mi vengono in mente sono un paio, come prossima mossa, ti consiglierei di provare a scaricare il database sul tuo computer, quindi usare XAMPP o Wamp o simili e provare a vedere se in locale sul tuo computer ti funziona.
Title: Re: 500 internal server error
Post by: ironflyz on January 28, 2013, 05:10:17 PM
Scusa ma preferisco non installare programmi che non conosco approfonditamente, il pc lo uso per lavorare e se dovesse avere qualche problema dopo l'installazione o dopo la disinstallazione, sarebbe un grosso guaio. Non ci sono alternative ?
Title: Re: 500 internal server error
Post by: ironflyz on January 29, 2013, 05:30:06 AM
Ecco la stranezza, adesso funziona. Vorrei capire come è possibile che all'improvviso torni a funzionare da solo. Unico problema che riscontravo già prima durante la mnautenzione del forum nella sezione database mi da un errore in una riga di un file.
Title: Re: 500 internal server error
Post by: emanuele on January 29, 2013, 05:38:20 AM
mmm...
Addon per firefox? https://addons.mozilla.org/en-us/firefox/addon/sqlite-manager/

Il fatto che ogni tanto funzioni ed ogni tanto no, mi fa pensare che sia un problema di "traffico" (nel senso che ho paura che il database venga "lockkato" (bloccato l'accesso) nel momento in cui avviene una scrittura (vedi documentazione (http://www.sqlite.org/faq.html#q5)) e potrebbe essere che con "troppo" (da quantificare) traffico il sistema tenti di scrivere nel database troppe volte quasi contemporaneamente e generi l'errore), ma non ho sufficiente esperienza di SQLite per giudicare se la mia ipoetesi sia vera.

Altro tentativo.
Prendi il file del database, scaricalo e ricaricalo nella directory del forum di prova che ti ho fatto creare in precedenza e collega il nuovo forum a questa copia del database.
Title: Re: 500 internal server error
Post by: ironflyz on January 29, 2013, 05:47:21 AM
Migrando ad un database MySQL si risolverebbe definitivamente ? La prova che mi hai suggerito del cambio di database tra i due forum l'avevo già provata quando ha iniziato a non funzionare, l'avevo letto da qualche parte qui sul forum forse in lingua inglese, ma non funzionava comunque. Il messaggio di errore che ricevo non c'entra ?
Title: Re: 500 internal server error
Post by: emanuele on January 29, 2013, 06:14:11 AM
Ho il sospetto che passare a mysql potrebbe risolvere, ma senza vedere il risultato non posso darti la conferma definitiva...
Title: Re: 500 internal server error
Post by: ironflyz on January 29, 2013, 06:22:39 AM
Si beh la palla di cristallo non l'abbiamo nessuno, ma se dici potrebbe già è qualcosa, in questo momento sto cercando di eliminare topic e soprattutto post inutili, è una buona idea o serve a poco o nulla ?

Il messaggio di errore che ricevo è questo :

"SQL logic error or missing database

File: indirizzo xxxxxxxxx/ManageMaintenance.php
Riga: 956

Nota: Sembra che il tuo database debba essere aggiornato. I file del forum risultano attualmente alla versione SMF 2.0.3, mentre il database corrisponde alla versione 2.0.2. Il problema potrebbe essere risolto eseguendo l'ultima versione del file upgrade.php."

Ho provato qualche giorno fa ad eseguire il file citato ma si blocca a metà del percorso.
Title: Re: 500 internal server error
Post by: emanuele on January 29, 2013, 08:32:08 AM
Più descrivi i sintomi, più mi sembra un problema di db...
Senti, se vuoi conservare i messaggi si può provare la conversione e vedere cosa esce. ;)
Title: Re: 500 internal server error
Post by: ironflyz on January 29, 2013, 08:39:48 AM
Si lo proverei, lo metterei in uno spazio diverso e collegato al database MySQL, in modo da non dover cancellare il forum vecchio che se dovesse andare male qualcosa avrei sempre quello che funziona, abbi pazienza (come ne hai avuto finora) e spiegami passo passo le procedure perchè non le ho mai fatte e non vorrei fare errori o casini.
Title: Re: 500 internal server error
Post by: emanuele on January 29, 2013, 02:53:36 PM
Questo è lo script per convertire:
http://www.simplemachines.org/community/index.php?topic=476264.0
Lo scarichi, lo carichi nella stessa directory del tuo forum SQLite, e ci vai col browser. A quel punto dovresti poter scaricare un backup del database in formato mysql (devi essere loggato al forum come admin, se ciò non ti è possibile, semplicemente rimuovi la riga: if ($user_info['is_admin'])).
Una volta che hai il backup, installi un forum vuoto dove hai mysql, quindi apri phpmyadmin, cancelly tutte le tabelle all'interno del database e ripristini il backup che hai scaricato in precedenza. Correggi percorsi vari con repair_settings e tutto dovrebbe funzionare.
Title: Re: 500 internal server error
Post by: ironflyz on January 29, 2013, 04:26:09 PM
Dunque ho fatto come hai scritto, intanto volevo sapere se è normale che il file del database che era di 45 mb, scaricato sia di soli 2,2 mb ? Problema quando importo il file del database, dopo aver cancellato tutte le tabelle, mi da errore : query sql, non so se scriverti tutta la stringa che è lunga e magari come l'altra volta contiene informazioni da non divulgare, dimmi tu.
Title: Re: 500 internal server error
Post by: emanuele on January 30, 2013, 04:00:25 AM
No, non è normale...9000 messaggi dovrebbero essere più o meno 9 MB.
Probabilmente php va in timeout...
No, non serve riportare l'errore, se hai familiarità con SQL, prova ad aprire il file sql con un editor di testo e "a che punto" termina il file (l'ultima tabella esportata).

Prova questo se puoi:
Quote from: emanuele on January 29, 2013, 05:38:20 AM
Addon per firefox? https://addons.mozilla.org/en-us/firefox/addon/sqlite-manager/
dovrebbe permettere di esportare in formato sql...magari poi riesci a re-importarlo in phpmyadmin.
Title: Re: 500 internal server error
Post by: ironflyz on January 30, 2013, 07:52:59 AM
Non ho molta dimestichezza con i file sql, però l'ho aperto col blocco note di windows, le ultime righe sono dei numeri tra parentesi, blocchi di 2 numeri uno varia sempre l'altro varia ma dopo molte righe  (123456, 1234), (859746, 1234), non sono questi ma per farti capire cosa vedo e sono tutti incolonnati, il file termina così.

Provo l'addon di firefox ? (mi dovrò installare firefox  :o )
Title: Re: 500 internal server error
Post by: ironflyz on January 30, 2013, 08:05:56 AM
Aggiornamento in corsa, ho riprovato ad usare lo script che mi ha postato ma stavolta ha scaricato un file sql di oltre 10 mb forse ci siamo. Riprovo la procedura di creazione ed importazione, appena fatto ti riferisco qui.
Title: Re: 500 internal server error
Post by: ironflyz on January 30, 2013, 09:32:12 AM
Fatto due volte per sicurezza anche questa volta, mi da errore "#1146 - Table xxxxxxxxxxx_admin_info_files' doesn't exist" (le x le ho messe io). Ho controllato il file sql e sembra contenere tutto tanto che alla fine c'è scritto "DONE".
Title: Re: 500 internal server error
Post by: emanuele on January 30, 2013, 09:41:20 AM
Sì, i 10 mb sembrano giusti.

Molto strano il table doesn't exist, lo script dovrebbe includere anche il codice per creare le tabelle...devo riguardare il codice, ma al momento non posso...
Title: Re: 500 internal server error
Post by: ironflyz on January 30, 2013, 09:48:29 AM
Beh non ho alcuna fretta, per ora il forum funziona, non so perchè ma funziona, quindi è un'operazione quella della migrazione che si può fare con una certa calma. Nel frattempo mantengo il file sql aggiornato per quando dovrà essere usato. Se sovrascrivessi le tabelle che ci sono invece di cancellarle e rifarle ?
Title: Re: 500 internal server error
Post by: ironflyz on January 30, 2013, 11:51:20 AM
Provato non funziona restituisce errore di dati duplicati.
Title: Re: 500 internal server error
Post by: emanuele on February 02, 2013, 10:03:06 AM
Più che sovrascriverle, a sto punto, prova a svuotarle...però è strano veramente...devo fare qualche prova...
Title: Re: 500 internal server error
Post by: ironflyz on February 20, 2013, 09:52:37 AM
Mi sono fermato da fare prove perchè all'improvviso come dicevo è ritornato a funzionare come si era bloccato e sono tornato a dover amministrare a tempo pieno il forum, per precauzione ho cancellato un po' di post vecchi e inutili e cerco di mantenerlo con un massimo di 4000 post, vedremo, grazie di tutto, anche se non ho capito del tutto e risolto il problema.