2014-02-23 124 views
0

我在Windows 7 HostSystem的Virtualbox中使用Ubuntu 13.10服務器。 我的代碼安裝從Windows到/ var/WWWApache無法在網絡共享中修改/創建文件

//192.168.1.2/code_share /var/www cifs username=USERNAME,password=PASSWORD,uid=1000,iocharset=utf8,uid=1000,gid=1000,file_mode=0777,dir_mode=0777 0 0 

然後我在/ var安裝的symfony/WWW /項目,作曲家,當我嘗試訪問我的Symfony頁,我得到這個:

IOException: Failed to chmod file "/var/www/project/app/cache/dev/appDevDebugProjectContainer.xml". 

爲什麼它不可能訪問此文件夾?當文件被一些其它用戶(您的box開發

)擁有

+0

該文件夾/文件擁有哪些所有權和訪問權限?文件系統是否裝有任何umask? –

+0

所有文件/目錄都是777和dev:dev(「dev」是我的用戶)。掛載參數在原文中列出 – Sebus

+0

這是一個非常不安全的設置,但我想你知道這一點。但訪問權顯然不是問題,那麼我猜... –

回答

1

阿帕奇不能改變文件的模式(權限)。您必須將UID和GID更改爲apache。順便從你的mount命令中刪除double uid選項。

Apache UID = 33; GID = 33

//192.168.1.2/code_share /var/www cifs username=USERNAME,password=PASSWORD,iocharset=utf8,uid=33,gid=33,file_mode=0777,dir_mode=0777 0 0 

編輯

  1. 阿帕奇UID

    $貓/ etc/passwd文件| grep www-data | AWK 'BEGIN {FS = 「:」} END {打印$ 3}'

  2. 阿帕奇GID

    $貓的/ etc /組| grep www-data | awk'BEGIN {FS =「:」} END {print $ 3}'

+0

說實話,這樣你會得到其他問題,比如dev用戶會遇到這些文件的問題。還有其他方式可以與Apache合作。嘗試使用[用戶目錄](http://www.techytalk.info/enable-userdir-apache-module-ubuntu-debian-based-linux-distributions/)。使用uid/gid = 1000在你的家庭目錄中裝載共享,並使用Apache作爲你的用戶運行。這非常簡單,只需不到3分鐘即可完成配置。 – WebHQ

+0

它實際上是'php'進程的用戶,需要訪問應用程序的緩存文件夾。這個用戶不一定和apache一樣。即如果他使用'php-fpm'而不是'apache-mpm'(apache在內部啓動並管理php進程)。事實上,出於安全原因,apache本身通常應該*不*具有對應用程序文件夾的寫訪問權限。 – nifr

+0

@nifr true :)它仍然是一個開發者機器和環境。這種解決方案破壞了單獨的環境,可能是chrooted,是超級用戶的工作;) – WebHQ