Apache-2.2
移動到新伺服器後“權限被拒絕”
我們已將我們的網站移至我使用 ISPConfig 3 設置的新伺服器(Ubuntu 12.04 LTS)。
問題:
一切正常,但是當嘗試將新的日誌文件寫入現有日誌文件時,PHP 給了我一個“無法打開流:權限被拒絕”的警告。
由於我對 Linux 還不太熟悉,所以我對玩弄東西很不安全。現在,我網站的所有文件和文件夾都有來自組“client1”的所有者“web1”。日誌目錄的權限與以前相同(在舊主機上)。
我知道 Apache(和 PHP?)作為自己的使用者“www-data”執行,所以基本上,我必須告訴我的日誌文件和文件夾,這個使用者可以讀/寫,對吧?
我(會)嘗試過的:
在研究的過程中,我偶然發現了這篇關於為文件所有者 (web1) 和 apache-user (www-data) 創建一個公共組的文章。
我還找到了以下說明:
//Create new group $ sudo addgroup webdev //Change the group of your web directory: $ sudo chgrp -R webdev /var/www/ $ sudo chmod -R g+rw /var/www/ //Set the guid bit on all folders in your web directory: $ sudo find /var/www -type d -exec chmod +s {} \; //Add Apache to the webdev group: $ sudo usermod -a -G webdev www-data //Add your user to the webdev group: $ sudo usermod -a -G webdev <user_name>
但我還沒有嘗試過,因為我不確定是什麼
$ sudo find /var/www -type d -exec chmod +s {} \;
做。這甚至是解決我的問題的正確方法嗎?
不想說話,只是把它全部分解。
sudo - run this command as a super user find - look for something... /var/www - ...in the /var/www directory... -type d - ...that is a directory... -exec chmod +s - ...and executes a chmod (change mode) +s (set the user bit) ... {} - ...for every directory you find... \; - and end the command.
現在,如果這是您想要做的,上面列出的命令看起來很好。與 apache 和其他人創建一個公共組。希望有幫助