author Ahmad Muhardian

Konfigurasi Server Apache PHP di Linux agar bisa Upload File


Pemrograman PHP

Saya berencana akan melakukan instal ulang dalam waktu dekat ini. Karena ada beberapa kerusakan yang saya temukan di Distro Linux yang sedang saya pakai.

Sebelum melakukan itu, ada baiknya mencatat dulu konfigurasi server yang sedang berjalan. Supaya nanti mudah mengonfigurasi lagi.

Server Apache dan PHP di Linux tidak seperti server XAMPP di Windows. Server Apache dan PHP di linux memiliki hak akses direktori yang harus dipatuhi. Sehingga, kalau kita membuat skrip upload file akan selalu gagal. Karena kita tidak diberikan akses untuk menulis di direktori /tmp.

Permasalahan ini bisa diatasi dengan membuat direktori baru sebagai ganti atau alternatif direktori /tmp. Direktori ini saya namakan tmp_upload yang berlokasi di /var/www/.

sudo mkdir /var/www/tmp_upload

Kemudian memberikan hak akses dengan nomer kode 777. Artinya semua orang bisa mengakses, menulis, dan mengeksekusi sesutu dalam direktori ini. Nomer kode 777, tidak disarankan digunakan pada server produksi (production server).

sudo chmod 777 -R /var/www/tmp_upload

Setelah itu, Barulah kita konfigurasi server php melalui berkas php.ini yang terletak di /etc/php5/apache2/php.ini.

sudo nano /etc/php5/apache2/php.ini

Untuk PHP7:

sudo nano /etc/php/7.0/apache2/php.ini

Nilai-nilai yang diubah:

file_uploads = On
upload_tmp_dir = /var/www/tmp_upload
upload_max_filesize = 1024M
max_file_uploads = 20

Konfigurasi lengkapnya: cek di gist.github.com

Jangan lupa, menghidupkan ulang layanan apache2 setelah dikonfigurasi.

sudo service apache2 restart

Semoga bermanfaat.