web-dev-qa-db-ja.com

新しく追加されたgitクローンファイルへの書き込み権限をApacheに自動的に付与します(-R g + rw)

Apacheがgitリポジトリからプルされている.htaccessファイルへの書き込みアクセスを自動的に許可することに問題があります。

これが私のプロセスです:

新しく作成したユーザー "webadmin"としてログインし、グループ "Apache"に追加されました(私はCentOSを使用しているので、www-dataと同等です)そして空のディレクトリを作成しました:

/var/www/html/test

このディレクトリで、次のことを確認しました。

$ umask 002 
$ chown -R Apache:apache /var/www/html/test
$ chmod -R g+rw /var/www/html/test 

これは、ディレクトリがgroup "Apache"によって所有されていることを確認するためです。 myuser "webadmin"はそのグループの一部です。これで追加するものはすべて、ユーザーはApacheユーザー(phpスクリプト)でも書き込み可能になります。

まだwebadminユーザーを使用して、次に

git clone myrepo.git .

これは私のWordPressウェブサイトファイルをディレクトリにプルダウンします。これには.htaccessファイルが含まれています。このファイルは、ルールを変更できるように、WordPressで書き込み可能である必要があります。プルダウンされたすべてのファイルはwebadminが所有し、Apacheのグループがあります。

何らかの理由で、.htaccessファイルは、次のコマンドを再度実行するまで、デフォルトではApacheで書き込みできません。

$ chmod -R g+rw /var/www/html/test 

このコマンドを再度実行する必要があるのはなぜですか? -R g+rwコマンドを実行せずに、このファイルがプルダウンされたときにApacheによって自動的に書き込まれるようにする方法はありますか?

3
Joe

あなたの必要性は このstackoverflow post の正反対です。つまり、次のことを選択できます。

  • gitを実行する前に、umaskを適切に設定します(投稿によると、おそらく002に設定します)。
  • クローン作成後にファイルのアクセス許可を変更するには、gitフックスクリプトを追加します。

通常、最初の選択の方が簡単です。

2
Abel Cheung