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

Come configurare suPHP su un server ISPConfig basato su Debian Etch

Come configurare suPHP su un server ISPConfig basato su Debian Etch

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

In generale, questo howto è lo stesso del mio howto "Come configurare suPHP su un server ISPConfig basato su Debian Sarge" su https://www.howtoforge.com/suphp_debian_ispconfig ma contiene alcune piccole ma importanti modifiche per Debian Etch.

Dopo aver impostato 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 Etch con ISPConfig 2.2.11 e PHP versione 5.2.0-8 per Apache 2.2.3, 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, php5 è in esecuzione come modulo. Disabilitalo con il comando:

a2dismod php5

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 Etch è apxs2):

apt-get install apache2-prefork-dev

Installa PHP5-CGI:

apt-get install php5-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/php5-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 php5-cgi+suPHP per un particolare sito web sul tuo server ISPConfig, c'è una soluzione. Accedi al tuo server come root e abilita il modulo php5 per Apache2:

a2enmod php5

Riavvia Apache2 con:

/etc/init.d/apache2 force-reload

All'interno di ISPConfig, disabilita il 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 .php5
php_admin_flag safe_mode Off
</Directory>

Ora il tuo ISPConfig con Debian Etch, usa PHP5-mod e PHP5-CGI+suPHP. Nella maggior parte delle situazioni avrai solo bisogno di PHP5-CGI+suPHP. Tuttavia, se non puoi utilizzare il meccanismo suphp per alcuni motivi, puoi comunque utilizzare php5 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 Sarge

  5. Come configurare un server TeamSpeak su Ubuntu 16.04

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

Come installare Drupal 5.6 su Debian Etch con ISPConfig