web-dev-qa-db-ja.com

UbuntuでPHP開発者としてファイルとフォルダーのアクセス許可を設定するときのベストプラクティスは何ですか?

/ var/www/mywebsiteの下にいくつかのファイルとフォルダーへのアクセス許可を作成して設定しました。

ファイル644およびフォルダー755の場合。

そのディレクトリの下に作成したので、私はそれらのファイルとフォルダの所有者です。

ただし、/ var/www/mywebsiteの下にファイルを書き込んで保存することはできません

許可を777に変更すると通常どおり編集できますが、サーバーにアップロードすると、ファイルの許可は777のままになり、755と644に戻す必要があります。これにより、開発プロセス全体に余分な手順が追加され、 PHPプロジェクトとubuntuで作業するときに、より良いプラクティスがあるかどうか疑問に思っていました。 ApacheのWebフォルダーを別のディレクトリに移動する必要がありますか?

これはls -l/var/wwwの出力です

themhz@hal9000:~$ ls -l /var/www
total 10
drwxr-sr-x 18 themhz   root       4096 Μάι   3 05:58 mywebsite
drwsr-sr-x 18 themhz   root       4096 Οκτ  28  2013 agorasite.gr
drwsr-xr-x 17 themhz   themhz     4096 Οκτ  28  2013 agorasite
drwsr-xr-x 17 themhz   root       4096 Δεκ   9  2012 aimodosia
lrwxrwxrwx  1 root     root         22 Φεβ  14 09:25 apc.php -> /usr/share/php/apc.php
drwsr-xr-x  3 themhz   root       4096 Αύγ  30  2011 apolo
-rw-r--r--  1 themhz   root     297307 Φεβ  20  2013 background5.jpg
drwxr-sr-x  3 themhz   root       4096 Αύγ  17  2013 backups
drwsr-xr-x 10 themhz   root       4096 Ιούλ  2  2012 booking

PHPアプリケーションを開発し、開発作業システムをセットアップする際のベストプラクティスに関するアドバイスや提案はありますか?

私のシステムはUbuntu 12.04を実行しています

ありがとうございました

2
themhz

1つの解決策は、ホームディレクトリにプロジェクトを作成することです。

cd ~
mkdir my_project

次に、webrootディレクトリにmy_projectへのリンクを作成します。

Sudo ln –s ~/my_project /var/www/.

ここで、my_projectディレクトリ内のすべてのプロジェクトファイルをコピーします。
最後に、Apacheがproject内に書き込む必要がある場合、グループを変更します。

cd my_project
Sudo chgrp www-data folder/to/change

ファイルまたはディレクトリを追加するたびに、このコマンドを実行する必要がある場合があります。

これにより、webrootの権限を変更することなく、自宅で作業できます。

1
girardengo