Manajemen Berkas Aplikasi PHP

Sering kali kita bingung, mau ditaruh dimana berkas-berkas aplikasi PHP yang sedang dikembangkan. Terutama bagi yang komputernya terpasang Linux. Di Ubuntu, paket peladen web (misal : apache, nginx, lighttpd) yang dipasang dari repositori menggunakan direktori /var/www sebagai document root bawaan. Permasalahannya, direktori tersebut, secara bawaan hanya bisa ditulis oleh pengguna root dan biasanya memiliki modus 755 (rwx-r-x-rx). Tentu hal ini merepotkan bagi pengguna yang selalu menghindari penggunaan akses root, termasuk untuk keperluan yang seperti ini.

Lalu apa hubungan pengembangan aplikasi PHP dengan direktori document root ini? Bukankah ngoding tetap bisa dilakukan meskipun tanpa peladen web sekalipun? Betul. Tapi tetap saja untuk pengujian aplikasi web kehadiran peladen web tetap dibutuhkan. Juga sebagian pemrogram biasa menggunakan gaya coding-preview, dimana setiap selesai satu fungsi atau perbaikan kode, pemrogram selalu ingin melihat perubahannya melalui jendela peramban. Seperti ketika menggunakan perangkat semacam Dreamweaver atau sejenisnya.

Jika demikian adanya, ada beberapa skenario yang bisa dilakukan. Tentunya masih tetap dengan asumsi penggunaan akses root yang seminimal mungkin.

1. Mengganti modus akses document root ke 777

Caranya dengan $ sudo chmod -c 777 /var/www. Ini memungkinkan siapa saja mempunya akses tulis ke direktori tersebut tanpa akses root. Selanjutnya berkas-berkas yang ada di dalamnya akan dimiliki oleh pembuatnya.

2. Membuat symbolic link

Cara ini menggunakan direktori alias. Tiap aplikasi yang sedang dikembangkan tetap di direktori asalnya (misal: /home/user/proyek/aplikasiku). Kita akan membuatkan “short cut” di /var/www.

$ sudo ln -s /home/user/proyek/aplikasiku /var/www

Sehingga direktori aplikasiku bisa juga diakses di /var/www/aplikasiku. Hak akses yang dimiliki direktori ini tetap sama dengan direktori asalnya. Penyuntingan berkas tidak perlu dilakukan di /var/www/aplikasiku (meskipun bisa), tapi cukup di /home/user/proyek/aplikasiku. Direktori alias yang di /var/www hanya difungsikan untuk pengaksesan melalui peramban web.

3. Menyunting virtual host

Pilihan yang ketiga adalah mengubah berkas konfigurasi virtual host dimana terdapat pernyataan Document Root. Cara berikut untuk peladen web Apache. Untuk yang lain silahkan lihat manualnya masing-masing.

Di Ubuntu, berkas konfigurasi virtual host terdapat di /etc/apache2/sites-enabled/000-default yang merupakan symbolic link dari /etc/apache2/sites-available/default. Sunting berkas tersebut dengan asumsi Document Root-nya akan kita letakkan di /home/user/www

asal hasil
<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>
    ...
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /home/user/www
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /home/user/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>
    ...
</VirtualHost>

4. Menggunakan userdir

Berbeda dengan cara sebelumnya yang menyunting virtual host, cara ini tetap membiarkan Document Root sesuai asalnya. Hanya saja peladen web (Apache) di berikan tambahan modul userdir, sehingga di tiap-tiap direktori rumah pengguna akan mempunyai direktori www atau sejenisnya.

Sebelumnya, modul tersebut harus diaktifkan

$ sudo a2enmod userdir
$ sudo /etc/init.d/apache2 restart

Bisa jadi direktori di rumah anda bukan www, tapi public_html, http, atau yang lainnya. Tidak masalah.

Yang perlu juga diperhatikan adalah pengaksesan URL-nya. Jika biasanya diakses melalui http://localhost, maka untuk userdir ini diakses melalui http://localhost/~user, dimana “user” adalah nama masing-masing pengguna. Misalkan saya memiliki aplikasi di /home/user/www/aplikasiku, maka URL yang harus saya akses adalah http://localhost/~user/aplikasiku, BUKAN http://localhost/aplikasiku

Nah, selamat memilih dan mencoba.

Iklan

One thought on “Manajemen Berkas Aplikasi PHP

Silahkan berkomentar ...

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s