GNU/Linux >> Linux Esercitazione >  >> Panels >> Panels

Come configurare suPHP su un server ISPConfig basato su Debian Sarge

Come configurare suPHP su un server ISPConfig basato su Debian Sarge

Versione 1.3
Autore: [at] bb-hosting [dot] org>

Con questo howto spiego come configurare suPHP su un server ISPConfig basato su Debian con php4. Principalmente, si basa sull'howto di Falko https://www.howtoforge.com/apache2_suphp_php4_php5. All'interno dei forum su Howtoforge si possono trovare molte informazioni sulla "configurazione di suphp".
Tuttavia, queste informazioni sono sparse in tutti i forum, quindi non è molto chiaro come configurare suphp su un server ISPConfig. È stato il motivo per cui ho scritto questo howto. Dopo aver configurato suPHP sul tuo server ISPConfig, puoi eseguire gli script PHP sotto l'utente amministratore del sito Web invece di 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 non garantisco che funzionerà per te!

Per prima cosa fai una copia del tuo /etc/apache2/vhosts/Vhosts_ispconfig.conf. Ad esempio copialo in /etc/apache2/vhosts/Vhosts_ispconfig-backup.conf.

Su un server ISPConfig predefinito php4 è in esecuzione come modulo. Disabilitalo con il comando:

a2dismod php4

Ora rimuovi tutte le voci phpadmin all'interno del file Vhosts_ispconfig.conf originale. Riavvia Apache:

/etc/init.d/apache2 restart

Poiché abbiamo rimosso tutte le voci di phpadmin, non dovresti avere errori al riavvio di Apache2.

Installa suPHP come DSO, quindi dobbiamo installare apxs (su Debian Sarge è apxs2):

apt-get install apache2-prefork-dev

Installa PHP4-CGI:

apt-get install php4-cgi
cd /tmp

Installa suPHP, la 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

Sostituisci le righe 324/325 con queste due righe sottostanti (se utilizzi una versione diversa di suPHP, i numeri di riga possono essere diversi):

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"),

Quindi 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 install

Copia il file suphp.conf:

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

Modifica il contenuto di /etc/suphp.conf, usando 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

Aggiungi la seguente riga a /etc/apache2/httpd.conf, usando il comando:

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

Riavvia Apache, usando il comando:

/etc/init.d/apache2 restart

Modifica /home/admispconfig/ispconfig/lib/config.inc.php trova la riga:

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

e cambia in:

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

Ora, all'interno di ISPConfig, apporta una piccola modifica a uno dei tuoi Web, in modo che ISPConfig scriva un nuovo file vhost. Ad esempio, abilita cgi-scrips per uno dei tuoi siti Web o giù di lì.

All'interno del tuo /etc/apache2/vhosts/Vhosts_ispconfig.conf, vedrai che ISPConfig ha riscritto il file, perché le righe seguenti vengono aggiunte 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 /etc/apache2/vhosts/Vhosts_ispconfig.conf!

Quando stabilisci una connessione tramite FTP, vedrai che puoi impostare qualsiasi autorizzazione all'interno del tuo Web:

Puoi anche eseguire gli script php sotto l'utente amministratore del sito Web invece dell'utente di sistema www-data. Ciò offre maggiore comfort all'utente amministratore del sito Web. suPHP è anche molto utile quando esegui un CMS all'interno del tuo web come Joomla. Con suPHP abilitato Joomla avrà sufficienti permessi per funzionare correttamente, mentre l'utente amministratore del sito web ha il pieno controllo! Ultimo ma non meno importante, l'utilizzo di suPHP è più sicuro e una soluzione più professionale rispetto all'utilizzo di chmod 777 per il tuo sito web!

Se non vuoi usare php4-cgi+suPHP per un particolare sito web sul tuo server ISPConfig, c'è una soluzione. Accedi al tuo server come root e abilita il modulo php4 per Apache2:

a2enmod php4

Riavvia Apache2 con:

/etc/init.d/apache2 force-reload

All'interno di ISPConfig, disabilita php e aggiungi quanto segue nel campo delle 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 tuo ISPConfig con Debian Sarge, usa PHP4-mod e PHP4-CGI+suPHP. Nella maggior parte delle situazioni avrai solo bisogno di PHP4-CGI+suPHP. Tuttavia, se non puoi utilizzare il meccanismo suphp per alcuni motivi, puoi comunque utilizzare php4 come modulo per quel particolare sito web.


Panels
  1. Come configurare un server LAMP Ubuntu/Debian

  2. Come configurare un server SFTP su Debian 11 Server

  3. Come installare Z-Push su un server ISPConfig 3 (Debian Lenny)

  4. Come configurare suPHP su un server ISPConfig basato su Debian Etch

  5. Come installare Nextcloud 14 su Debian 9

Come configurare un server di posta con PostfixAdmin su Debian 11

Come configurare il server Rsyslog Debian 10/11

Come configurare server e client NTP su Debian 11

Come configurare Mailman con Debian e ISPConfig

Come configurare la codebase Gallery2 su un server ISPConfig

Come configurare un multisito Gallery2 su un server ISPConfig