Assalamualaikum wr wb.
Pagi cerah gini ane punya ilmu baru nih. Jadi gini ceritanya, ane punya server yang sudah di install Centos 7, berikut webserver serta php nya sudah diinstal. Begitu saya buat project php untuk upload file, ternyata file gagal terupload. Biasanya kan masalah terlatak di permission folder kan. Terus ane coba ubah permission ke 777 namun masih tetap gagal. File masih tidak bisa terupload. Setelah berkeliling di stackoverflow dll masih belum menemukan solusi nih. Dan masalahnya ane kurang variatif aja dalam mencari kata kunci di google terkait masalahnya. Kemudian ane masuk komunitas Centos di facebook, basisnya bule semua sih jadi ane coba diskusi dengan bahasa inggris hehe. Dan langsung banyak jawaban juga terkait masalah yang ane alami. Begini solusinya.
- Buka terminal dan masuk ke server. Kemudian arahkan terminal ke folder tujuan upload. Kemudian ketikkan perintah dibawah ini
- ls -Z
- Hingga muncul seperti gambar dibawah ini.

- Perhatikan gambar diatas, terdapat 2 folder yaitu test_exec dan tesupload. Perhatikan status SELinux foldernya. Folder test_exec status SELinux nya httpd_sys_content_t. Sedangkan folder tesupload status SELinuxnya httpd_sys_rw_content_t. Perbedaannya terletak di kata rw content (Read Write Content). Kedua folder memiliki permission yang sama 777. Tapi jika kita coba upload ke folder test_exec maka akan gagal, karena folder nya hanya bersifat Read saja. Tetapi jika kita upload ke folder tesupload maka akan bisa terupload karena status foldernya Read dan Write. Kurang lebih begitu penjelasan nya. Nah lalu bagaimana cara merubah status SELinux pada foldernya.
- Untuk merubah nya cukup ketikkan perintah dibawah ini
chcon -Rv --type=httpd_sys_rw_content_t namafolder/
- Namafolder bisa kalian ganti dengan nama folder yang ingin kalian ubah SELinux nya. Contoh ane akan ubah folder test_exec. Maka jadi seperti ini.
chcon -Rv --type=httpd_sys_rw_content_t test_exec/
- Lalu Enter dan cek kembali seperti no 2. Kemudian coba kembali untuk mengupload file dengan project PHP nya.
Catatan
mungkin ini juga berlaku untuk Ubuntu atau yang lainnya ya. Tapi kasus ane ini ane alamin di Centos 7. Dan sebenarnya ini masalah berawal dari third party PHPWord gan. Masalahnya tidak bisa write document pada server. Biasanya muncul error seperti ini.
Could not close zip file
Nah setelah cari cari penyebabnya ternyata pada permission folder. Kembali lagi seperti cerita diatas setelah ubah permission ke 777 masih tetep error. Akhirnya pake cara di atas masalah terselesaikan gan.
Sekian dari ane, semoga bermanfaat gan. Jangan lupa tinggalkan komentar jika mengalami kesulitan. Insya Allah akan ane bantu jawab hehe. Terima Kasih !!!!









work gan, terima kasih
oke gan siap sama sama terima kasih sudah berkunjung hehe
gan saya masih bingung ni… soalnya saya sebelunya bisa upload
kemudian karena adahacker yg masuk menyebabkan ga bisa upload file ke dalam server sedangkan ke db sudah berhasil masuk hanya saja ke directory nya tidak masuk
terimakasih
bisa diceritain gan hacker gmn mksdnya?
terus project agan pake framework atau native? kalo pake framework , frameworknya apa? dan di share juga code nya gan siapa tau bisa saya bantu