GNU/Linux >> Belajar Linux >  >> Linux

Masalah Izin dengan Laravel di CentOS

Saya perlu melakukan lebih banyak penyesuaian untuk SELinux daripada hanya untuk storage . Terutama config dir dapat memberi Anda masalah ini pada bootstrap Laravel.

Jika Anda sudo setenforce permissive dan berhasil, lalu hidupkan kembali sudo setenforce enforcing lalu ikuti di bawah ini.

Penyiapan laravel SELinux:

sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/site/laravel/storage(/.*)?"
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/site/laravel/bootstrap/cache(/.*)?"

Anda mungkin tidak memerlukan kode berikut untuk config , tetapi saya melakukannya. Mungkin paling aman untuk tidak menjalankan yang ini kecuali Anda perlu:

sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/site/laravel/config(/.*)?"

Kemudian Setel Ulang setelah penyesuaian dir Anda dilakukan:

restorecon -Rv /var/www/site/


Dalam kasus saya itu adalah pengguna unix lain jadi yang ini berfungsi:

chown -R php-fpm:php-fpm storage

coba ini berhasil untuk saya ...

sudo find ./storage -type f -exec chmod 666 {} \;
sudo find ./storage -type d -exec chmod 777 {} \;

Ternyata masalahnya ada pada selinux

Saya menemukan jawaban ini, yang menyelesaikan masalah saya.

Buktikan ini masalahnya dengan mematikan selinux dengan perintah

setenforce 0

Ini seharusnya memungkinkan penulisan, tetapi Anda telah mematikan keamanan tambahan di seluruh server. Itu buruk. Hidupkan SELinux kembali

setenforce 1

Kemudian terakhir gunakan SELinux untuk mengizinkan penulisan file dengan menggunakan perintah ini

chcon -R -t httpd_sys_rw_content_t storage

Dan Anda pergi!


Linux
  1. Cara Menginstal Phorum dengan Nginx di CentOS 7

  2. Instal Laravel di CentOS 7

  3. Gunakan iptables dengan CentOS 7

  1. Centos – Ubah Semua Izin Folder Dengan 1 Perintah?

  2. Masalah Izin Dengan Symlinks Selama Samba?

  3. Bagaimana Cara Menonaktifkan SELinux di CentOS?

  1. Bagaimana cara menginstal keamanan mod di Centos 7.x dengan apache?

  2. Tambahkan pengguna Linux dengan izin root dokumen

  3. Buat pengguna sudo di CentOS