Konfigurasi Server Apache PHP di Linux agar bisa Upload File
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 mengkonfigurasi 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 di atasi 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 sesuatu 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.