Artikel lalu kita telah membahas bagaimana cara memanfaatkan SuExec untuk keperluan multiuser yang mana pada saat menjalankan Apache bukan menggunakan user www-data dan group www-data pula. Akan tetapi, menggunakan user dan group yang telah kita set sebagai client. Tujuannya tidak lain adalah untuk mengetahui user mana yang ber-traffic tinggi.
Di Apache kita mengenal SuExec untuk menagani masalah multiuser, sayangnya module tersebut hanya untuk Apache. Lalu bagaimana dengan Nginx? Seperti yang telah diketahui bahwasanya Nginx menjalankan PHP menggunakan php-fpm bukan dengan module layaknya Apache. Jadi untuk memanafaatkan fitur layaknya SuExec kita memanfaatkan php-fpm juga tentunya.
Perhatian
Artikel ini diperuntukan bagi Anda pengguna Ubuntu 14.04 dan Ubuntu 16.04, disesuaikan dengan apa yang penulis praktekan pada mesin penulis. Jika Anda pengguna Debian, mungkin ada sebagian konfigurasi yang sama di antara kedua versi Ubuntu di sini. Jika benar sama artinya Anda tetap dapat mengikuti tutorial ini.Tahap Instalasi
Pertama-tama Anda hanya perlu memasang Nginx dan php-fpm pada Server.sudo apt-get install nginxUntuk php-fpm Bisa Anda ikuti tulisan sebelumnya di sini, yakni:
http://www.linuxku.com/2016/05/menjalankan-php-menggunakan-nginx.html
Tahap Implementasi
Mengikuti artikel lama (http://www.linuxku.com/2016/07/menerapkan-suexec-dan-modfcgid-pada.html), kita asumsikan memiliki 2 klien dengan nama Wati dan Suci, masing-masing domainnya menggunkan dot com.Pertama-tama buat terlebih dahulu user, group nya dan direktori public_html:
$ sudo groupadd situs1 $ sudo groupadd situs2 $ sudo useradd -s /bin/false -m -g situs1 suci $ sudo useradd -s /bin/false -m -g situs2 wati $ sudo mkdir /home/suci/public_html $ sudo mkdir /home/wati/public_html $ sudo chmod 711 /home/suci $ sudo chmod 711 /home/watiKemudian kita buat pengaturan pool nya. Perlu diketahui ada perbedaan letak konfigurasi php-fpm ini di Ubuntu 14.04 dan Ubuntu 16.04. Ingat hanya beda letak berkasi konfigurasinya saja, selebihnya sama.
Pengguna Ubuntu 14.04
$ sudo cp /etc/php5/fpm/pool.d/www.conf /etc/php5/fpm/pool.d/suci.conf $ sudo cp /etc/php5/fpm/pool.d/www.conf /etc/php5/fpm/pool.d/wati.confPengguna Ubuntu 16.04
$ sudo cp /etc/php/7.0/fpm/pool.d/www.conf /etc/php/7.0/fpm/pool.d/suci.conf $ sudo cp /etc/php/7.0/fpm/pool.d/www.conf /etc/php/7.0/fpm/pool.d/wati.confKemudian sunting konfigurasi suci.conf dan wati.conf tersebut.
Pengguna Ubuntu 14.04
$ sudo nano /etc/php5/fpm/pool.d/suci.conf $ sudo nano /etc/php5/fpm/pool.d/wati.confPengguna Ubuntu 16.04
$ sudo nano /etc/php/7.0/fpm/pool.d/suci.conf $ sudo nano /etc/php/7.0/fpm/pool.d/wati.confKemudian rubah konfigurasi berikut:
; Start a new pool named 'www'.
; the variable $pool can we used in any directive and will be replaced by the
; pool name ('www' here)
[suci]
; Start a new pool named 'www'.
; the variable $pool can we used in any directive and will be replaced by the
; pool name ('www' here)
[wati]
Lalu untuk user dan groupnya, sesuaikan juga dengan yang sebelumnya kita buat.user = suci group = situs1
user = wati group = situs2
Dan yang terakhir, kita rubah pada listen socketnya. Oiya, perlu diketahui untuk socket ini juga ada perbedaan letak direktori pada Ubuntu 14.04 dan Ubuntu 16.04, jadi sesuaikanlah.
Pengguna Ubuntu 14.04
listen = /var/run/suci.sock
listen = /var/run/wati.sockPengguna Ubuntu 16.04
listen = /var/run/php/suci.sock
listen = /var/run/php/wati.sock
Setelah itu kita restart php-fpm.
Pengguna Ubuntu 14.04
$ sudo service php5-fpm restartPengguna Ubuntu 16.04
$ sudo service php7.0-fpm restartKemudian masuk ke pengaturan Nginx. Pastikan Anda sudah membuat Virtualhost silahkan baca http://www.linuxku.com/2016/05/menerapkan-virtualhost-untuk-keperluan.html.
Sunting virtualhost Anda:
$ sudo nano /etc/nginx/sites-available/suci
$ sudo nano /etc/nginx/sites-available/watiKemudian ikuti skrip berikut:
Untuk Suci:
root /home/suci/public_html; index index.php index.html index.htm; server_name suci.com www.suci.com; location ~ \.php$ { fastcgi_pass unix:/var/run/suci.sock; fastcgi_index index.php; include fastcgi_params; }Untuk Wati:
root /home/wati/public_html; index index.php index.html index.htm; server_name wati.com www.wati.com; location ~ \.php$ { fastcgi_pass unix:/var/run/wati.sock; fastcgi_index index.php; include fastcgi_params; }Lalu cek terlebih dahulu pengeturan nginx kita apa sudah benar atau belum, dengan cara berikut:
$ sudo nginx -tJika sudah benar, langkah selanjutnya yakni kita buat symbolic link agar Nginx dapat menjalankan virtualhost kita.
$ sudo ln -s /etc/nginx/sites-available/suci /etc/nginx/sites-enabled/ $ sudo ln -s /etc/nginx/sites-available/wati /etc/nginx/sites-enabled/Dan yang terkakhir, langsung saja di restart Nginx-nya.
$ sudo service nginx restart
Tahap Checking
Untuk memastikan Anda sudah benar atau belum, langkah pertama yakni kita buat berkas dummy yakni:Buat berkas bernama cek.php:
$ sudo nano /home/suci/public_html/cek.php
$ sudo nano /home/wati/public_html/cek.php
Lalu masukan skrip berikut: <?php system("id");Cek hasilnya:
Jika sudah seperti gambar di atas, artinya Anda telah sukses. Semoga bermanfaat :)
Website ini menganut paham demokrasi wkwk
Jangan lupa gunakan emot biar akrab gan (/ ^.^)/
EmoticonEmoticon