私はこのコミュニティに不慣れで、この問題に悩まされて過ぎて行くことができないので、助けを求めています。 StackOverflow についても試してみましたが、今のところうまくいきません。
私の現在のセットアップ:
/ admin/reports/status#warning管理ページは、 "sites/default/filesディレクトリは書き込み不可であることを報告します。構成に正しいフォルダを設定する必要がある場合があります[ファイルシステム]ページの変更、または現在のフォルダーのアクセス許可を変更して書き込み可能にする。 "
明らかに、これはいくつかのエラーにつながります:
Drupal\Core\File\Exception\FileException: Failed to unlink file 'public://css/css_Y3zRgmC0P7yIXk_w_H9qyrPs3aMkKRv44SMfupbSCMc.css.gz'. in Drupal\Core\File\FileSystem->delete() (line 340 of/var/www/html/project/core/lib/Drupal/Core/File/FileSystem.php).
Warning: unlink(/var/www/html/project/sites/default/files/css/css_Y3zRgmC0P7yIXk_w_H9qyrPs3aMkKRv44SMfupbSCMc.css.gz): Permission denied in Drupal\Core\File\FileSystem->unlink() (line 124 of /var/www/html/synergie/core/lib/Drupal/Core/File/FileSystem.php)
The specified file 'temporary://fileuJjxaE' could not be moved to 'public://js/js_FKKJ_OhNvc7muQ1i_fQS6OJmZLsZnRvVhbbPaVlNwb8.js'.
Permissions for the file cannot be set for sites/default/files/translations
今、私はDrupalの完全な専門家ではありませんが、これらの状況でLinuxシステムで必要となる可能性のあるすべての基本的なことを実行しようとしました。
問題はファイルシステム自体にあるのではないと思います。アクセス許可のどの組み合わせも機能しないため、この問題はDrupal自体に関連していると思います。
事実は、書き込み/読み取り/移動するカスタムスクリプトを作成する場合ファイルから/へ/ var/www/html/project/sites/default/files、それはうまくいきます。 Drupalの「から」では機能しません。
前に述べたように、私はDrupalファイル設定、管理設定、drushなど)の「内部」のすべての専門家ではないので、これを試して発行するようにお願いします問題、それは私を夢中にさせているからです。過去10時間以上、コマンドラインを見て何が起こっているのか理解していませんでした。
敬具、
マウリツィオ
更新:
SELinuxの現在のモードを見つけて、一時的にシャットダウンします。 「#」はコメント用で、削除できます。
Getenforce # see current mode.
getsebool -a # find al boolean values
Sudo setenforce 0 # shut it down, but will be back at reboot.
あなたのことを試してください。それが原因である場合は、/ var/www/your Docrootなどの場所を許可するルールを追加します。
SElinuxは再起動して、/ var/www/drupal-document-rootに永続的なルールを追加します。
私は次のことを行います。行2は機能しますが、rename&restoreconには対応しません(行3はこのような状況に対応します)。
ls -dZ /var/www/html # See SELinux context of
Sudo chcon -R -t httpd_sys_content_t /var/www/html/drupal-document-root
Sudo semanage fcontext -a -t httpd_sys_content_t "/var/www/html(/.*)?"
また、Apacheに書き込み許可を与えるために、過去に次のことを行いました。
# Selinux allow httpd read & write to /var/www/html/my-project
Sudo chcon -R -t httpd_sys_script_rw_t /var/www/html/my-project/
Sudo chcon -R -t httpd_sys_script_rw_t /var/www/my-Symfony-project/var/log/
それとは別に、新しいサイトをセットアップしてこのようなことに遭遇したときは、次のようにします。
1)cat /etc/http/http.conf | grep user、ユーザーApacheが2として実行されていることを確認するには、2)vhostファイルから、ドキュメントルートを確認し、それに従って、Apacheが書き込み可能であることを確認します3)docrootまたはSymlinks Postを確認し、次の1&2&を表示します。 Apacheが指しているLs -al/document rootを参照してください。また、Apacheユーザーが正しいグループにあることを示す出力
問題を解決した後、drupal権限をベストプラクティスにリセットすることを忘れないでください。次の2番目の回答を参照してください。
Ps:マルチサイトを設定しないことを前提として、必要なものはほとんどありません。