Joomla.it Forum

Non solo Joomla... => Sviluppo => : Ladyj 06 Jul 2011, 12:06:44

: [RISOLTO]JInstaller: : Install: Cannot find XML setup file ... ma solo su Linux!
: Ladyj 06 Jul 2011, 12:06:44
Ciao a tutti.

Sto scrivendo una nuova componente per Joomla! 1.6.23 e ho problemi in fase di installazione.
Sul PC di sviluppo (Windows XP) va tutto bene. Il componente viene installato correttamente e lo trovo nel menu 'Components' del back-end (uso la modalità di installazione "from directory").

I problemi partono quando cerco, con la stessa modalità e gli stessi files, di installare in componente sulla macchina di produzione, che è un CentOS.

Il messaggio di errore in oggetto viene visualizzato due volte, indentico. Immediatamente sotto compare la notifica 'Installing component was successful'. Il componente non compare nel menu 'Components' del backend, in compenso compare nell'elenco delle componenti da linkare ai menù e lo trovo anche nel 'Manage' del' 'Extension Manager'.

Perchè con Linux non va bene? Ho provato a dare permessi 777 sia al file .xml di configurazione, sia alla direcotry sul server dalla quale faccio partire l'installazione. Niente da fare.

Qualche idea?  ???

Grazie

Mariella

PS. Allego estremi della macchina
CentOS 5.5 32-bit
Joomla! 1.6.23
PHP 5.3.1

: Re:JInstaller: : Install: Cannot find XML setup file ... ma solo su Linux!
: 56francesco 06 Jul 2011, 12:25:19
non credo dipenda dal sistema operativo, anche perchè in locale starai lavorando in ambiente LAMP ovviamente, ed è pacifico che la lamp consiste sempre negli stessi programmi open e che gli stessi  non risentono del s.o.
semmai potrebbe dipendere dal fatto che in una LAMP locale i controlli sono meno serrati che in una LAMP di un server remoto,  ad esempio sono costretto a settare un forum kunena in locale per poi trasferire il file params.ini in remoto perchè in locale mi è possibile mentre in remoto lo stesso files dello stesso template dello stesso kunena non viene caricato.

in pratica stai lavorando con linux sia in locale che in remoto, ma in remoto la LAMP è settata severamente e in locale no.
: Re:JInstaller: : Install: Cannot find XML setup file ... ma solo su Linux!
: Ladyj 06 Jul 2011, 14:21:06
Ciao,

ho provato a fare un chmod -R 777 della home di Joomla! e ricorsivo di tutte le sottodir + file, così tanto per vedere il risultato (ovviamente non era una soluzione valida, ma volevo giusto capire se è un problema di permessi). Niente da fare, tutto come prima.

Il mio componente di chiama bdb. Volevo essere certa che l'xml che dice di non trovare è il bdb.xml. Gliel'ho sottoposto 'rovinato', ho eliminato un tag di chiusura ... e Joomla! mi ha detto giustamente che il file bdb.xml non era corretto e mancava il tag di chiusura copyright alla riga 9 ... Quindi sembrerebbe che non sia il bdb.xml il file che dice di non trovare.

Altra prova che vorrei fare a questo punto è un mega-debug di Joomla! con eclipse sul server e vedere dove esattamente si inchioda. Ormai sono curiosa.

A dire la verità il componente funziona alla grande, riesco anche a metterlo a menù lato front-end. Ma un'installazione zoppa su una macchina di produzione non è cosa.

Se scopro col debug qualcosa ve lo scrivo.

Ciao
: Re:JInstaller: : Install: Cannot find XML setup file ... ma solo su Linux!
: giusebos 06 Jul 2011, 14:37:59
Controlla anche il proprietario/gruppo, questo molto spesso è il problema.
: Re:JInstaller: : Install: Cannot find XML setup file ... ma solo su Linux!
: Ladyj 06 Jul 2011, 14:42:51
E' tutto root,  proprietario e gruppo.
Anzi dirò di più, è una macchina nuova di pacca, non esistono altri utenti all'infuori di root!

