Cara Menginstal suPHP Pada Berbagai Distribusi Linux Untuk Digunakan Dengan ISPConfig (2.2.20 Dan Di Atas)
Dimulai dengan versi 2.2.20, ISPConfig telah meningkatkan dukungan untuk suPHP. Artikel ini menjelaskan cara menginstal suPHP di berbagai distribusi yang didukung oleh ISPConfig. (Jika Anda telah menggunakan suPHP dengan versi ISPConfig sebelumnya, instalasi Anda akan tetap berfungsi.)
Saya tidak memberikan jaminan apa pun bahwa ini akan berhasil untuk Anda!
1 Debian Etch / Ubuntu 7.10
Untuk Debian dan Ubuntu, paket libapache2-mod-suphp ada, namun masalah dengan paket ini adalah tidak mendukung direktif suPHP_UserGroup (yang digunakan oleh ISPConfig) karena tidak dikompilasi menggunakan --with-setid -mode =saklar paranoid. Oleh karena itu kita harus membangun mod_suphp secara manual.
Pertama kita nonaktifkan modul PHP5 normal (sebagai root):
a2dismod php5
/etc/init.d/apache2 restart
Kemudian kita instal prasyarat yang diperlukan untuk membangun mod_suphp:
apt-get install php5-cgi apache2-prefork-dev
Sekarang kita dapat mendownload dan membangun suPHP sebagai berikut:
cd /tmp
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
./configure --prefix=/usr --sysconfdir=/etc --with-apache-user=www-data --with-setid-mode=paranoid --with-apxs=/ usr/bin/apxs2
make
make install
Terakhir kita tambahkan modul suPHP ke konfigurasi Apache kita...
vi /etc/apache2/httpd.conf
LoadModule suphp_module /usr/lib/apache2/modules/mod_suphp.so |
... dan mulai ulang Apache:
/etc/init.d/apache2 restart
2 Fedora 8 / CentOS 5.1
Pada Fedora 8 dan CentOS 5.1, kita harus membangun mod_suphp secara manual untuk alasan yang sama seperti untuk Debian dan Ubuntu (suPHP_UserGroup).
Pertama kita nonaktifkan modul PHP5 normal:
vi /etc/httpd/conf.d/php.conf
Komentari baris LoadModule:
[...] #LoadModule php5_module modules/libphp5.so [...] |
Kemudian kita instal prasyarat yang diperlukan untuk membangun mod_suphp:
yum install php-cli httpd-devel
Sekarang kita dapat mendownload dan membangun suPHP sebagai berikut:
cd /tmp
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/
./configure --prefix=/usr --sysconfdir=/etc --with-apr=/usr/bin/apr-1-config --with-apxs=/usr/sbin /apxs --with-apache-user=apache --with-setid-mode=paranoid --with-php=/usr/bin/php-cgi --with-logfile=/var/log/httpd/suphp_log -- enable-SUPHP_USE_USERGROUP=yes
make
make install
Terakhir kita tambahkan modul suPHP ke konfigurasi Apache kita...
vi /etc/httpd/conf.d/suphp.conf
LoadModule suphp_module modules/mod_suphp.so |
... dan mulai ulang Apache:
/etc/init.d/httpd restart
3 Mandriva 20088.0
Pada Mandriva 2008.0, kita harus membangun mod_suphp secara manual untuk alasan yang sama seperti untuk Debian dan Ubuntu (suPHP_UserGroup).
Pertama kita nonaktifkan modul PHP5 normal:
vi /etc/httpd/modules.d/70_mod_php.conf
Komentari baris LoadModule:
<IfDefine HAVE_PHP5> <IfModule !mod_php5.c> #LoadModule php5_module extramodules/mod_php5.so </IfModule> </IfDefine> [...] |
Kemudian kita instal prasyarat yang diperlukan untuk membangun mod_suphp:
urpmi php-cgi apache-devel
Sekarang kita dapat mendownload dan membangun suPHP sebagai berikut:
cd /tmp
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/
./configure --prefix=/usr --sysconfdir=/etc --with-apr=/usr/bin/apr-1-config --with-apxs=/usr/sbin /apxs --with-apache-user=apache --with-setid-mode=paranoid --with-php=/usr/bin/php-cgi --with-logfile=/var/log/httpd/suphp_log -- enable-SUPHP_USE_USERGROUP=yes
make
make install
Terakhir kita tambahkan modul suPHP ke konfigurasi Apache kita...
vi /etc/httpd/modules.d/A36_mod_suphp.conf
LoadModule suphp_module modules/mod_suphp.so |
... dan mulai ulang Apache:
/etc/init.d/httpd restart
4 OpenSUSE 10.3
OpenSUSE 10.3 hadir dengan paket suPHP yang memahami direktif suPHP_UserGroup, jadi kita tidak perlu membuatnya sendiri.
Pertama kita nonaktifkan modul PHP5 normal. Buka /etc/sysconfig/apache2 dan hapus php5 dari baris APACHE_MODULES (sehingga terlihat mirip dengan baris ini - modul Anda mungkin berbeda, tetapi php5 tidak boleh dicantumkan lagi):
vi /etc/sysconfig/apache2
[...] APACHE_MODULES="actions alias auth_basic authn_file authz_host authz_groupfile authz_default authz_user authn_dbm autoindex cgi dir env expires include log_config mime negotiation setenvif ssl suexec userdir rewrite ruby" [...] |
Jalankan
SuSEconfig
setelah itu.
Sekarang kita install suPHP sebagai berikut:
yast -i suphp
Selanjutnya kita tambahkan suphp ke baris APACHE_MODULES di /etc/sysconfig/Apache2, mis. seperti ini:
vi /etc/sysconfig/apache2
[...] APACHE_MODULES="actions alias auth_basic authn_file authz_host authz_groupfile authz_default authz_user authn_dbm autoindex cgi dir env expires include log_config mime negotiation setenvif ssl suexec userdir rewrite ruby suphp" [...] |
Paket suPHP OpenSUSE hadir dengan konfigurasi suPHP yang memungkinkan suPHP secara global. Oleh karena itu kita harus menonaktifkan konfigurasi ini sekarang sehingga kita dapat mengaktifkan atau menonaktifkan suPHP di ISPConfig pada basis per situs web:
vi /etc/apache2/conf.d/mod_suphp.conf
Dalam file itu kami mengomentari semuanya:
#<IfModule mod_suphp.c> # suPHP_Engine on # # AddType application/x-httpd-php .php # AddType application/x-httpd-php .php3 # AddType application/x-httpd-php .php4 # AddType application/x-httpd-php .php5 # AddHandler application/x-httpd-php .php # # DirectoryIndex index.php index.php3 index.php4 index.php5 # # <Location /> # suPHP_AddHandler application/x-httpd-php # </Location> #</IfModule> # in your vhost you need: #<Virtualhost *> # suPHP_UserGroup someuser somegroup #</Virtualhost> |
Akhirnya kami menjalankan:
SuSEconfig
/etc/init.d/apache2 restart
5 Konfigurasi ISPConfig
Terakhir, kita harus memberi tahu ISPConfig bahwa ia harus menulis konfigurasi suPHP ke vhosts Apache alih-alih konfigurasi PHP biasa. Untuk melakukannya, kita buka file konfigurasi ISPConfig /home/admispconfig/ispconfig/lib/config.inc.php dan set $go_info["server"]["apache2_php"] ke suphp:
vi /home/admispconfig/ispconfig/lib/config.inc.php
[...] $go_info["server"]["apache2_php"] = 'suphp'; [...] |
Sekarang setiap kali Anda mengaktifkan PHP untuk situs web di ISPConfig, ISPConfig akan menulis konfigurasi suPHP ke konfigurasi vhost situs web itu.
6 Tautan
- suPHP:http://www.suphp.org
- ISPConfig:http://www.ispconfig.org