2012-07-23 69 views
8

我想部署我的第一個Symfony2應用程序。Symfony2 - 部署緩存沒有setfacl

黑屏當試圖訪問它。

檢查日誌:

$ sudo tail -f /var/log/apache2/error.log 

[...]未捕獲的異常 '的RuntimeException' 有消息「無法寫入緩存文件[...]

試圖把高速緩存&好權註銷

$ sudo chmod +a "www-data allow delete,write,[...]" app/cache app/logs 

文件模式:無效模式:'+ A」

與setfacl的嘗試

$ sudo setfacl -R -m u:www-data:rwx -m u:`whoami`:rwx app/cache app/logs 

setfacl的:應用程序/緩存:不支持的操作
setfacl的:應用程序/日誌:不支持的操作

我想象我的分區安裝是沒有用ACL或類似的東西。

不能我只是執行chown www數據緩存&日誌?

回答

6

既然你不應該發展的部署服務器,只給整個應用程序給用戶www-data

sudo chown -R www-data:www-data /path/to/the/root/of/your/app 
+0

這就是我最後做的。由於 – 2012-07-23 10:26:10

+1

但是一些功能似乎需要寫高速緩存和日誌,像'PHP應用程序/控制檯學說:架構:create' ...... – 2012-07-23 11:56:06

+1

'須藤蘇WWW-data'和運行所需的命令。 – 2012-07-23 13:03:05

10

要使用setfacl的,你首先需要安裝ACL工具:

# Provided Apt can be used for package management 
$ sudo apt-get install acl 

然後重新安裝包含您的Symfony2項目的磁盤分區:

# Remount the partition containing your Symfony2 application 
# e.g. we could remount the root (/) partition 
$ sudo mount -o remount,acl/# 

# we could also remount the /var partition in our app lives in /var/www 
$ sudo mount -o remount,acl /var # 

http://symfony.com/doc/2.0/book/installation.html#configuration-and-setup https://help.ubuntu.com/community/FilePermissionsACLs

+1

感謝您的回答,但可以更好地解釋「什麼時候該分區是/」是什麼意思,您能給出任何示例,在什麼情況下參數「/」應該是不同的? – ziiweb 2014-03-06 06:55:28

+2

[此文檔](https://help.ubuntu.com/community/FilePermissionsACLs)(適用於Ubuntu)幫助我瞭解如何使用ACL – 2014-03-12 07:58:26