• User

    Host per Joomla e personalizzazione php.ini

    Salve a tutti,
    sto creando un nuovo sito ed ho scelto come sevizio hosting Ergonet.
    Recentemente ho acquistato un componente che al momento dell'installazione mi da il seguente errore:

    Server setup does not meet the minimum requirements for the PDF to be generated.

    Open basedir needs to be empty.

    Gli sviluppatori del componente mi hanno detto che per poter permettere la creazione del file PDF (motivo principale per il quale ho acquistato il prodotto) devo necessariamente lasciare vuoto il campo open_basedir del file php.ini

    Contattando l'assistenza del mio servizio hosting mi hanno comunicato però, che essendo il mio sito su un hosting condiviso, per motivi di sicurezza non è possibile effettuare la modifica.

    Volevo quindi sapere se è realmente così, o, se eventualmente, se ci fosse qualche altro servizio hosting che mi permetta la modifica del campo open_basedir e quindi di far funzionare questo componente.

    Grazie mille per l'aiuto
    Francesco


  • Super User

    Strano che non si possa fare... se non può farlo direttamente il cliente si può modificare la configurazione php direttamente nel server...


  • User Attivo

    Ciao,

    non tutti i provider offrono la possibilità di personalizzare il php ini.
    Questo anche per motivi di sicurezza e per poter gestire al meglio le configurazioni del server.

    Puoi provare un'alternativa usando il file htaccess: prova ad aggiungere, al fondo, questa riga:

    
    
    php_flag open_basedir off
    

    Se dopo la modifica il tuo sito va in errore prova ancora sostiuendo la riga sopra con:

    
    
    php_admin_value open_basedir ""
    

    Se anche così va in errore allora vuol dire che non puoi gestire i parametri PHP nemmeno su htacces e non hai altre alternative (visto già il diniego del tuo provider).

    Facci sapere.


  • User

    Ciao servinf,
    purtroppo inserendo alla fine del mio file .htaccess entrami i codici viene fuori questo errore:

    [h=1]*Internal Server Error
    ** Errore di configurazione interno del server. *


  • User Attivo

    Ciao,

    No way...
    Non hai alternative.


  • User

    @servinf said:

    Ciao,

    No way...
    Non hai alternative.

    Ma ci sono altri servizi di hosting che permettono la modifica di questo campo oppure no?
    Se sì, sapresti indicarmene qualcuno?

    Grazie


  • Super User

    Si che ci sono, basta googlare 😉


  • User Attivo

    Ciao,

    quello che posso dirti è di guardare le firme di chi posta qui sul forum e farti un giro sui vari siti: al più contatti il provider in questione per chiedere info.


  • Super User

    Ciao sh7va,

    quello che ti ha detto ergonet e' corretto. In ambiente shared e' fortemente sconsigliato non permettere la modifica dell'open_basedir su "empty" questo mette a rischio sicurezza l'intero server e quindi tutti i clienti ospitati sul server.

    Ti consiglio, per la tua sicurezza di non affidarti ad un servizio hosting che ti permette di disattivare questa opzione, in quanto cosi facendo, anche il tuo sito potrebbe essere oggetto di attacco nel caso in cui altri siti, sullo stesso server, venissero hackerati.

    Il mio consiglio e', se realmente non c'e' altro modo per gli sviluppatori di aggirare questo problema in altro modo, meglio che acquisti un VPS se vuoi la sicurezza del tuo sito, qualora, per te, la sicurezza, non sia importante, allora prova a cercare un hosting che ti permetta di avere quella opzione su empty.

    Ciao.


  • Super User

    Sono parzialmente d'accordo con vhosting, perché si possono impostare dei permessi php senza compromettere l'intera piattaforma... ergo, non parlo di dare accesso a tutto il server, ma solo ed esclusivamente a una zona ben precisa e circoscritta, alla root del sito / dominio. Esempio di configurazione php presente nella cartella pool.d (contiene i singoli settaggi di tutti gli host virtuali):

    [web1]

    listen = 127.0.0.1:9011
    listen.allowed_clients = 127.0.0.1

    user = web1
    group = client1

    pm = dynamic
    pm.max_children = 10
    pm.start_servers = 2
    pm.min_spare_servers = 1
    pm.max_spare_servers = 5
    pm.max_requests = 0

    chdir = /

    php_admin_value[open_basedir] = none
    php_admin_value[session.save_path] = /var/www/clients/client1/web1/tmp
    php_admin_value[upload_tmp_dir] = /var/www/clients/client1/web1/tmp
    php_admin_value[sendmail_path] = "/usr/sbin/sendmail -t -i [email][email protected][/email]"

    Dalla versione 5.4 fare ciò è possibile, in caso di attacco a cadere non è il demone php come processo, ma solo il dominio configurato con open_basedir vuoto.

    Saluti


  • Super User

    Si, ma se lo scripts vuole un valore "empty" significa che vuole accesso a tutto / indifferentemente da quanto inserito, non so cosa faccia lo scripts, ma empty significa senza restrizione da nessuna parte, altrimenti non sarebbe un valore "empty" ma sarebbe un semplice valore di open_basedir attivo

    La config che hai inserito credo che sia di php-fpm con nginx, tuttavia php-fpm a livello di php.ini funziona nello stesso modo di php-cgi.

    Ciao.


  • Super User

    Se lo script vuole accesso a tutto, e non alla sola cartella del sito - dominio, non gli resta che prendere un server...