GNU/Linux >> Znalost Linux >  >> Panels >> Panels

Jak nastavit suPHP na serveru ISPConfig založeném na Debianu Sarge

Jak nastavit suPHP na serveru ISPConfig založeném na Debian Sarge

Verze 1.3
Autor: [at] bb-hosting [tečka] org>

Pomocí tohoto návodu vysvětlím, jak nastavit suPHP na serveru ISPConfig založeném na Debianu s php4. Především je založen na Falkově návodu https://www.howtoforge.com/apache2_suphp_php4_php5. Na fórech na Howtoforge lze najít spoustu informací o "nastavení suphp".
Tyto informace jsou však rozšířeny po všech fórech, takže není příliš jasné, jak nastavit suphp na serveru ISPConfig. To byl důvod, proč jsem napsal tento návod. Když na svém serveru ISPConfig nastavíte suPHP, budete moci spouštět skripty PHP pod uživatelem admin webu namísto www-data.

Důležité:Testoval jsem tento návod na serveru Debian Sarge s ISPConfig 2.2.11 a 4.3.10-19 pro Apache2, ale nezaručuji, že vám to bude fungovat!

Nejprve si vytvořte kopii souboru /etc/apache2/vhosts/Vhosts_ispconfig.conf. Zkopírujte jej například do /etc/apache2/vhosts/Vhosts_ispconfig-backup.conf.

Na výchozím serveru ISPConfig běží php4 jako modul. Vypněte jej příkazem:

a2dismod php4

Nyní odstraňte všechny položky phpadmin v původním souboru Vhosts_ispconfig.conf. Restartujte Apache:

/etc/init.d/apache2 restart

Protože jsme odstranili všechny položky phpadmin, neměli byste mít žádné chyby, když se Apache2 restartuje.

Nainstalujte suPHP jako DSO, proto musíme nainstalovat apxs (na Debian Sarge je to apxs2):

apt-get install apache2-prefork-dev

Nainstalujte PHP4-CGI:

apt-get install php4-cgi
cd /tmp

Nainstalujte suPHP, verze 0.6.2 je v tuto chvíli nejnovější stabilní verze:

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

Nahraďte řádky 324/325 těmito dvěma řádky níže (pokud používáte jinou verzi suPHP, čísla řádků se mohou lišit):

AP_INIT_ITERATE("suPHP_AddHandler", suphp_handle_cmd_add_handler, NULL, RSRC_CONF | ACCESS_CONF, "Říká mod_suphp, aby zpracovával tyto MIME typy"),
AP_INIT_ITERATE("suPHP_RemoveHandler", suphp_handle_cmd_remove_handler, NULL, RSRC_CONF | ACCESS_CONF, "Říká mod_suphp, aby nezpracovával tyto MIME typy"),

Poté zkompilujeme a nainstalujeme suPHP:

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

Zkopírujte soubor suphp.conf:

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

Změňte obsah souboru /etc/suphp.conf pomocí příkazu:

vi /etc/suphp.conf

Mělo by to vypadat takto:

[globální]
;Cesta k souboru protokolu
logfile=/var/log/suphp.log

;Úroveň protokolu
loglevel=info

;Uživatel Apache běží jako
webserver_user=www-data

;Cesta všech skriptů musí být v
docroot=/

; Cesta k chroot() před provedením skriptu
;chroot=/mychroot

; Možnosti zabezpečení
allow_file_group_writeable=true
allow_file_others_writeable=false
allow_directory_group_writeable=true
allow_directory_others_writeable=false

;Zkontrolujte, zda je skript v DOCUMENT_ROOT_ROOT
=true

;Posílat menší chybové zprávy do prohlížeče
errors_to_browser=false

;Proměnná prostředí PATH
env_path=/bin:/usr/bin

;Umask pro nastavení, specifikujte v osmičkovém zápisu
umask=0077

; Minimální UID
min_uid=100

; Minimální GID
min_gid=100

[obslužné nástroje]
;Obslužný nástroj pro skripty php
x-httpd-php=php:/usr/bin/php4-cgi

;Obslužný program pro skripty CGI
x-suphp-cgi=execute:!self

Přidejte následující řádek do /etc/apache2/httpd.conf pomocí příkazu:

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

Restartujte Apache pomocí příkazu:

/etc/init.d/apache2 restart

Upravte /home/admispconfig/ispconfig/lib/config.inc.php najděte řádek:

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

a změňte na:

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

Nyní v rámci ISPConfig proveďte malou úpravu jednoho ze svých webů, aby ISPConfig zapsal nový soubor vhost. Například povolte cgi-skripty pro jednu z vašich webových stránek nebo podobně.

Ve vašem /etc/apache2/vhosts/Vhosts_ispconfig.conf uvidíte, že ISPConfig přepsal soubor, protože níže uvedené řádky jsou přidány pro každý jednotlivý web:

suPHP_Engine na
uživatelské jméno suPHP_UserGroup název skupiny
AddHandler x-httpd-php .php .php3 .php4 .php5
suPHP_AddHandler x-httpd-php

Důležité:neprovádějte žádné ruční změny v souboru /etc/apache2/vhosts/Vhosts_ispconfig.conf!

Když navážete připojení přes FTP, uvidíte, že na svém webu můžete nastavit jakákoli oprávnění:

Můžete také spouštět php skripty pod administrátorem webu namísto systémového uživatele www-data. To poskytuje administrátorovi webu větší komfort. suPHP je také velmi užitečné, když na svém webu provozujete CMS, jako je Joomla. S povoleným suPHP bude mít Joomla dostatek oprávnění, aby správně fungovala, zatímco administrátor webu má plnou kontrolu! V neposlední řadě je používání suPHP bezpečnější a profesionálnější řešení než použití chmod 777 pro váš web!

Pokud nechcete používat php4-cgi+suPHP pro konkrétní web na vašem serveru ISPConfig, existuje řešení. Přihlaste se ke svému serveru jako root a povolte modul php4 pro Apache2:

a2enmod php4

Restartujte Apache2 pomocí:

/etc/init.d/apache2 force-reload

V rámci ISPConfig deaktivujte php a přidejte následující do pole direktiv Apache pro váš web:


AddType application/x-httpd-php .php .php3 .php4
php_admin_flag safe_mode Off


Nyní váš ISPConfig s Debian Sarge používá PHP4-mod a PHP4-CGI+suPHP. Ve většině situací budete potřebovat pouze PHP4-CGI+suPHP. Pokud však z nějakých důvodů nemůžete použít mechanismus suphp, můžete stále používat php4 jako modul pro daný web.


Panels
  1. Jak nastavit SFTP server na Debian 11 Server

  2. Jak nainstalovat Z-Push na server ISPConfig 3 (Debian Lenny)

  3. Jak nainstalovat Nextcloud 14 na Debian 9

  1. Jak nastavit Ubuntu/Debian LAMP Server

  2. Jak nastavit suPHP na serveru ISPConfig založeném na Debian Etch

  3. Jak nastavit TeamSpeak Server na Ubuntu 16.04

  1. Jak nastavit server Samba na Debian 10 Buster

  2. Jak nastavit server LAMP na Debian 10 Buster

  3. Jak nastavit server OpenVPN na Debianu 10