私のPHPアプリケーションとすべてのファイルはwww-dataによって所有されていますが、現在、ユーザー名ruserを使用してサーバーにログインしています。私は同じマシンで開発しているので、phpコードへの変更をテストするたびに、ファイル所有者間を行き来する必要があります。
これはベストプラクティスですか、それとも開発をスムーズにするためにこれを設定できる別の方法がありますか?
ユーザーをwww-dataグループの一部にするか、www-dataユーザーをグループの一部にします。次に、グループにファイルへのアクセスを許可します。
usermod -a -G www-data yourusername
ベストプラクティスに関しては、とにかく別のマシンで開発する必要があります。次に、コードをデプロイし、スクリプトを使用して、プロジェクトに適した安全な構成をセットアップします。
あなたに開かれたいくつかのオプションがあります。
1)所有しているファイルを保持しながら、すべてのファイルをwww-dataグループに変更できます。
サイトのルートディレクトリから次のコマンドを実行します。
chmod -R ruser:www-data ./*
2)ディストリビューションでサポートされている場合は、ACLを設定するのが最善の方法です:http://bit.ly/Lat25d
3)または、最も簡単な方法(開発マシンのみ-ライブサーバーではこれを行わないでください)は、サイトのルートディレクトリから777にすべてをchmodすることです。
chmod -R 777 ./*
任意のユーザーが所有するようにファイルを変更できます。つまり、次のコマンドを使用します。chown username:groupname file.php
Apacheがファイルに書き込んだり、ファイルを上書きしたりする場合にのみ、Apacheにファイルの所有権を要求します。
したがって、所有権が常に変更されないように、所有権をFTPユーザーに変更してください。