Konfigurasi

Konfigurasi PHP-FPM Untuk Multiple User

Tanggal 05 Mar 2010
Kategori : Aplikasi Linux
Tag : , , ,

Jika anda menggunakan Nginx dan PHP nya menggunakan php-fpm, maka secara default PHP akan berjalan hanya dengan 1 user, hal ini mungkin sudah cukup bagi pengguna yang hanya menggunakan server nya untuk dirinya sendiri. Namun bagaimanakah caranya agar domain / subdomain lain yang berbeda home directory sekaligus berbeda pemilik file, berjalan dengan user berbeda (seperti Apache yang berpasangan dengan suphp nya)?

Berikut ini akan dijelaskan sedikit modifikasi / tambahan pada konfigurasi php-fpm dan juga virtualhost pada Nginx. Sebelum melanjutkan panduan ini, setidaknya di server anda sudah ter-install Nginx dan php-fpm, jika belum silahkan ikuti dahulu panduan berikut untuk meng-install Nginx sekaligus php-fpm nya http://artikel.magnet-id.com/aplikasi-linux/nginx-mysql-php-di-centos-52-64-bit/

- Versi nginx pada saat panduan ini dibuat adalah: 0.7.61
- Versi php-fpm pada saat panduan ini dibuat adalah: versi untuk php 5.2.10
- Operating System: Centos 5.2
(mungkin ada sedikit perbedaan pada php-fpm, nginx atau operating system selain diatas)

Konfigurasi php-fpm

- Pertama buka file konfigurasi php-fpm, (mungkin bisa berbeda path, tergantung dengan konfigurasi anda)

vi /usr/local/etc/php-fpm.conf

- Cari tag: <section name=”pool”> yang ada setelah tag: <workers>

- Copy tag: <section name=”pool”> sampai </section>

- Paste sepasang tag tersebut berikut isinya sebelum atau diatas tag: </workers>, kira-kira seperti ini:

sebelum:

<workers>
<section name="pool">
... ...
</section>
</workers>

sesudah:

<workers>
<section name="pool">
... ...
</section>
<section name="pool">
... ...
</section>
</workers>

- Agar konfigurasi tidak bentrok, pastikan nama pool, port, dan user serta grup tidak ada yang sama, seperti ini:

<workers>

<section name="pool">
<value name="name">nama-domain-0.tld</value>
<value name="listen_address">127.0.0.1:9000</value>

... ...

<value name="user">user0</value>
<value name="group">user0</value>

... ...

</section>

<section name="pool">
<value name="name">nama-domain-1.tld</value>
<value name="listen_address">127.0.0.1:9001</value>

... ...

<value name="user">user1</value>
<value name="group">user1</value>

... ...

</section>

</workers>

- Sesuaikan juga value “max_children” yang ada di dalam tag <value name=”pm”> dengan jumlah yang diinginkan, value disini menentukan jumlah process yg dijalankan atas nama user terkait, dengan catatan value “style” harus “static”.

- Jika value “style” menggunakan “apache-like” maka abaikan “max_children” dan silahkan sesuaikan jumlah pada value “StartServers”, “MinSpareServers” dan “MaxSpareServers” yang ada di dalam <value name=”apache_like”> (biasanya pengguna apache sudah paham mengenai konfigurasi tersebut)

- Setelah selesai save konfigurasi tersebut dan restart php-fpm anda

/etc/init.d/php-fpm  restart

- Silahkan dilihat process php-fpm nya apakah user yang diinginkan sudah berjalan sebagaimana mestinya

ps aux | grep php-fpm

Jika pada restart php-fpm sudah berhasil tanpa error dan user yang diinginkan sudah berjalan, maka akan dilanjutkan dengan konfigurasi pada virtualhost nginx.

Konfigurasi virtualhost nginx

- Pada masing-masing virtualhost, silahkan diubah port php-fpm dengan port yang sudah didefinisikan pada konfigurasi php-fpm. Seperti ini:

virtualhost untuk nama-domain-0.tld:

... ...

location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include /usr/local/nginx/conf/fastcgi_params;
}

... ...

virtualhost untuk nama-domain-1.tld:

... ...

location ~ .php$ {
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.php;
include /usr/local/nginx/conf/fastcgi_params;
}

... ...

- Setelah itu restart nginx anda

/etc/init.d/nginx restart

- Jika tidak ada error pada saat restart nginx, maka php pada nama-domain-0.tld akan berjalan untuk user0 dan php pada nama-domain-1.tld akan berjalan untuk user1, silahkan diperiksa melalui phpinfo() masing-masing.

Selesai sudah sedikit contoh konfigurasi php-fpm dengan dengan multiple user. Silahkan ditambahkan lagi untuk user lainnya dengan jumlah user yang anda inginkan.

Situs ini dibuat dengan memanfaatkan Teknologi Open Source Wordpress, Nginx, 960 Grid System dan Linux CentOS.
Isi dari situs diutamakan untuk membantu Pengguna Layanan Magnet Hosting dalam memanfaatkan layanannya, disediakan tanpa jaminan, dapat dimanfaatkan, diperbanyak ataupun ditulis kembali dengan resiko masing-masing.
Copyright PT. Indonesia Digital Media © 2008-2009. (Top)