Errore 500 in modalità suPHP: permessi di file e cartelle (chmod)

Capire l'«Internal Server Error» in modalità suPHP e come impostare correttamente i permessi.

500 Internal Server Error è un codice di stato HTTP che indica che il server è in esecuzione, ma ha incontrato un errore critico che gli impedisce di elaborare la richiesta.

A cosa serve suPHP

Nella modalità standard mod_php, Apache viene sempre eseguito con un unico utente condiviso — nobody. Questo è tutt'altro che ideale: permessi configurati in modo errato possono consentire ad altri utenti dello stesso server di leggere o addirittura modificare i tuoi file. Inoltre, quando gli script creano o modificano file sotto nobody, quei file diventano impossibili da eliminare o modificare via FTP.

suPHP risolve entrambi i problemi eseguendo ogni processo con il reale proprietario dell'account. I tuoi file rimangono tuoi.

Impostazioni corrette dei permessi

Permesso Si applica a Significato
644 File Il proprietario può scrivere; gli altri possono solo leggere (predefinito)
444 File Sola lettura per tutti, inclusi i tuoi script
755 Cartelle Accesso standard alle cartelle (predefinito, nessuna modifica necessaria)

Alcune regole importanti:

  • 755 deve essere impostato sulla cartella /public_html/your_domain
  • Non modificare mai i permessi di cartelle e file di sistema come stats, logs, .htpasswd o la directory /domains
  • Tutte le modifiche ai permessi devono riguardare solo /public_html/your_domain e il suo contenuto
  • Non impostare mai 666 o 777 su file o cartelle — gli script non verranno eseguiti con questi permessi e l'intero account sarà a rischio

Suggerimento

Con i permessi 644, solo gli script in esecuzione nel tuo account possono scrivere sui file. Nessun altro può farlo. Per un livello di sicurezza aggiuntivo, puoi passare a 444 — in questo caso nemmeno i tuoi script potranno scrivere, anche se si tratta di una scelta del tutto opzionale.

I nostri prodotti e servizi

Hosting WebServizi di hosting affidabili per siti web di qualsiasi dimensione.
Ordina
VPSInfrastruttura cloud flessibile con accesso root completo.
Ordina
Server DedicatiServer dedicati per le massime prestazioni.
Ordina

Cause comuni dell'errore 500 Internal Server Error

In modalità suPHP, un errore 500 significa quasi sempre che il server ha bloccato uno script per uno di questi motivi:

  • Un file ha permessi diversi da 644 o 444 — ad esempio 666
  • Una cartella ha permessi diversi da 755 — ad esempio 777
  • Il tuo .htaccess contiene direttive non supportate da suPHP

Direttive .htaccess non supportate in modalità suPHP

suPHP non supporta le direttive di ambiente PHP all'interno di .htaccess, tra cui php_flag, php_admin_flag, php_value e simili. Se il tuo .htaccess contiene qualcosa come:

php_flag register_globals On

o anche solo:

display_errors Off

Il server restituirà immediatamente un 500 Internal Server Error. Rimuovi queste righe e configura le impostazioni PHP tramite un file php.ini personalizzato.

Aiuto

Hai domande o ti serve una mano? Scrivici tramite il sistema di ticket — siamo sempre qui per aiutarti!

Hai bisogno di aiuto?I nostri ingegneri ti aiuteranno gratuitamente con qualsiasi domanda in pochi minutiContattaci