Menjalankan VirtualHost di Apache dengan User/Group yang berbeda


Dikatakan bahwa GNU/Linux merupakan sistem operasi yang aman, salah satunya adalah adanya hak akses atau permission pada tiap-tiap berkasnya. Mungkin bagi para imigran Windows ke GNU/Linux metode permission ini merupakan hal yang menjengkelkan. Dari sebab itu, jalan pintas menjadi pantas, berkas yang dianggap menjengkelkan malah diubah permission-nya menjadi 0777. Apalagi berkas tersebut ada pada web server yang notabennya dapat diakses oleh semua orang, menjadi akan sangat berbahaya.

Saya selalu melarang para pengguna baru GNU/Linux untuk jangan menggunakan permission 0777 kecuali memang berkas tersebut dibuka umum. Oleh karena itu, akhirnya saya menulis artikel mengenai “Jangan Pernah Menggunakan Permission 777 atau 765 Saat Mendevelop Web PHP di GNU/Linux“. Dalam artikel itu, sebetulnya saya telah menjelaskan bagaimana agar tetap menggunakan permission 0755 dan 0644 dengan cara chmod. Akan tetapi akan menjadi kekurangan jika dalam tahap developing, untuk menyunting berkas harus selalu gunakan sudo, cukup merepotkan.

Nah, artikel ini saya tulis adalah untuk mempermudah kita pada saat men-developing web berbasis PHP tanpa harus mengubah hak akses pada berkas tersebut. Yakni dengan memanfaatkan apache2-mpm-itk atau singkatnya module mpm-itk untuk apache.

Apa itu mpm-itk ?

MPM singkatan dari Multi-Processing Module, sedangakn mpm-itk itu adalah module yang dapat menjalankan virtualhost pada apache dengan perbedaan uid dan gid. Dengan kata lain, kita dapat menyesuaikan tiap-tiap berkas atau skrip sesuai dengan permission dari user yang digunakan.

Persyaratan

Pemasangan mpm-itk

mpm-itk saat ini telah tersedia diberbagai distro mainstream, jadi kita bisa memasangnya melalui repositori resmi distro. Di sini, saya akan memaparkan beberapa cara pemasangan mpm-itk pada distro mainstream. Namun, perlu diketahui bahwa dalam prakteknya, saya hanya mengimplementasi mpm-itk pada Arch Linux.

Pengguna Arch Linux beserta derivatifnya:


Pengguna Debian, Ubuntu beserta derivatifnya:


Pengguna Fedora beserta derivatifnya:


Untuk memastikan apakah mpm-itk ini sudah terpasang atau belum, kita dapat mengeceknya dengan perintah berikut:


Atau juga bisa dengan cara memanfaatkan find:


Lihat berkas mpm_itk.so jika sudah ada tanda kita sudah berhasil memasangnya.

Konfigurasi Apache

Setelah melakukan pemasangan mpm-itk, selenjutnya kita perlu mengkonfigurasi apache agar mpm_itk tersebut dapat berjalan dengan sebagaimana mestinya. Pengaturan apache terletak pada berkas httpd.conf, jika kita tidak tahu di mana letak berkas tersebut, dapat memanfaatkan cara berikut: Mengetahui Letak Berkas Konfigurasi Apache (httpd.conf).

Kemudian untuk menyunting berkas httpd.conf, lakukan perintah berikut:


Lalu tambahkan kode ini, di akhir loadmodule.


Keluar dan simpan. Khusus pengguna Debian, Ubuntu dan derivatifnya:


Setelah selesai, kita cek apakah konfigurasi sudah benar dengan perintah:


Jika tertulis SYNTAX OK berarti sudah aman, tinggal restart apache-nya.

Konfigurasi Virtualhost

Tahap selanjutnya yakni kita konfigurasi virtualhost. Dalam tahapan ini saya menggunakan metode yang pakai pada oleh komunitas Debian yakni memisahkan konfigurasi tiap-tiap virtualhost. Oh iya, khusus bagi Anda pengguna Debian, Ubuntu dan derivarifnya, tahapan ini bisa Anda lewati.

Pertama-tama aktifkan module virtualhost Anda di httpd.conf:


Lalu tambahkan:


Keluar lalu simpan, dan restart apache-nya:


Kemudian cari berkas httpd-vhosts.conf umumnya terletak pada direktori /etc/httpd/conf/extra/ jika ragu bisa dicari dengan find.


Berkas sudah terlihat langsung saja sunting:


Hapus semua isi dari berkas di atas, ganti dengan tulisan:


Karena berkas httpd.conf terletak pada direktori /etc/httpd/conf/ maka kita buatkan direktori khusus berkas virtualhost di /etc/httpd/conf/vhosts:


Kemudian kita buat berkas default.conf sebagai pengaturan default:


Isi dengan skrip di bawah ini:


Perhatian: Untuk DocumentRoot dan AssignUserID disesuaikan dengan alamat berserta user yang Anda gunakan.

Keluar dari vim lalu simpan skrip di atas, dan aktifkan dengan cara:


Karena skrip di atas kita meletakan default root directory-nya di /home/ali/dev/php dan di dalamnya juga terdapat direktori log untuk menyimpan aktifitas apache, jadi kita perlu membuat direktori tersebut agar apache tidak error caranya:


Langkah terakhir tes konfigurasi apache dan restart:


Jika tertulis SYNTAX OK langsung saja restart apache-nya.

Tahap Pengecekan

Untuk memastikan semua berjalan dengan sebagai mana mestinya, perlu kita cek, langsung liihat pada peramban:

Lihat tangkapan layar di atas, semua sudah sama dengan yang berada dalam direktori /home/ali/dev/php. Dan dalam contoh tersebut saya membuat skrip sederhana pada berkas phpinfo.php dengan isi: <?php phpinfo(); untuk memastikan PHP sudah berjalan atau tidak.

Oke cukup sampai di sini dulu, jika ada yang masih kurang dimengerti silahkan bertanya pada kotak komentar. Semoga tulisan ini bermanfaat.

Sumber:

Ayo Berlangganan!

Dapatkan pemberitahuan artikel-artikel terbaru super cepat, langsung dari surel Anda.
Lebih dari 320 telah berlangganan situsali.com, ayo segera daftarkan surel Anda sekarang juga!



Perhatian!

Demi kenyamanan bersama, sebelum berkomentar, harap gunakan bahasa yang baik dan benar. Juga baca aturan dalam berkomentar. Dilarang berkomentar yang dapat memicu pertengkaran dan menyinggung unsur SARA (Suku, Agama, Ras, dan Antar Golongan).

Leave a Reply