Sunday, June 19, 2011

www-data problem on Ubuntu

Secara default, Apache pada server ubuntu berjalan dengan user dan grup www-data. Masalah sering timbul apabila website yang dibuat tidak menggunakan user www-data, melainkan menggunakan user lain (user baru dengan lokasi direktori sesuai direktori ftp). Masalah umum yang terjadi adalah terkait privilege file atau folder yang diupload menggunakan website. Secara default, file atau folder yang dibuat melalui website, maka pemiliknya adalah user www-data. Akibatnya, apabila user ftp akan menghapus, atau mengedit atau bahkan menambahkan file lain ke dalam folder yang dibuat sebelumnya oleh www-data, user ftp ini tidak punya hak akses. Umumnya orang masuk sebagai root kemudian melakukan chmod 777 terhadap file atau folder. Namun demikian, cara ini tidak efektif apabila website yang dibuat berfungsi untuk mengupload banyak file/folder yang namanya berubah sesuai waktu dan terkadang penambahan bisa melalui web ataupun ftp.

Cara ini sebenarnya tidak disarankan, namun cukup ampuh apabila di dalam satu server hanya ada sebuah website saja.

Masukklah sebagai root:

hpserver# nano /etc/apache2/envvars

Ubah user dan group www-data menjadi user ftp yang akan digunakan (misal user ftp adalah hpserver):

export APACHE_RUN_USER=hpserver
export APACHE_RUN_GROUP=hpserver
export APACHE_PID_FILE=/var/run/apache2.pid

Kemudian restart apache

hpserver# /etc/init.d/apache2 restart

Silahkan lihat di phpinfo(), sekarang user handler apache bukan lagi www-data melainkan hpserver :)

No comments:

Post a Comment