Configurazione PHP · 3 min read · Dec 16, 2025
Come Configurare suPHP Con PHP4 E PHP5 - Pagina 2
4 Installare PHP4-CGI
Prima descriverò come usare suPHP con PHP4, poi più avanti in questo tutorial come usarlo con PHP5, e alla fine come usarlo con entrambi installati contemporaneamente.
Come ho accennato in precedenza, suPHP ha bisogno di PHP come CGI invece del modulo Apache. Pertanto installiamo il pacchetto php4-cgi in questo modo:
apt-get install php4-cgi5 Installare suPHP
Successivamente scarichiamo e decomprimiamo i sorgenti di suPHP. Al momento della scrittura di questo documento, la versione attuale era 0.6.1:
cd /tmp
wget http://www.suphp.org/download/suphp-0.6.1.tar.gz
tar xvfz suphp-0.6.1.tar.gz
cd suphp-0.6.1Ora dobbiamo modificare src/apache2/mod_suphp.c perché altrimenti riceverai un errore come questo:
| Forzando il ricaricamento del server web: Apache2Errore di sintassi alla linea 49 di /etc/apache2/sites-enabled/000-default: suPHP_AddHandler non consentito qui |
quando inserisci alcune direttive suPHP nei tuoi vhosts Apache. Apri il file e nelle righe 316 e 317 (i numeri di riga potrebbero differire se usi una versione di suPHP diversa da 0.6.1) troverai la stringa ACCESS_CONF. Sostituiscila con RSRC_CONF | ACCESS_CONF in modo che le due righe appaiano così:
vi src/apache2/mod_suphp.c| AP_INIT_ITERATE("suPHP_AddHandler", suphp_handle_cmd_add_handler, NULL, RSRC_CONF | ACCESS_CONF, "Indica a mod_suphp di gestire questi MIME-types"), AP_INIT_ITERATE("suPHP_RemoveHandler", suphp_handle_cmd_remove_handler, NULL, RSRC_CONF | ACCESS_CONF, "Indica a mod_suphp di non gestire questi MIME-types"), |
(Se preferisci modificare il file sul tuo sistema Windows, assicurati di salvarlo con interruzioni di riga Unix invece di interruzioni di riga Windows prima di trasferire il file di nuovo sul tuo sistema Linux!)
Poi compiliamo e installiamo suPHP:
./configure --prefix=/usr --sysconfdir=/etc --with-apache-user=www-data --with-setid-mode=paranoid --with-apxs=/usr/bin/apxs2
make
make installOra dobbiamo creare il file di configurazione /etc/suphp.conf. Possiamo farlo semplicemente copiando il modello fornito con i sorgenti:
cp /tmp/suphp-0.6.1/doc/suphp.conf-example /etc/suphp.confDobbiamo apportare alcune modifiche a /etc/suphp.conf. Imposta il valore di webserver_user su www-data (questo è il nome utente dell’utente Apache nel pacchetto Apache predefinito di Debian), e per x-httpd-php dobbiamo specificare il nostro binario php4-cgi che è /usr/bin/php4-cgi in modo che il file finale appaia così:
vi /etc/suphp.conf| [global] ;Percorso del file di log logfile=/var/log/suphp.log ;Livello di log loglevel=info ;Utente con cui Apache viene eseguito webserver_user=www-data ;Percorso in cui devono trovarsi tutti gli script docroot=/ ;Percorso per chroot() prima di eseguire lo script ;chroot=/mychroot ; Opzioni di sicurezza allow_file_group_writeable=false allow_file_others_writeable=false allow_directory_group_writeable=false allow_directory_others_writeable=false ;Controlla se lo script è all'interno di DOCUMENT_ROOT check_vhost_docroot=true ;Invia messaggi di errore minori al browser errors_to_browser=false ;Variabile di ambiente PATH env_path=/bin:/usr/bin ;Umask da impostare, specificare in notazione ottale umask=0077 ; UID minimo min_uid=100 ; GID minimo min_gid=100 [handlers] ;Handler per gli script php x-httpd-php=php:/usr/bin/php4-cgi ;Handler per gli script CGI x-suphp-cgi=execute:!self |
Poi dobbiamo aggiungere il modulo suPHP alla configurazione di Apache. Aggiungi la seguente riga a /etc/apache2/httpd.conf:
vi /etc/apache2/httpd.conf| LoadModule suphp_module /usr/lib/apache2/modules/mod_suphp.so |
Poi riavvia Apache:
/etc/init.d/apache2 restart6 Configurazione di Apache
In questo capitolo presumo che abbiamo un sito web www.example.com sull’indirizzo IP 1.2.3.4 con la radice del documento /var/www e la seguente configurazione vhost:
| |
Per abilitare suPHP per il vhost www.example.com e farlo eseguire script PHP come l’utente testuser e il gruppo test, modifichiamo il vhost come segue:
| |
AddHandler x-httpd-php si riferisce a suPHP_AddHandler x-httpd-php che poi si riferisce alla riga x-httpd-php in /etc/suphp.conf che significa che gli script con le estensioni .php, .php3, .php4 e .php5 sono interpretati da /usr/bin/php4-cgi.
Riavvia Apache:
/etc/init.d/apache2 restartOra creiamo un semplice script phpinfo() e accediamoci nel nostro browser:
vi /var/www/info.php| |
Vai su http://www.example.com/info.php nel tuo browser, e dovresti vedere che hai PHP4 in esecuzione:

Se riscontri problemi, controlla /var/log/suphp.log e /var/log/apache2/error.log per errori. Nella maggior parte dei casi puoi risolverli modificando l’opzione appropriata in /etc/suphp.conf o cambiando i permessi di file/directory.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.