我正在将Drupal 7安装从一台机器复制到另一台机器。两台机器都是Mac OSX,运行当前版本的MAMP。程序如下:
rsync -ar path/to/source path/to/destination
chmod -R 755 destination/sites/default/files
chown -R username destination
此处的所有内容都在目标端,除了sites / default / files目录不能写入[sic]。目录树中的某些内容和/或权限正在发生变化,但我无法弄清楚是什么/如何。是什么给了什么?
答案 0 :(得分:14)
sites / default / files需要Web用户可写,或者所有用户都可写。
所有用户:
chmod -R a + w destination / sites / default / files
或者,让apache(或您的网络用户是谁)拥有者
chown -R apache:apache destination / sites / default / files
注意:755和777将所有内容设置为可执行文件。 777会起作用,这是不恰当的。目录需要可执行权限,但除非需要,否则文件通常不应该是可执行的。
我个人更喜欢让apache成为files目录的所有者以及里面的所有内容,因为无论如何当Drupal写文件时会发生这种情况。
答案 1 :(得分:0)
您可能需要在目录上运行restorecon,例如:
restorecon -rv default/