如何配置權限以允許 gedit、apache 和 IDE 一起玩?
我正在使用普通的 Ubuntu Desktop 11.04 並使用 Lamp-server 安裝了我的燈堆棧。我正在嘗試使用 Netbeans 作為我的 IDE。
目前,所有虛擬主機都在執行
/var/www/vhostname
——但由於我沒有配置任何組或權限,如果我嘗試通過 Netbeans 打開任何文件,它沒有寫權限。如何正確設置權限(或配置 Apache 或 Netbeans),以便:
- 由 php 腳本創建的文件可以
rw
由 Netbeans- Netbeans 創建的文件可以
rw
由 Apache我嘗試了
chown
對我的使用者/組賦予 Netbeans 寫權限的所有內容,但後來 Apache 沒有寫權限。注意:這純粹是用於開發機器——不用於生產,我是這個盒子上唯一的使用者。
更新
我曾經在我標記為已接受的答案中使用該方法,但現在我做的事情要簡單得多:
- 我將 Apache 設置為作為我的使用者和我的組執行(這可以在 httpd.conf、apache2.conf 或 envvars 中完成,具體取決於您的發行版)
- 我 chown /var/www 給我的使用者和組
瞧,Apache 具有讀/寫訪問權限,而我在處理項目時具有讀/寫訪問權限。
我建議做的事情主要在這個 Ask Ubuntu question 中進行了描述。
對於這種特殊情況,我將安裝 suPHP,簡而言之,它允許您在 Apache 下以您的使用者身份執行 PHP 腳本。
通過執行以下操作:
sudo chown -R youruser:youruser /var/www find /var/www/ -type d -exec chmod 0755 {} \; find /var/www/ -type f -exec chmod 0644 {} \;
安裝
suphp-common
並libapache2-mod-suphp
從此ppa(什麼是 PPA 以及如何使用它們?)禁用
mod_php5
和啟用mod_suphp
sudo a2enmod suphp sudo a2dismod php5
更新您的虛擬主機以在它們的底部包含這一行:
suPHP_UserGroup youruser youruser
替換
youruser
為您用來編輯伺服器上文件的使用者。重啟阿帕奇。從這一點開始,Apache 將以您的使用者身份執行所有 php 腳本,這意味著它們可以由您的使用者/組擁有,並且無需使用像 777 這樣的瘋狂權限。由於一切都以您的使用者身份執行,因此由 php 腳本創建的所有文件也將歸您的使用者所有!你可以用 suPHP 做很多其他很酷的事情;但是,從聽起來這就是您開始所需的全部內容。