Sta cosa comincia a divertirmi  :o :o :o
: Re:JInstaller: : Install: Cannot find XML setup file ... ma solo su Linux!
: Ladyj 06 Jul 2011, 14:52:20
Fermi, ho detto una castroneria.E' vero che oltre a root non ho creato altri utenti, ma ci sono quelli di sistema.Ho inserito questo codice PHP:
<?php echo exec('whoami');?>

Apache gira sotto l'utente nobody.
A questo punto farò questo tentativo: creerò un utente 'apache' dedicato, modificherò l'utente del servizio, ricreerò la home di Joomla sotto htdocs in una directory con utente e gruppo 'apache'.

Vediamo come va

: Re:JInstaller: : Install: Cannot find XML setup file ... ma solo su Linux!
: giusebos 06 Jul 2011, 15:20:37
E' tutto root,  proprietario e gruppo.
Anzi dirò di più, è una macchina nuova di pacca, non esistono altri utenti all'infuori di root!

Sta cosa comincia a divertirmi  :o :o :o


Il gruppo è www-data!!

crea un utente ed inseriscilo in quel gruppo
: Re:JInstaller: : Install: Cannot find XML setup file ... ma solo su Linux!
: mau_develop 06 Jul 2011, 17:49:43
http://forum.joomla.it/index.php/topic,137725.0.html quì trovi tutto...

ma non credo sia quello il tuo problema, .... tiro ad indovinare? ... installazione da directory fregandosene del fatto che su lnx gli slash non sono backslash... indovinato?

M.
: Re:JInstaller: : Install: Cannot find XML setup file ... ma solo su Linux!
: Ladyj 06 Jul 2011, 19:03:21
No il path della directory di installazione è corretto, infatti installazione arriva quasi fino in fondo, da l'errore in oggetto e il componente non compare a menu nel back-end. Tuttavia riesco a vederlo e a linkarlo per inserirlo in un menù, da front-end lo vedo e funziona perfettamente.
E' vero che da back-end non mi interessa accedere al componente, ma non vado in produzione con un'installazione sporca.

Secondo me c'entra assolutamente invece l'utente di Apache, quel nobody è sbagliato a prescindere da Joomla! per ragioni di sicurezza. La cosa bella è che il sistema è stato installato usando XAMPP 1.7.3, possibile che abbiano lasciato l'utente nobody? L'1.7.4 non l'ho usato perchè so che da problemi con Joomla. Cmq torno sul CentOS in questione lunedì, mi sa che la piallo da capo e lo reinstallo alla vecchia maniera, non uso un bundle come xampp. Ps. Il mio portatile Ubuntu infatti ha Apache2 che gira come www-data, l'ho installato a mano un pezzo alla volta e funziona perfettamente.

Se è colpa del nobody lunedì metto un bel SOLVED, se no si ricomincia  ::)

PS. Ora leggo le guide, grazie
: Re:JInstaller: : Install: Cannot find XML setup file ... ma solo su Linux!
: 56francesco 06 Jul 2011, 19:08:24
e il sistema è stato installato usando XAMPP 1.7.3
insomma al risparmio, ci sono tanti avvisi che xampp non è buono per un server pubblico..

per verificare prova l'estensione in una area test, magari su altervista oppure qui
http://forum.joomla.it/index.php/board,85.0.html
: Re:JInstaller: : Install: Cannot find XML setup file ... ma solo su Linux!
: Ladyj 06 Jul 2011, 19:19:59
Guarda, non per fare la paracuxx ma ... XAMPP non lo volevo nemmeno io! ... e nemmeno CentOS ma questo è un altro discorso.

Punto come ho detto a pillarlo al suolo e ricostruirlo aggiungendo un pezzo alla volta, tanto per fortuna è appena nato e non è per ora nemmeno pubblicato su internet. Visto le evidenti falle penso di riuscire a convincere il collega

Grazie a tutti!

