Saya menginstal owncloud dengan semua prasyarat yang diperlukan dan ketika mencoba mengakses melalui browser terjadi kesalahan:Cannot write into "Config" directory!
Di bawah ini adalah daftar kesalahan lengkapnya.
Cara memperbaiki Tidak dapat menulis ke direktori “Config”! [OwnCloud]
Kesalahan di atas dengan jelas menunjukkan bahwa, server web tidak dapat menulis ke “Config” direktori. Memeriksa izin dan kepemilikan file. Semua file di DocumentRoot dimiliki oleh apache
pengguna dan memiliki izin baca dan tulis ke file dan direktori. Ini mirip dengan izin direktori yang ditolak oleh kebijakan SELinux, karena SELinux diaktifkan secara default pada CentOS 7 dan yang lebih baru. Di bawah ini adalah info SELinux untuk config
direktori. Perhatikan jenis konteks yang disorot, yang merupakan direktori hanya-baca!
# ls -lZd /var/www/owncloud/config drwxrwxrwx. 2 apache apache unconfined_u:object_r:httpd_sys_content_t:s0 79 Mar 15 04:49 /var/www/owncloud/configUbah direktori Instalasi OwnCloud Anda
Jenis Konteks Apache
Di bawah ini adalah jenis konteks Apache yang paling kami minati.
httpd_sys_content_t | Direktori dan file hanya-baca yang digunakan oleh Apache |
---|---|
httpd_sys_rw_content_t | Direktori dan file yang dapat dibaca dan ditulis yang digunakan oleh Apache. Tetapkan ini ke direktori tempat file dapat dibuat atau dimodifikasi oleh aplikasi Anda, atau tetapkan ke direktori file agar aplikasi Anda dapat memodifikasinya. |
Untuk daftar lengkap tipe konteks Apache.
Buat Kebijakan SELinux untuk Akses Baca Tulis
OwnCloud membutuhkan akses baca-tulis ke direktori konfigurasi. Terlepas dari chmod
biasa izin, kita perlu menerapkan konteks yang memungkinkan server web untuk dapat menulis ke dalam direktori. Jalankan perintah di bawah ini untuk menetapkan httpd_sys_rw_content_t
konteks ke direktori config dan semua file anak.
# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/owncloud/config/' # restorecon '/var/www/owncloud/config/'Ubah direktori Instalasi OwnCloud Anda
Dengan mengaktifkan SELinux httpd_unified & httpd_execmem
boolean seperti di bawah ini:
# setsebool -P httpd_unified 1 # setsebool -P httpd_execmem 1
Untuk informasi lebih lanjut tentang SELinux Booleans.