Buona giornata
dopo 14 giorni di letture sulle problematiche che joomla può incontrare per cause legate all'ambiente operativo sono arrivato a crearne uno cosi composto:
- OS centos
- Apache 2.2.10
- PHP 5.2.9
- mysql
- cpanel
- fantastico de luxeHo impostato questi settaggi di variabili di PHP necessarie per utilizzare joomla 1.5.x in modo più sicuro (reperite dagli altri provider dove girano meglio i cms che ho installato)
Safe Mode OFF
Session save path: scrivibile
Display Errors: ON
File Uploads: ON
Magic Quotes GPC: ON
Magic Quotes Runtime: OFF
Register Globals: OFF
Output Buffering: OFF
Session auto start: OFF Ho compilato anche questi moduli che con la mia lettura di questi giorni ho trovato essere idonei per un ambiente sicuro e per alcune funzioni supplementari
GD2
Supporto zlib
Supporto XML
Mod_rewrite
IonCube PHP Loader
Zend Optimizer
cURL
SuHosin (protegge da codice php fatto male ed altro relativo alla sicurezza, a volte riferito come PHPSuHosin)
Mod_Security Per quanto riguarda l'handler APACHE per il php, dando per scontato che il metodo base di usare il modulo nativo è il più insicuro, rimevano due scelte: usare un interfaccia CGI clasica oppure un modulo chiamato SuPHP che svolge le stesse funzioni di protezione abolendo il problema dei diritti di owner di apache (nobody/nobody) e settando i diritti alle directories/files agli accounts che li installano/usano. Inoltre Fantastico (ma anche altre applicazioni) usano e preferiscono utilizzare un modulo chiamato SuEXEC (che sostituisce il vecchio PHPsuEXEC) per gestire le installazioni e bypassare i problemi dei diritti nativi di apache
Per cui la momento ho settato attualmente come handler PHP
SuPHP
ma l'alternativa che sembrerebbe piu' performante e piu sicura ancora dovrebbe essere basato su
Fcgid, compatibile con SuEXEC (ma con settaggi da fare manuali nella configurazione apache perchè di base troppo restrittivo) che non soffre dei problemi di sovraccarico dello standard fcgi
Ho letto ed ho trovato "affascinante" anche l'handler MPM Prefork che oltra alla sicurezza offre performance miglior ed un modo di protezione dell'ambiente in caso di crash di una scripts molto efficace (isolamento del singolo processo) ma non avendo conoscenze linux/apache non l'ho utilizzato.
Non ho installato i moduli
Tomcat
Mod_mono
Mod_perl
eaccelerator
Non so se sono installati da cpanel (whm) quando compila apache anche i segueti moduli per cui li elenco con il beneficio del dubbio
PEAR 1.7
GNUPG
SOAP
PHPADMIN
libcurl e php/curl
python
------------------------------------------------
la creazione di account funziona perfettamente con WHM e con fanstastico (dopo diverse modifiche manuali) joomla 1.5.10 si installa e disinstalla correttamente e con le directory settate a 0775 ed i files a 0644 con proprietari nome_account:nome_account (dove nome_account è il login dell'account).
Se provo ad installare tramite il pannello di amministrazione di joomla usando la prima voce:
Upload packeg file - sfoglia
riscontro la seguente casistica:
1) quasi tutti i moduli mi restituiscono un errore:
"There was an error uploading this file to the server."che leggendo in giro può essere dovuto a diversi fattori (settaggi php.in per la dimensione dei file, openbase_dir, path della directory TMP, diritti di scrittura, etc.). in calce la configurazione php del mio host dove si evinche che le dimensione dei files massima sia per l'upload che per il post è di 750MB (!!!), la ram dedicata è quadruplicata, i tempi di timeout più che raddoppiati, etc. etc in base alle varie risposte trovate sul web.
2)diversi moduli (quasi tutti i più recenti) INVECE si installano
CORRETTAMENTE senza restituire nessun errore
3)con la versione 1.5.10 alcuni moduli presentano un errore dovuto ai file di installazione xml (documentata ufficialmente dalla comunity joomla) per cui restituiscono un errore di file non trovato che va bypassato manualmente oppure richiedendo ai creatori di aggiornare i loro file
In ogni caso su elencato unzippando i moduli/componenti/plugin localmente, uplodandoli sul server ed installandoti con l'opzione "installa da cartella"
TUTTI VENGONO CARICATI CORRETTAMENTE (tranne quelli con i file xml non corretti, tipo il noto AVR)
Dopo questo tipo di installazione però il funzionamento di joomla non è "costante e coerente":
- su alcuni account (con e senza JCE come editor) modificare un articolo inserendo ritorni a capo od altre formattazioni, al momento del salvataggio "compatta" tutti il testo azzerando ogni formattazione di testo
- su un account i moduli si installano e funzionano ma dopo circa 12 ore "scompaiono" dalla lista degli installati pur rimanendo presenti nelle cartelle tutti i files (sto indagando sul lato mysql)
Queste problematiche si verificano sia con installazione tramite fantastico sia con installazione manuale di joomla.
E' evidente che si tratta di problematiche legate alla configurazione di apache/php per permettere il modus operanti di joomla (molto pericoloso se non eseguito in un ambiente sicuro).
Soluzioni come chmod a 777, chown etc non sono soluzioni strutturali ed aprono immense praterie per gli hackeraggi (ieri mattina su un account vps di HOSTV hanno hackerato l'home page in una configurazione in cui ogni cosa di joomla funzionava al primo click MA impossibile da modificare come utente)
Ho il sentore di essere capitato in un momento 'storico' particolare, tra le restrizioni della nuova 1.5.10 per gli xml, il nuovo modo di operare più sicuro del php (la versione 6 ho letto abolira del tutto una dei settaggi utilizzato da joomla per funzionare!!!) e le release di sicurezza di apache.
Non avendo una conoscenza cosi vasta di tutto l'ambiente LAMP (sono solo 3 settimane che leggo), chiedo se esistono professionisti che GIA CONOSCONO la problematicà in grado di settare l'ambiente in modo corretto senza rinunciare alla sicurezza, laddove la comunità non possa indicarmi come procedere step-by-step o sia ancora legata al concetto "pedala da solo" spesso letto in giro.
Ho pedalato e non ho più dove guardare: posso erudirmi in LAMP ma prima di far funzionare joomla passerebbero mesi, c'è aiuto li fuori a pagamento o non?
[size=90]
[/size][size=85]
Diagnostic InformationJoomla! Version: Joomla! 1.5.10 Production/Stable [ Wohmamni ] 27-March-2009 23:00 GMTconfiguration.php: Writable (Mode: 755 ) |
RG_EMULATION: N/A
Architecture/Platform: Linux 2.6.18-128.1.6.el5 ( x86_64) |
Web Server: Apache/2.2.11 (Unix) mod_ssl/2.2.11 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 mod_perl/2.0.4 Perl/v5.8.8 ( 95.211.14.237 ) |
PHP Version: 5.2.9
PHP Requirements: register_globals: Disabled | magic_quotes_gpc: Enabled | safe_mode: Disabled | MySQL Support: Yes | XML Support: Yes | zlib Support: Yes
mbstring Support (1.5): Yes | iconv Support (1.5): Yes | save.session_path: Writable | Max.Execution Time: 90 seconds | File Uploads: Enabled
MySQL Version: 5.0.77-community ( Localhost via UNIX socket )
Extended Information:SEF: Disabled (without ReWrite) |
FTP Layer: Disabled |
htaccess: Not Implemented
PHP/suExec: User and Web Server accounts are the same. (PHP/suExec probably installed)
PHP Environment: API: cgi-fcgi | MySQLi: Yes | Max. Memory: 64M | Max. Upload Size: 750 | Max. Post Size: 16M | Max. Input Time: 120 | Zend Version: 2.2.0
Disabled Functions: system,popen,dl,passthru,proc_open,shell_exec
MySQL Client: 5.0.77 ( latin1 )[/size]
P.s: il settaggio del configuation a 755 è solo l'ultimo tentativo fatto