Ada beberapa penyebab potensial untuk masalah izin file dan folder pada hosting Linux.
1. Izin File dan Folder
Periksa izin folder diatur ke 0755 dan izin file diatur ke 0644. Perhatikan bahwa izin file dan folder dapat diatur ulang ke pengaturan aman standar ini di seluruh situs menggunakan versi gratis atau versi berbayar dari Alat Admin Akeeba.
2. Parameter PHP
Periksa parameter upload_max_filesize di tab Informasi PHP di Informasi Sistem sudah cukup. Anda sering dapat mengganti pengaturan default di lingkungan hosting bersama melalui pengaturan PHP di cPanel atau php.ini
file khusus .
3. Path salah dalam configuration.php
Anda mungkin memiliki jalur yang salah yang ditentukan untuk folder tmp dan log. Ini ditentukan dalam Konfigurasi Sistem atau dapat diperbarui secara langsung dalam file configuration.php jika Anda merasa nyaman mengedit file sistem secara langsung. Jika Anda tidak yakin tentang apa jalurnya, buat dan unggah file whereami.php
(atau serupa) ke folder root situs web Anda dengan konten berikut:
<?php
print 'Current folder is ' . dirname(__FILE__);
?>
Jelajahi untuk [mywebsite].com/whereami.php
melihat path ke folder root.
Setelah Anda memiliki jalur yang benar, ingatlah untuk menghapus whereami.php
file.
4. Penangan File PHP yang Tidak Sesuai
Hosting web Anda mungkin dikonfigurasikan dengan penangan file PHP default tetapi idealnya harus menggunakan suPHP atau FastCGI atau serupa sehingga Joomla dapat mengunggah dan mengeksekusi file menggunakan izin file aman.
Anda dapat melihat apa yang sedang digunakan PHP handler System -> System Information -> WebServer to PHP Interface
.
Ada artikel bagus tentang manfaat relatif dari penangan file PHP di: http://boomshadow.net/tech/php-handlers
Di lingkungan hosting bersama Anda biasanya tidak memiliki akses untuk mengubah penangan file PHP mana yang diaktifkan tetapi perusahaan hosting web Anda mungkin dapat mengubahnya untuk Anda.
Kadang-kadang sebagai penyelesaian, izin file dan folder diubah menjadi 0777 tetapi ini membuat situs web Anda dalam keadaan rentan dan izin file 0777 umumnya harus dihindari.
Jika perusahaan hosting web Anda tidak dapat mengaktifkan suPHP atau FastCGI, satu-satunya pilihan lain adalah menemukan perusahaan hosting web baru.
5. Ruang Disk
Periksa Anda belum melampaui kuota ruang disk Anda.
DAFTAR PERIKSA MASALAH
Apa praktik terbaik yang disarankan untuk mengatur izin dan kepemilikan di Joomla pada sistem linux?
Lihat 1 dan 4.
Tidak dapat mentransfer file ke server menggunakan program seperti WinSCP.
Lihat 1, 2, mungkin 4, dan 5.
Tidak dapat menginstal ekstensi Joomla, plugin, dll.
Lihat 1, 2, 3, 4 dan 5.
File dan folder tidak aman karena izin berbahaya dan pengaturan kepemilikan.
Lihat 1 dan 4.
Silakan periksa level izinnya, masing-masing harus 644 dan 755 untuk file dan folder.
Sering kali tingkat izinnya baik-baik saja, bahkan ketika beberapa masalah dihadapi. Ini berarti bahwa Anda harus memeriksa kepemilikan dan grup file dan folder tertentu . Biasanya grup dan kepemilikan dapat diubah menjadi www-data untuk apache (digunakan di server web berbasis ubuntu).
Jangan ragu untuk memeriksa dokumen Joomla yang menarik ini berdasarkan memverifikasi izin file.
sumber
Solusi mudah bagi saya adalah dengan sering membiarkan PHP berjalan dalam mode (cepat) CGI dan mengatur kepemilikan direktori Joomla kepada pengguna FTP. Jadi Anda akan dapat mengunggah dan menimpa file melalui FTP dan Joomla akan dapat menulis file juga.
Cara untuk melakukan ini pada lingkungan hosting bersama (jika diizinkan), adalah menambahkan sesuatu seperti ini ke file .htaccess Anda:
Lihat juga ikhtisar tentang berbagai mode .
sumber
Izin harus 644 dan 755 seperti yang dijelaskan oleh Shyam.
Di Joomla Anda dapat menghindari semua masalah yang Anda sebutkan, dengan metode berikut.
Tidak dapat mentransfer file ke server menggunakan program seperti WinSCP.
configuration.php
memiliki izin ini yang tidak diizinkan secara default (untuk keamanan).Tidak dapat menginstal ekstensi Joomla, plugin, dll.
Ini akan terjadi karena
temp/log
izin buruk folder. (Diperlukan 755)Atau alasan lain mengapa
temp/log
jalan salahconfiguration.php
File dan folder tidak aman karena izin berbahaya dan pengaturan kepemilikan.
Semoga ini bisa membantu ..
sumber
Izin harus 644 dan 755 seperti yang dijelaskan oleh Shyam.
Masalah yang Anda hadapi kemungkinan besar terkait dengan cara server Anda diatur. Sebagian besar waktu ini terjadi pada host bersama di mana Apache berjalan di bawah pengguna yang berbeda dari akun FTP Anda. Karena Anda biasanya mengunggah Joomla menggunakan FTP, Apache bukan pemilik file dan karenanya tidak memiliki izin yang diperlukan untuk mengubahnya.
Ada mode FTP dalam Joomla yang memungkinkan Anda untuk melewati masalah ini. Anda dapat mengaktifkannya di konfigurasi global Joomla. Kemudian akan melakukan semua pengaksesan file menggunakan pengguna FTP, bukan pengguna Apache biasa.
Namun cara yang lebih baik adalah meminta host Anda untuk memperbaiki masalah ini. Mereka dapat mengatur PHP (Apache) untuk dijalankan di bawah pengguna khusus, yang dalam hal ini adalah pengguna FTP Anda. Maka semuanya akan bekerja dengan baik.
sumber
Ya, izinnya harus 644 dan 755 seperti yang dijelaskan oleh Shyam , tetapi poster lain lupa menyebutkan bahwa ini adalah jika file tersebut dimiliki oleh server web Anda, dan grup tersebut adalah grup milik Anda.
Misalnya, di FileZilla Anda akan melihat izin seperti ini:
Izin drwxr-xr-x adalah 755 (abaikan saja dr terkemuka jadi itu wxr-xr-x). Izin baca bernilai 4, Izin menulis bernilai 2 dan jalankan izin bernilai 1 .. sehingga semuanya ditambahkan hingga 7, dan itulah yang dimiliki oleh pemilik file ini. Grup telah membaca dan mengeksekusi izin tetapi tidak menulis, sehingga mereka memiliki 5, dan semua orang juga memiliki 5. membuat izin 755.
754 adalah pemilik yang telah membaca, menulis, mengeksekusi. Grup telah membaca dan mengeksekusi, dan semua orang hanya memiliki izin baca.
Pada contoh di atas, Anda dapat melihat bahwa pemilik file adalah www-data (yang merupakan grup server web default untuk banyak server Apache) dan Grup adalah grup myGroup, yang merupakan Grup (admin) yang menjadi milik saya.
Angka pertama adalah izin pemilik, yang kedua adalah izin grup, dan angka ketiga adalah izin semua orang. Jelas, Anda harus berhati-hati untuk memberikan izin yang dibutuhkan server web ... dan pastikan file yang perlu dikunci tidak dapat ditulis atau dieksekusi oleh sembarang orang (nomor ketiga). Berikut ini arti angka-angkanya:
Dengan anggapan Webserver memiliki file, admin Anda ada di grup, dan tentu saja, semua orang adalah nomor ketiga.
644: File dengan izin yang diatur ke 644 dapat dibaca oleh semua orang dan hanya dapat ditulis oleh pemilik file / folder.
755: File dengan izin yang diatur ke 755 dapat dibaca dan dieksekusi oleh semua orang, tetapi hanya dapat ditulisi oleh pemilik file / folder.
777: File dengan izin yang diatur ke 777 dapat dibaca, ditulis, dan dieksekusi oleh semua orang. Jangan gunakan set izin ini, karena alasan keamanan, di server web Anda kecuali benar-benar diperlukan, dan hanya sementara. Ini adalah bencana yang menunggu untuk terjadi, terutama jika direktori memiliki izin tersebut .. itu berarti siapa pun dapat mengunggah file dan menjalankannya.
Berikut adalah perintah Linux untuk mengatur Joomla! izin yang disarankan dari baris perintah. Izin File Joomla yang Direkomendasikan
CATATAN - banyak orang akan menunjukkan kepada Anda perintah-perintah ini tanpa path, tetapi saya lebih suka SELALU menggunakan path lengkap, karena jika Anda lupa mengubah direktori ke root Joomla! direktori instalasi dan jalankan tanpa path, Anda baru saja mengubah izin untuk setiap file dan direktori di direktori teratas itu, dan membuat kekacauan besar.
Setelah Anda menjalankan perintah ini, Anda harus memperbaiki izin untuk direktori apa pun yang membutuhkan izin lebih banyak ... misalnya ... pengguna mengunggah gambar dll.
JIKA ANDA HANYA MENGGUNAKAN JOOMLA! antarmuka, dan Anda tidak memiliki akses admin atau FTP ke server, lalu GUNAKAN KEPEMILIKAN dan IZIN DI ATAS.
BERHENTI DI SINI JIKA ANDA ADALAH NOVICE .. Di bawah ini hanya untuk orang yang benar-benar memahami apa yang dilakukan izin dan kepemilikan.
Namun, saya merasa memiliki kepemilikan dan izin seperti itu sangat tidak mudah karena saya sering menggunakan FileZilla dan baris perintah sesi Terminal, dan saya mengunggah banyak file secara manual. Tetapi saya tidak dapat menimpa file apa pun karena saya tidak memilikinya dan saya tidak punya izin untuk menulis. Saya dapat meminta FileZilla masuk di bawah akun server web, TAPI ... Saya ingin FileZilla masuk di akun saya, jadi saya juga dapat menelusuri direktori lain, bukan hanya file yang dapat diakses oleh server web ... SO ... Saya mengubah kepemilikan dan izin untuk ini:
Saya menjadikan diri saya pemilik, dan meletakkan server web di Grup ... dan saya mengubah izin untuk direktori menjadi 775, dan untuk file menjadi 664. Membuat hidup saya jauh lebih mudah ... tapi saya tidak merekomendasikannya untuk semua orang.
Jika Anda melakukannya dengan cara saya, ini adalah perintahnya:
sumber
Jawaban lain memberikan penjelasan yang baik tentang apa yang harus dilakukan, saya hanya ingin menambahkan skrip untuk memperbaiki izin jika Anda sudah mengunggah komponen dan tidak dapat mengakses file dengan ftp.
Dalam hal ini saya akan mengunggah file ini
fix.php
ke server FTP dan membukanya di browser:http://example.com/fix.php
Skrip ini menetapkan semua izin file ke 666 dan semua direktori menjadi 777. World writable bukan set izin terbaik untuk host bersama tetapi Anda akan dapat mengakses file Anda lagi dan kemudian dapat mengaturnya ke nilai yang benar dengan FTP.
sumber
Terlambat ke pesta. Saya datang ke sini mencari serta tempat-tempat lain untuk panduan yang pasti tentang folder apa yang harus ditulis untuk joomla.
Maaf, orang-orang yang menjadi pertanda berita buruk.
Saran untuk menggunakan izin 755 untuk semua direktori dan 644 untuk semua folder setidaknya tidak bertanggung jawab .
Membuat semua folder dan file Anda dapat ditulisi oleh pemilik tidak masalah selama pemiliknya bukan server web (apache et al).
Saya tahu ini adalah praktik yang disarankan umum tetapi saya dapat meyakinkan Anda bahwa ini bukan praktik yang baik. Bagian terakhir dari perangkat lunak yang ingin Anda beri kemampuan untuk menulis ke folder adalah server web itu sendiri. Ini adalah server web yang digunakan oleh peretas untuk mengambil keuntungan dari eksploitasi yang belum ditambal (atau bahkan ditemukan).
Apakah menurut Anda .htaccess akan menyelamatkan Kevin Anda? Lupakan saja karena Anda mengizinkan akses tulis server web, teman-teman peretas kami yang terkasih dapat membuat file .htaccess mereka sendiri dengan memberikan izin apa pun yang mereka inginkan! seperti Oh, saya tidak tahu Umm membuat file .jpg dapat dieksekusi oleh server. Dan Anda berpikir melindungi terhadap eksekusi .php akan menutupi A. Anda
Tetapi pastikan hanya folder yang membutuhkan akses tulis yang benar-benar memilikinya. 755 dan 644 untuk folder berikut.
Dan pastikan Anda mematikan file .htaccess dengan tidak ada AllowOveride untuk semua folder yang dapat ditulisi (seperti yang di atas)
Bagi Anda yang menggunakan shared hosting semoga sukses karena ini adalah elemen konfigurasi yang tidak dapat Anda kontrol.
Jangan berpikir membuat file .htaccess hanya membaca akan membantu. Jika teman-teman peretas kami dapat membuat folder baru (mereka dapat) maka mereka dapat membuat .htaccess mereka sendiri.
Bagi Anda yang menjalankan shared hosting untuk semua yang sakral, silakan dapatkan petunjuk tentang keamanan.
Jika Anda tidak mengerti keamanan, silakan keluar dari bisnis hosting yang Anda buat sulit bagi kita semua.
Sekarang kembali ke pencarian saya untuk panduan definitif pada folder yang membutuhkan akses tulis ...
sumber