GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Instal Suphp dengan Apache di Ubuntu / Linux

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.conf AddType 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_name

3. 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.php

Untuk memperbaikinya, periksa izin dan pastikan bahwa grup atau orang lain tidak memiliki izin apa pun pada file php, harap dibaca.


Ubuntu
  1. Cara menginstal PHP di Ubuntu Linux

  2. Cara Menginstal PHP 8.0 di Ubuntu 20.04 / Ubuntu 18.04

  3. Cara Menginstal PHP-FPM dengan Apache di Ubuntu 20.04

  1. Cara Menginstal PHP di Ubuntu 18.04

  2. Cara Menginstal WordPress dengan Apache di Ubuntu 18.04

  3. Cara Menginstal Joomla dengan Apache di Ubuntu 18.04

  1. Cara Menginstal PHP di Ubuntu 20.04

  2. Cara Menginstal tumpukan Linux, Apache, MySQL, PHP (LAMP) di Ubuntu 16.04

  3. Cara Menginstal Laravel di Ubuntu 18.04 dengan Apache