Suphp
Suphp php handler adalah modul apache (mod_suphp) yang menjalankan skrip php dengan kepemilikan dan izin dari pengguna tertentu.
Ini dilihat sebagai peningkatan keamanan karena sistem dapat melacak skrip php pengguna mana yang sedang berjalan (dan menyebabkan masalah jika ada).
Di lingkungan shared hosting, suphp sangat populer karena sangat mudah dipasang dan dikonfigurasi.
Suphp menjalankan php sebagai cgi. Jadi perlu paket php5-cgi untuk diinstal. Karena suphp ini jauh lebih lambat dari mod_php.
Tetapi Suphp menambahkan keamanan untuk mengidentifikasi pengguna yang menjalankan skrip. Jadi jika Anda perlu menjalankan php sebagai cgi, maka suphp adalah cara yang lebih disukai. Namun ada alternatif yang jauh lebih baik dan lebih cepat seperti fastcgi, fpm dll yang memiliki kinerja lebih tinggi dibandingkan dengan cgi.
Suphp terdiri dari dua komponen:
1. mod_suphp - modul Apache yang menggantikan mod_php
2. suphp - biner setuid yang menggantikan suexec Apache, menjalankan php dengan hak pengguna tertentu.
1. Instal suphp di Ubuntu
1. Pertama instal modul apache untuk suphp, paket libapache2-mod-suphp
$ sudo apt-get install libapache2-mod-suphp
2. Selanjutnya disable mod php yang merupakan default php handler di ubuntu
$ sudo a2dismod php5Module php5 disabled.Run '/etc/init.d/apache2 restart' untuk mengaktifkan konfigurasi baru!
3. Sekarang restart Apache
$ sudo /etc/init.d/apache2 restart * Memulai ulang server web apache2 apache2:Tidak dapat dengan andal menentukan nama domain server yang sepenuhnya memenuhi syarat, menggunakan 127.0.1.1 untuk NamaServer ... menunggu apache2:Tidak dapat dengan andal menentukan nama server nama domain yang sepenuhnya memenuhi syarat, menggunakan 127.0.1.1 untuk ServerName [ OK ]
Ini harus menginstal dan mengaktifkan suphp. File konfigurasi untuk mod php terletak di sini
$ cat /etc/Apache2/mods-enabled/suphp.loadLoadModule suphp_module /usr/lib/Apache2/modules/mod_suphp.so
Konfigurasi suphp untuk apache ada di sini
$ cat /etc/apache2/mods-enabled/suphp.confAddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml suPHP_AddHandler application/x-httpd-suphp suPHP_Engine di # Secara default, nonaktifkan suPHP untuk aplikasi web paket debian karena file # dimiliki oleh root dan tidak dapat dijalankan oleh suPHP karena min_uid. suPHP_Engine off # # Gunakan file konfigurasi php tertentu (dir yang berisi file php.ini)# suPHP_ConfigPath /etc/php4/cgi/suphp/# # Memberi tahu mod_suphp untuk TIDAK menangani permintaan dengan tipe.# suPHP_RemoveHandler
Konfigurasi di atas menjadikan suphp sebagai handler untuk file php.
2. Atur userid dan groupid untuk setiap virtualhost
Untuk membuat suphp menjalankan skrip php dengan userid/groupid tertentu kita perlu mengatur konfigurasi untuk setiap virtualhost di file konfigurasi apache.
File konfigurasi apache di ubuntu terletak di
/etc/apache2/sites-available/default
Edit host virtual yang relevan dan tambahkan pengaturan grup pengguna suphp seperti yang ditunjukkan di bawah ini. Direktif suPHP_UserGroup memberitahu apache untuk menggunakan userid/groupid untuk virtual host tertentu.
ServerName some-site.com ServerAlias www.some-site.com DocumentRoot /home/mike/public_html suPHP_UserGroup mike mike Jika Anda tidak ingin mengedit file konfigurasi Apache utama, buat file baru di direktori yang sama
/etc/Apache2/sites-available/Dan tambahkan blok virtualhost di file itu. Kemudian terapkan pengaturan menggunakan perintah a2ensite.
$ sudo a2ensite file_name3. Konfigurasi izin
Suphp juga memberikan "500 Internal Server Error" jika file php dapat ditulis oleh grup. Log kesalahan akan memiliki entri seperti ini
SoftException di Application.cpp:564:Direktori "/var/www" dapat ditulisi oleh grup, referensi:http://localhost/index.phpUntuk memperbaikinya, periksa izin dan pastikan bahwa grup atau orang lain tidak memiliki izin apa pun pada file php, harap dibaca.
Perintah Traceroute tidak berfungsi di Ubuntu Encfs – Cara Mengenkripsi dan Melindungi Data dengan Kata Sandi di Ubuntu/Debian/Linux MintUbuntu