Adanya XAMPP sejak awal memang diperuntukan tuk mempermudah web developer, satu aplikasi berisi semua paket yang dibutuhkan _web developing, _yakni Apache, MySQL/MariadDB, PHP dan Perl sesuai singkatanya XAMPP.

Sering kali saya mendapati suatu pertanyaan kepada mereka yang baru pertama kali mencoba atau migrasi sistem operasi dari Windows ke GNU/Linux, mengenai XAMPP yang terkendala pada saat proses writing, seperti halnya mengunggah berkas, tidak langsung keunggah. Atau kesulitan pada saat memasang CMS seperti Wordpress.

Salah satu alasannya adalah di GNU/Linux terdapat sistem permission. Adanya permission ini, sebetulnya suatu keunggulan di GNU/Linux, denganya kita dapat mengatur berkas atau direktori mana saja yang boleh diakses bebas atau tidak. Karena kita sebelumnya di Windows terbiasa tanpa adanya permission, jadi ketika pindah akan ada sedikit masalah. Hemat saya itu hal yang sudah lumrah.

Alasan saya menulis tutorial ini adalah untuk meluruskan sedikit pandangan yang menurut hemat saya itu salah yang banyak beredar di blog. Seperti:

* Ketika belajar _web developing_, menggunakan _permission_ `777`.

Ini adalah salah satu kesalahan yang sangat fatal , mengapa? Karena membiasakan ini, dikhawatirkan nantinya akan terbawa pada saat masuk tahap production, yang harus diunggah ke peladen (server). Jadi tetap biasakan menggunakan permission standarnya yakni 755 untuk direktori, 644 untuk berkas . Meskipun ada beberapa PHP fremework menyarankan beberapa direktori tertentu yang writable, perlu permission 777. Hemat saya tetaplah gunakan permission 755 pada direktori apapun yang diakses di luar. Yang terpenting adalah owner-nya sesuai dari direktori tersebut. * Ketika masuk GNU/Linux, belajar web developing jangan menggunakan paket XAMPP. Ada benarnya, tetapi tidak 100% benar. Hemat saya menggunakan XAMPP juga bisa untuk sampai tahap production. Juga XAMPP itu diperuntukan bagi mereka yang tidak mau disibukan untuk mengurusi aplikasi. Jadi cukup gunakan XAMPP tanpa harus memasang satu-satu aplikasi terpisah (LAMP). Kelebihan LAMP ada pada kemudahan saat pembaruan (update) saja. Kita cukup perbarui menggunakan paket menejer (apt,dnf, pacman, zypper, dll).

Tulisan ini mewakili kepada Anda pengguna XAMPP. Tidak mesti harus pindah ke LAMP, tetap gunakan itu yang terpenting pengaturan permission-nya benar. Berikut ini adalah cara-caranya:

Tahap Praktek

Perhatian, sebelum praktek pastikan Anda sudah bisa memasang XAMPP di GNU/Linux Anda. Atau bisa cari pada tulisan sebelumnya di sini.

Pertama-tama kita buat dulu skrip PHP sederhana. Tujuannya untuk mengetahui, user dan group mana yang mengeksekusi Apache. Yakni:

sudo nano /opt/lampp/htdocs/checkid.php

Lalu masukan kode berikut:

<?php
system("id");

Hasilnya akan seperti gambar di bawah ini:

Anda akan melihat uid, gid, dan groups bernama deamon. Oleh karena itu, sederhannya untuk membuat direktori menjadi dapat ditulis (writable). Kita perlu menggunakan chown dengan user dan group-nya daemon.

sudo chown daemon:daemon /opt/lampp/htdocs/ -R

Menggunakan user dan group deamon di file manager (nautilus, dolphin, nemo, caja, pcmanfm, dll) tidak akan bisa kita akses sesuai user yang sedang kita pakai saat itu. Kecuali menggunakan akun root atau file manager tersebut dipanggil menggunakan sudo, gksudo.

Nah, jika kita ingin menggunakan user dan group yang sedang kita pakai. Ganti saja pada berkas di /opt/lampp/etc/httpd.conf, cari User daemon, dan Group daemon, seperti gambar di bawah ini:

sudo gedit /opt/lampp/etc/httpd.conf

Ganti dengan user dan group yang Anda gunakan saat ini. Untuk melihatnya ketik saja id pada Terminal. Seperti gambar di bawah ini:

Contoh gambar di atas, uid=ali, groups=users. Jadi pada berkas di /opt/lampp/etc/httpd.conf harus seperti berikut:

Selanjutnya pada bagian direktori htdocs bisa menggunakan user dan group tadi. Langsung kita ubah seperti berikut:

sudo chown ali:users /opt/lampp/htdocs -R

Nah, dengan demikian Anda bisa melakukan seperti biasa yang dulu pernah Anda lakukan di Windows. Yakni tinggal menaru direktori atau berkas pada diretori htdocs, tanpa harus memikirkan permission-nya lagi. Lihat contoh video di bawah ini:

[video width=“640” height=“450” mp4=“https://situsali.com/wp-content/uploads/2017/03/situsali-xampp.mp4”][/video]

Di atas Anda tidak perlu kwatir juga untuk masalah permission. Karena sudah pasti 755 untuk direktori dan 644 untuk berkas. Anda bisa mengecek sendiri dengan perintah ls -l di Terminal.

**Keterangan:** drwxr-xr-xr = 755 (direktori) -rw-r-r = 644 (berkas)

Untuk membuktikan apakah direktori sudah dapat ditulis (writable) atau belum. Kita buat lagi skrip PHP sederhana berikut:

<?php

if (is_writable(__DIR__)) {
    echo 'Direktori ' . __DIR__ . ' bisa ditulis';
} else {
    echo 'Direktori ' . __DIR__ . ' tidak bisa ditulis';
}

Hasilnya:

Nah, jika sudah_ writable_ Anda tidak perlu khawatir lagi untuk memasang CMS seperti Wordpress, Joomla, Drupal, dsb. Ataupun memasang PHP Fremework, Anda bisa melakukan seperti yang Anda lakukan di Windows.

Semoga bermanfaat 😁