Ciao ciao
: Re:JInstaller: : Install: Cannot find XML setup file ... ma solo su Linux!
: 56francesco 06 Jul 2011, 19:35:47
comunque sia il l'avviso è chiaro,  non trova il file xml idoneo per l'installer di joomla   quindi l'estensione probabilmente è scritta male,  per verificarlo prova anche quella in una area di test diversa dal server..
: Re:JInstaller: : Install: Cannot find XML setup file ... ma solo su Linux!
: Ladyj 06 Jul 2011, 19:46:23
Allora perchè in locale sul mio pc xp di sviluppo l'installer funziona? Se è scritta male per joomla su linux, è scritta male anche per joomla su windows.
: Re:JInstaller: : Install: Cannot find XML setup file ... ma solo su Linux!
: 56francesco 06 Jul 2011, 19:55:24
ad esempio sono costretto a settare un forum kunena in locale per poi trasferire il file params.ini in remoto perchè in locale mi è possibile mentre in remoto lo stesso files dello stesso template dello stesso kunena non viene caricato.
: Re:JInstaller: : Install: Cannot find XML setup file ... ma solo su Linux!
: Ladyj 06 Jul 2011, 20:13:21
OK va bene, dov'è il razionale? Perchè Linux non carica dei pezzi e Windows invece si? Non posso accettare questa cosa per partito preso.
Vuol dire che Joomla su windows funziona in un modo e Joomla su linux funziona in un altro, tra l'altro peggiore (tux perdono). Se è così c'è un problema di portabilità tremendo, significa che quando scrivo un componente devo tenere in considerazione il so del server? Non può essere, vorrebbe dire tornare indietro a C! I file php con cui è scritto joomla sono uguali per i due so, nel momento in cui mantengo uguale la versione del PHP il mio componente DEVE essere portabile da un sistema all'altro. Se no ragazzi è un casino.

E' per questo che secondo me il problema è nel dialogo tra il so e il php, nello strato in cui si trova l'apache per intenderci. Joomla sta dentro una sandbox e dovrebbe essere ignaro del so che sta fuori.

Bho, poi magari sbaglio. Farò delle prove su altre macchine ma mi rifiuto come sviluppatore di pensare che un mio componente su windows si installa e su linux no, a parità di versioni di joomla, php, apache e mysql, e che la colpa risieda nel modo in cui è scritto il componente.
: Re:JInstaller: : Install: Cannot find XML setup file ... ma solo su Linux!
: 56francesco 06 Jul 2011, 20:28:30
Vuol dire che Joomla su windows

ma in ufficio stai lavorando con iis oppure hai installato una lamp locale?  (Linux, Apache, Mysql Php = lamp)
: Re:JInstaller: : Install: Cannot find XML setup file ... ma solo su Linux!
: Ladyj 06 Jul 2011, 21:13:21
In ufficio ho xp con apache. non ho mai usato, ne uso, ne userò mai iis, introdurrei una variabile in-debuggabile.
Le versioni di apache, php, joomla e mysql tra il mio pc e il server centos sono allineate.
L'unica cosa diversa è il sistema oeprativo.

Il tuo problema potrebbe essere legato alle solite questioni sui permessi di scrittura. Il mio caso è diverso. Se fosse come dici tu significa che la classe JInstaller del file installer.php nella directory del core di joomla /libraries/joomla/installer digerisce bene il mio componente sotto windows, e sotto linux no, e la causa sarebbe nel modo in cui è scritto il mio componente .... l'installer non entra nel merito del codice php del componente, guarda i file xml di configurazione, controlla che ci siano tutti i pezzi, crea i record nel db e cose così.
: Re:[RISOLTO]JInstaller: : Install: Cannot find XML setup file ... ma solo su Linux!
: Ladyj 12 Jul 2011, 10:03:25
Confermo. Era un problema di permessi. Una combinazione sbagliata tra l'utente linux sotto cui gira Apache e l'utente proprietario della root directory di Joomla su file system. Erano diversi.

Ora sono uguali e l'installazione va a buon fine fino in fondo. Il messaggio d'errore er aun po' fuorviante.