LinuxMint の WordPress: ディレクトリを作成したり、ファイルを書き込めません。

LinuxMint の WordPress: ディレクトリを作成したり、ファイルを書き込めません。

私はApache2、PHP、MySQLでLinux Mintを実行します。public_htmlユーザーモジュールを使用し、そのモジュールでPHPスクリプトを実行できるようにApacheモジュールを有効にしました。私(例えば)public_htmlにWordPressをインストールしましたが、~/public_html/wordpress完全には実行されません。

背景画像やヘッダー画像を変更しようとすると、アップロードしたコンテンツを保存するディレクトリ(年/月または月/年)を作成できないというエラーメッセージが表示されます。

public_html明らかに、私のWebサーバーにはディレクトリまたはそのサブディレクトリ(以下のディレクトリの一部)を作成する権限がなく、おそらくファイルも生成しません~/public_html/wordpress

だから私の選択が何であるか疑問に思います。 Webサーバーが書き込むために追加する必要があるモジュール、または変更する必要がある構成ファイルはありますか?または - およびそのサブディレクトリの所有者および/またはグループを変更する必要がありますpublic_html(サブディレクトリを同じ所有者/グループに属させる方法はありますか?)。 ...私のページを変更するのを防ぐことはできないようです。提案、提案、ベストプラクティスを歓迎します。

WordPressをrootとしてインストールすると問題が少なくなる可能性がありますが、/var/wwwこのソリューションを使用しないことをお勧めします。

ベストアンサー1

明らかに、私のWebサーバーには、public_htmlまたはそのサブディレクトリ(〜/ public_html / wordpressの下のいくつかのディレクトリなど)にディレクトリを作成する権限がなく、おそらくファイルを生成する権限もありません。

実際、これが問題である可能性が高いです。ただし、このディレクトリで自分自身をロックする必要はありません。このディレクトリにファイルを保持し、Webサーバーがここに書き込むことを許可するオプションがたくさんあります。

  1. www-dataグループに自分自身を置きsudo gpasswd -a $(whoami) www-data、public_htmlディレクトリのグループを次に変更しますsudo chown -R $(whoami):www-data ~/public_html。このディレクトリはあなたとWebサーバー間で共有されます。

  2. 固定ビットの使用:Webサーバーはそのディレクトリにファイルを書き込むと同時にフォルダグループを運ぶことができるため、ユーザーはアップロードディレクトリにアクセスできますchmod g+rws,o+rwx ~/public_html/wordpress/wp-content

  3. ACLを使用して、サーバーがディレクトリに書き込むことができる高レベルの権限を指定しますsetfacl -m u:www-data:rwx ~/public_html/wordpress/wp-content。その道に行くなら、ぜひ読んでみてください。手動ACLの場合、非常に強力で多くのことができるからです。

警告する

ただし、上記のソリューションのいずれも本番環境には適していません。これは、PHPコードを実行できるサーバー上のすべてのユーザーにWebサーバー権限も付与することで、悪意のあるファイルをアップロードディレクトリに配置する可能性があるためです。確実にするただアップロードディレクトリを書き込み可能にし、アップロードディレクトリでコードの実行を無効にする.htaccessを配置します。本番サーバーでは、suexec、php-fpm、またはWebサーバーの外部でPHPコードを実行する別の方法を使用し、PHPをユーザーのシステムユーザーとして実行することをお勧めします。

おすすめ記事