Back to top

Autore Topic: [RISOLTO]JInstaller: : Install: Cannot find XML setup file ... ma solo su Linux!  (Letto 9233 volte)

Offline Ladyj

  • Nuovo arrivato
  • *
  • Post: 35
  • Sesso: Femmina
  • Nulla è impossibile per un idiota di talento
    • Mostra profilo
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

« Ultima modifica: 12 Lug 2011, 10:01:44 da Ladyj »
Mariella

Offline 56francesco

  • Fuori controllo
  • *
  • Post: 29585
  • Sesso: Maschio
    • Mostra profilo
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.
(uso XP perchè win98 non si installa) 
PS: non sono un dipendente dello sbonzor quindi è necessario un "per favore" alla richiesta e un "grazie" alla risposta, sempre! PPS: non scrivo mai per primo in MP, in caso contrario chiedimi una conferma, Grazie.

Offline Ladyj

  • Nuovo arrivato
  • *
  • Post: 35
  • Sesso: Femmina
  • Nulla è impossibile per un idiota di talento
    • Mostra profilo
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
Mariella

Offline giusebos

  • Fuori controllo
  • *
  • Post: 21748
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Controlla anche il proprietario/gruppo, questo molto spesso è il problema.
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline Ladyj

  • Nuovo arrivato
  • *
  • Post: 35
  • Sesso: Femmina
  • Nulla è impossibile per un idiota di talento
    • Mostra profilo
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
Mariella

Offline Ladyj

  • Nuovo arrivato
  • *
  • Post: 35
  • Sesso: Femmina
  • Nulla è impossibile per un idiota di talento
    • Mostra profilo
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

« Ultima modifica: 06 Lug 2011, 15:11:59 da Ladyj »
Mariella

Offline giusebos

  • Fuori controllo
  • *
  • Post: 21748
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
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
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

mau_develop

  • Visitatore
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.

Offline Ladyj

  • Nuovo arrivato
  • *
  • Post: 35
  • Sesso: Femmina
  • Nulla è impossibile per un idiota di talento
    • Mostra profilo
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
Mariella

Offline 56francesco

  • Fuori controllo
  • *
  • Post: 29585
  • Sesso: Maschio
    • Mostra profilo
Citazione
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
(uso XP perchè win98 non si installa) 
PS: non sono un dipendente dello sbonzor quindi è necessario un "per favore" alla richiesta e un "grazie" alla risposta, sempre! PPS: non scrivo mai per primo in MP, in caso contrario chiedimi una conferma, Grazie.

Offline Ladyj

  • Nuovo arrivato
  • *
  • Post: 35
  • Sesso: Femmina
  • Nulla è impossibile per un idiota di talento
    • Mostra profilo
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
Mariella

Offline 56francesco

  • Fuori controllo
  • *
  • Post: 29585
  • Sesso: Maschio
    • Mostra profilo
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..
(uso XP perchè win98 non si installa) 
PS: non sono un dipendente dello sbonzor quindi è necessario un "per favore" alla richiesta e un "grazie" alla risposta, sempre! PPS: non scrivo mai per primo in MP, in caso contrario chiedimi una conferma, Grazie.

Offline Ladyj

  • Nuovo arrivato
  • *
  • Post: 35
  • Sesso: Femmina
  • Nulla è impossibile per un idiota di talento
    • Mostra profilo
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.
Mariella

Offline 56francesco

  • Fuori controllo
  • *
  • Post: 29585
  • Sesso: Maschio
    • Mostra profilo
Citazione
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.
(uso XP perchè win98 non si installa) 
PS: non sono un dipendente dello sbonzor quindi è necessario un "per favore" alla richiesta e un "grazie" alla risposta, sempre! PPS: non scrivo mai per primo in MP, in caso contrario chiedimi una conferma, Grazie.

Offline Ladyj

  • Nuovo arrivato
  • *
  • Post: 35
  • Sesso: Femmina
  • Nulla è impossibile per un idiota di talento
    • Mostra profilo
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.
Mariella

Offline 56francesco

  • Fuori controllo
  • *
  • Post: 29585
  • Sesso: Maschio
    • Mostra profilo
Citazione
Vuol dire che Joomla su windows

ma in ufficio stai lavorando con iis oppure hai installato una lamp locale?  (Linux, Apache, Mysql Php = lamp)
(uso XP perchè win98 non si installa) 
PS: non sono un dipendente dello sbonzor quindi è necessario un "per favore" alla richiesta e un "grazie" alla risposta, sempre! PPS: non scrivo mai per primo in MP, in caso contrario chiedimi una conferma, Grazie.

Offline Ladyj

  • Nuovo arrivato
  • *
  • Post: 35
  • Sesso: Femmina
  • Nulla è impossibile per un idiota di talento
    • Mostra profilo
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ì.
Mariella

Offline Ladyj

  • Nuovo arrivato
  • *
  • Post: 35
  • Sesso: Femmina
  • Nulla è impossibile per un idiota di talento
    • Mostra profilo
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.
Mariella

 



Web Design Bolzano Kreatif