web-dev-qa-db-ja.com

taskselでインストールされたランプを使用して/ var / wwwにファイルを保存できない

私はちょうどtaskselでランプをインストールし、それが動作します。しかし

  1. inside /var/www端末からSudoを使用してのみファイルを作成できますが、その理由はわかりません。別のUbuntuインストールでは、このような問題はありませんでした。
  2. index.phpという名前のファイルを作成しましたが、保存すらできません。

それは私がSublime Textから得るエラーです:

Unable to save /var/www/index.php
Error: unable to create tmp file in /var/www

そして、それはGeanyからです:

Error opening file '/var/www/index.php': Permission denied
The file on disk may now be truncated!
3

サイトを管理するユーザーになる場合は、ユーザーIDがファイルを編集できるようにサイトを作成してください。

cd /var/www && Sudo chown -R `whoami`:`whoami` .

これを行うと、/ var/wwwの下のファイルを変更できるようになります。ファイルはあなたとあなたの個人グループに属するからです。 -Rは、コマンドを再帰的に実行します-現在のファイル(ディレクトリ)およびディレクトリ内およびその下のすべてのファイル(隠しファイルを含む)で実行します

Sudoコマンドを最近(数分)実行していない場合は、個人パスワードの入力を求められます。

グループなどを設定することもできます。ただし、これは最も簡単な方法です。

Webサーバーでファイルが読み取り可能であることを確認してください。これが問題である場合-ファイルを所有しているので、chmodコマンドを使用できます。

cd /var/www && chmod -R o+r .

これによりディレクトリが実行可能にならない場合は、次のことも実行できます。

find /var/www -type d -print0 | xargs -0 chmod o+x

これは、ディレクトリ名のリストを収集(検索)し、それらを(ヌル区切りのリストとして)xargsに渡します。xargsは、chmodを実行してディレクトリを実行可能にします。

関連で報告されているように: 「/ var/www」にファイルを編集および追加する最も簡単な方法は何ですか? 、-Desmond Hume 12年11月12日14:42に@DonFaulknerに提案

セキュリティ上の理由から、おそらくroot:rootが/ var/wwwを所有することをお勧めします。したがって、Sudo chgrp -R www-data /var/wwwの代わりにSudo chgrp -R www-data /var/www/*を使用することをお勧めします。

7
ElderDelp