web-dev-qa-db-ja.com

Apacheがディレクトリでfopen / writeできるようにしますか?

最近Apacheをセットアップしました。基本的なサイトをセットアップしていますが、現在、権限の問題が発生しています。まず、

/ www// www/sitename_com

meder:mederが所有しています

パーミッションは再帰的に755です(またはそう思います)。

仮想ホストをセットアップしました。sitename_comに「foo.php」があり、そのディレクトリ内でfopen(新しいファイルを作成)しようとしています。

/www/sitename_com/en/file.xml

ただし、Apacheは次のように文句を言います。

警告:fopen(en/file.xml)[function.fopen]:ストリームを開くことができませんでした:アクセスが拒否されました

www-ユーザーはApacheですよね?ユーザーグループに権限を付与する必要があります(meder:meder ..実際には「グループ」ではありません)。

前もって感謝します。

1
meder omuraliev

ドー。私は実際にやることになりました。

  1. chmod -R meder:www-data BETA_sitename_com/[〜#〜] key [〜#〜]
  2. chmod -R 770 BETA_sitename_com /

それは正しいですか?何か癖はありますか?動作しているようです。

2
meder omuraliev

777は間違いなくファイルへの書き込みアクセスを取得します。ただし、適切に保護するには、Apacheがファイルに書き込める757または775のいずれかにする必要があります。

1
EvilChookie

FTPファイルのアップロード専用のVHostユーザーを作成し、特権を制限します。次に、suPHPまたはMPM-ITKのいずれかを使用してユーザー権限でvhostを実行するようにApacheを設定します。

0
Kristaps

Fopenコマンドとphpが関係している場合は、php.iniを確認できます。

0
tiger_orange

検討する可能性のあるもう1つのアイデアは、Apacheの「user」構成ディレクティブを使用してApacheWebサイトをmederユーザーとして実行することです。その場合、ファイル/ディレクトリはそれぞれ644/755のアクセス許可になります。

0
mdpc