Saya menduga bahwa izin mungkin sudah kacau pada instalasi Magento 2 saya. Pada versi lama saya akan menjalankan perintah berikut untuk membuat folder 755 dan file 644:
find . -type f -exec chmod -c 644 {} \; && find . -type d -exec chmod -c 755 {} \;
Bisakah Anda beri tahu saya izin file dan folder yang benar untuk Magento 2 karena sepertinya berbeda? Juga, jika ada beberapa folder atau file tertentu yang memerlukan izin berbeda.
magento2
permissions
Neekoy
sumber
sumber
var/cache
danpub/static
perlu bit suid ditetapkan. Saya menggunakan:find var/cache -type d -print0 | xargs -0 sudo chmod 1775
Jawaban:
Anda dapat merujuk http://devdocs.magento.com/
Hal-hal penting:
Pemilik sistem file Magento: Harus memiliki kontrol penuh (baca / tulis / eksekusi) semua file dan direktori.
Tidak boleh menjadi pengguna server web; seharusnya pengguna yang berbeda.
Pengguna server web harus memiliki akses tulis ke file dan direktori berikut: var app / etc pub (dan mungkin baru dalam 2.2.1 :) yang dihasilkan
Selain itu, grup server web harus memiliki sistem file Magento sehingga pengguna Magento (yang ada di grup) dapat berbagi akses ke file dengan pengguna server web. (Ini termasuk file yang dibuat oleh Admin Magento atau utilitas berbasis web lainnya.)
Kami merekomendasikan pengaturan izin sebagai berikut:
Anda harus mengatur seperti di bawah ini yang direkomendasikan.
Saya harap ini akan membantu Anda.
sumber
\;
, misalnya:find ./var -type d -exec chmod 777 {} \;
chmod u+x bin/magento
dapat menjalankan perintah konsol.Dalam beberapa kasus yang jarang terjadi, Anda tidak dapat menggunakan 770 dan 660, seperti kata @MagenX, 755 dan 644 juga bisa menjadi izin yang Anda butuhkan. (Saya kira, beberapa pengguna Fast-CGI)
Jadi dalam hal ini, Anda menjalankan:
Tampaknya memperbaikinya, tetapi jika Magento menghasilkan file atau direktori baru, mereka akan memiliki izin 770 dan 660 lagi. Anda dapat mengedit nilai chmod default di file berikut:
Setelah perubahan ini, jalankan perintah pertama lagi dan setelah itu, file yang baru dibuat seharusnya tidak menjadi masalah lagi.
Catatan: Mengedit file seperti ini tidak pernah merupakan ide yang baik, tetapi saya menduga opsi chmod ini akan dapat dikonfigurasi di masa depan, jadi saya mengambil jalan yang mudah.
sumber
Anda dapat menggunakan metode ini seperti yang direkomendasikan oleh dokumentasi Magento :
sumber
Untuk set pengembangan lokal
pub
danvar
ke 775 atau 777sumber
Jika Anda menggunakan SELinux ̣ (mis. CentOS) coba:
(tentu saja dari folder root magento)
sumber
Di Magento, Komunitas merekomendasikan
Kami merekomendasikan pengaturan izin sebagai berikut:
Semua direktori memiliki 770 izin. 770 izin memberikan kontrol penuh (yaitu, baca / tulis / eksekusi) kepada pemilik dan ke grup dan tidak ada izin untuk orang lain.
Semua file memiliki 660 izin. 660 izin berarti pemilik dan grup dapat membaca dan menulis tetapi pengguna lain tidak memiliki izin.
Untuk ref lebih lanjut, tautan ini https://devdocs.magento.com/guides/v2.3/install-gde/prereq/file-system-perms.html
sumber
Masalah serupa juga untuk berbagi hosting:
Magento 2: Izin File yang Disarankan untuk hosting bersama
devdocs magento untuk izin:
http://devdocs.magento.com/guides/v2.0/install-gde/prereq/file-system-perms.html
dan untuk prod:
http://devdocs.magento.com/guides/ v2.0 / config-guide / prod / prod_file-sys-perms.html
sumber
Masukkan konten ini ke dalam folder root Anda, lalu jalankan dengan konsol.
Jangan lupa
chmod +x yourfile.sh
.sumber
tidak ada izin khusus, Anda hanya perlu memastikan bahwa file dimiliki oleh pengguna yang menjalankan php atau seandainya pengguna cPanel - cpanel, dan grup yang sama
jadi perintahmu baik:
cukup perbarui pemilik file:
dimana
user
pemiliknya,user
yang menjalankan php.alih-alih mengubah izin setiap kali, masuk / bekerja sebagai pengguna yang tepat, pemilik file, dari root ke pengguna:
sumber
Juga informasi terperinci tersedia di, http://devdocs.magento.com/guides/m1x/install/installer-privileges_after.html
sumber
saya memecahkan dengan cara ini untuk CentOS Linux 7.4.1708 pada Plesk Onyx 17.8.11
sumber
Jalankan perintah ini sebagai pengguna root. Jika Anda telah memberikan 777 izin untuk mengembalikannya menggunakan dua perintah pertama, lanjutkan dengan sisanya.
Setel kepemilikan ke pengguna Magento dan pengguna web menggunakan
Menjalankan perintah-perintah ini mengatur izin untuk folder dan file di root Magento dan untuk file baru yang akan dibuat di var, pub dan direktori yang dihasilkan.
Jangan menjalankan perintah apa pun sebagai pengguna root karena dapat menyebabkan file statis baru dibuat dengan kepemilikan root yang dapat mencegah pengguna web untuk mengakses file tersebut memaksa Anda untuk memberikan 777 izin. Mohon jangan beri izin 777 jika jadi tolong kembalikan itu. Jadi jalankan perintah Magento sebagai pengguna Magento .
sumber