Guide Open Source

GUIDE E MANUALI DEL MONDO LINUX E CMS

Guide Open Source

GUIDE E MANUALI DEL MONDO LINUX E CMS

Guide Open Source

GUIDE E MANUALI DEL MONDO LINUX E CMS

Come impostare suPHP su A Debian Sarge Server basato su ISPConfig

ISPConfig_suPHP_logo

 

Con questa guida spiegherò come impostare suPHP su un server basato su Debian di ISPConfig con php4.  All’interno del forum su Howtoforge, un sacco di informazioni su “impostazione suphp” può essere trovato.
Tuttavia, questa informazione è diffuso in tutto il forum, così non è molto chiaro come impostare suphp su un server di ISPConfig. È stato il motivo per me di scrivere questo howto. Quando hai suPHP installazione sul vostro server di ISPConfig, siete in grado di eseguire gli script PHP sotto l’utente admin del sito invece www-data.

Importante: ho testato questo howto su un server Debian Sarge con ISPConfig 2.2.11 e 4.3.10-19 per Apache2, ma io non rilasciano alcuna garanzia che questo funziona per voi!

Prima di fare una copia del tuo /etc/apache2/vhosts/Vhosts_ispconfig.confAd esempio, copiarlo in /etc/apache2/vhosts/Vhosts_ispconfig-backup.conf.

Il valore predefinito è ISPConfig server php4 è in esecuzione come un modulo. Disattivarlo con il comando:

a2dismod php4

Ora rimuovere tutte le voci di phpadmin all’interno del file originale di Vhosts_ispconfig.conf . Riavviare Apache:

/etc/init.d/apache2 restart

Come abbiamo rimosso tutte le voci di phpadmin , non è necessario eventuali errori, riavvio di Apache2.

Installare suPHP come un DSO, pertanto dobbiamo installare apxs (su Debian Sarge è apxs2):

apt-get install apache2-prefork-dev

Installare PHP4-CGI:

apt-get install php4-cgi
cd /tmp

Installare suPHP, versione 0.6.2 è l’ultima versione stabile in questo momento:

wget http://www.suphp.org/download/suphp-0.6.2.tar.gz
 tar xvfz suphp-0.6.2.tar.gz
cd suphp-0.6.2
vi src/apache2/mod_suphp.c

Sostituire le righe 324/325 con queste due righe di sotto (che se si utilizza una versione diversa di suPHP, la linenumbers può essere diverso):

AP_INIT_ITERATE("suPHP_AddHandler", suphp_handle_cmd_add_handler, NULL, RSRC_CONF | ACCESS_CONF, "Tells mod_suphp to handle these MIME-types"),
AP_INIT_ITERATE("suPHP_RemoveHandler", suphp_handle_cmd_remove_handler, NULL, RSRC_CONF | ACCESS_CONF, "Tells mod_suphp not to handle these MIME-types"),

Poi compilare e installare suPHP:

./configure --prefix=/usr --sysconfdir=/etc --with-apache-user=www-data --with-setid-mode=paranoid --with-apxs=/usr/bin/apxs2
make
make install  

Copiare il file suphp.conf :

cp /tmp/suphp-0.6.2/doc/suphp.conf-example /etc/suphp.conf

Modificare il contenuto di /etc/suphp.conf, utilizzando il comando:

vi /etc/suphp.conf

Dovrebbe assomigliare a questo:

[global]
;Path to logfile
logfile=/var/log/suphp.log

;Loglevel
loglevel=info

;User Apache is running as
webserver_user=www-data

;Path all scripts have to be in
docroot=/

;Path to chroot() to before executing script
;chroot=/mychroot

; Security options
allow_file_group_writeable=true
allow_file_others_writeable=false
allow_directory_group_writeable=true
allow_directory_others_writeable=false

;Check wheter script is within DOCUMENT_ROOT
check_vhost_docroot=true

;Send minor error messages to browser
errors_to_browser=false

;PATH environment variable
env_path=/bin:/usr/bin

;Umask to set, specify in octal notation
umask=0077

; Minimum UID
min_uid=100

; Minimum GID
min_gid=100

[handlers]
;Handler for php-scripts
x-httpd-php=php:/usr/bin/php4-cgi

;Handler for CGI-scripts
x-suphp-cgi=execute:!self

Aggiungere la seguente riga al /etc/apache2/httpd.conf, utilizzando il comando:

vi /etc/apache2/httpd.conf
LoadModule suphp_module       /usr/lib/apache2/modules/mod_suphp.so

Riavviare Apache, utilizzando il comando:

/etc/init.d/apache2 restart

Modificare /home/admispconfig/ispconfig/lib/config.inc.php trovare la riga:

$go_info["server"]["apache2_php"] = 'both';

e modificare:

$go_info["server"]["apache2_php"] = 'suphp';

Ora, all’interno di ISPConfig apportare una piccola modifica a una delle tue ragnatele, affinché ISPConfig scrive un nuovo file vhost.Ad esempio abilitare cgi-scrips per uno dei vostri siti Web o giù di lì.

All’interno il vostro /etc/apache2/vhosts/Vhosts_ispconfig.conf, vedrete che ISPConfig ha riscritto il file, poiché le linee di seguito vengono aggiunti per ogni singolo web:

suPHP_Engine on
  suPHP_UserGroup username groupname
  AddHandler x-httpd-php .php .php3 .php4 .php5
  suPHP_AddHandler x-httpd-php
</VirtualHost>

Importante: non apportare modifiche manuali all’interno del file di /etc/apache2/vhosts/Vhosts_ispconfig.conf!

Quando si stabilisce una connessione tramite FTP, vedrete che è possibile impostare qualsiasi autorizzazione all’interno del web:

chmod

Sei anche in grado di eseguire gli script php sotto l’utente admin del sito invece il sistema utente www-dataQuesto dà all’utente admin del sito Web, più comfort. suPHP è anche molto utile quando si esegue un CMS all’interno del web come Joomla. Con suPHP abilitato Joomla avrà autorizzazioni sufficienti per funzionare correttamente, mentre l’utente admin del sito ha il pieno controllo! Ultimo ma non meno importante, utilizzando suPHP è più sicuro e una soluzione più professionale rispetto all’utilizzo di chmod 777per il tuo sito!

Se non volete utilizzare php4-cgi + suPHP per un particolare sito Web sul server di ISPConfig, c’è una soluzione. Accesso al server come root e di attivare il modulo php4 per Apache2:

a2enmod php4

Riavviare Apache2 con:

/etc/init.d/apache2 force-reload

All’interno di ISPConfig, disattivare php e aggiungere il codice seguente all’interno del campo di direttive Apache per il tuo sito:

<Directory /var/www/webX/web>
AddType application/x-httpd-php .php .php3 .php4
php_admin_flag safe_mode Off
</Directory>

Ora il vostro ISPConfig con Debian Sarge, utilizza PHP4-mod e PHP4-CGI + suPHP. Nella maggior parte delle situazioni è necessario soltanto PHP4-CGI + suPHP. Tuttavia, se non è possibile utilizzare il meccanismo di suphp per alcuni motivi, è possibile ancora utilizzare php4 come modulo per quel particolare sito.

Piaciuto l'articolo? Condividilo sui social!

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on whatsapp
WhatsApp