0

私は、Apache 2.2.20、php 5.3.6、およびJoomla cmsのインストールを備えたubuntuサーバー11.10を持っています。Web サーバーのストレージとして追加のハードディスクを使用し、それを /data/www/ にマウントしました (それが私の問題でないことを願っています!)。

Web ルートのすべてのファイルとフォルダーのアクセス許可を 755 に設定し、それらのユーザー グループを [デフォルトの ubuntu ユーザー (私の場合はラジオ)]:www-data に設定しました。

過去数日間、joomla で新しくアップロードされた画像やその他のファイルが表示されず、拡張機能をインストールできないという深刻な問題がありました。何時間も検索した結果、アップロードされたファイルに適切な権限がなく (-rw-------)、アップロード後に Joomla アプリケーションで読み取り、コピー、または移動できないことがわかりました。

アップロードするすべてのファイルがそれを使用するように、デフォルトのアクセス許可を設定するにはどうすればよいですか?

PS: umask をテストしましたが、何もしませんでした。私の問題とは何の関係もないと思います。

4

2 に答える 2

1

私は実際に同じ問題を抱えています。plesk 共有ホスティングを使用しています。私は約 20 時間の調査を行い、何を行う必要があるかについていくつかの答えを見つけました。まず、apache によって処理されるものはすべて自動的に apache ユーザー グループに与えられます。問題は、apache が php をモジュールとして処理するため、php を使用して apache を介してアクションを実行すると変更できないことです。私にとって最も効果的な修正は、高速な CGI を使用して実行するように php と apache を変更し、アップロード後に apache によって割り当てられたデフォルトのアクセス許可を変更することです。

2 番目の方法は、すべてを chown してから、ftp を使用してインストールすることです。この方法を使用して遭遇した主な問題は、php を介してコマンドを実行するときに joomla が apache を使用するためです....インストーラーとして ftp を使用して追加された新しいファイルは、それを介して効果的に許可を与え、apahe/php が変更を加えることを許可しません。セキュリティ上の問題である 777 パーミッションがファイルに与えられている場合を除きます。

例として、次のように動作します。ftp 経由でコンポーネントをインストールします。ftp ユーザー名が所有者として割り当てられているためです。Apache は、ユーザー グループまたは所有者から切り離されているとは見なされません。したがって、joomla を使用して変更を加えたい場合は、777 のアクセス許可を割り当てる必要があります。これを見つけたのは、すべてを自分のftpにchownするだけだと思っていたからです.joomlaに戻ってシステム情報に行ったとき....すべてが書き込み不能であると表示されました。

これがお役に立てば幸いです...何が最適かを確認するために周りを見回す必要があります。

于 2012-06-10T02:41:31.560 に答える
0

ご回答有難うございます。
何時間もの調査と試行の後、FTP を無効にし (vsftpd を使用しました)、php ファイルではなく Apache 構成に umask を追加することで、問題を解決することができました。現在、すべてが正常に機能しており、すべての chmod は問題ありません (755)。

ところで:なぜ最小限のアクセスでファイルをアップロードしていたのかわかりません。

于 2012-06-11T10:20:31.673 に答える