web-dev-qa-db-ja.com

/ var / www内のファイルを編集するときのワークフロー。常に「Sudo」コマンドを入力する必要がある

昨夜、Apache2とPHP5を新しいLinuxMintマシンにインストールしました。

フォルダーを作成し、phpinfo()を呼び出して単純なindex.phpファイルを作成して、インストールをテストしました。すべてが正しく機能します。

ただし、Sublime Text 2またはその他のエディターでファイルを開くと、変更を保存できません。 Sudo nanoコマンドを使用して、スーパーユーザー権限で開くことができ、問題なく保存できます。

同じことがMercurialにも当てはまります。権限のためにhg commitできません。 Sudo hg commitしかできません。

これが基本的なワークフローのあり方ですか? chmodコマンドを実行し、Apache内のフォルダーとファイルに777アクセス許可を再帰的に付与すると、問題なく実行できますが、動的に作成されたファイルの場合(私のWebアプリ)によって作成された場合、Apacheはそれにアクセスまたは実行できないようです。 chmodコマンドを実行する必要があります再び

私が何をすべきかについての提案はありますか?私の時間の30%は、まったく実行すべきではない冗長なプロセスに費やされているように感じます。

2
sergserg

これが開発環境であることを示したので、ソース管理を使用するというDaenythの提案(絶対に行う必要があります)を超えて、少し間接的に行うことをお勧めします。

つまり、/ var/wwwから作業権限のある作業ディレクトリへのシンボリックリンクを使用するだけです。そうすれば、必要に応じて作業ディレクトリをいじることができ、Apacheがそれを喜んで提供します。

6
Matthew Flynn

コードをソース管理(Mercurialなど)に保存する必要があります。ローカルコピーで編集してリモートリポジトリにプッシュし、必要に応じて変更をサーバーにプルします。

Webプロセスを実行するユーザー/グループを作成し、そのユーザー/グループのアクセス許可と所有権を設定します。新しいファイルはすべてプロセスのユーザーが所有するため、正しく構成されていれば問題なく機能するはずです。

1
Daenyth