Joomla - 文件权限&版本控制下的网站所有者(svn)

时间:2014-01-18 19:48:02

标签: linux apache svn joomla file-permissions

file owner下的locally项目使用joomla的正确svn是什么?

当我的所有文件归apache用户所有时,我无法从svn更新我的项目(并且我无法使用normal user编辑这些文件)。
当我的文件归normal user所有时,joomla administration (Information tab)显示某些目录为read-only。我是否应该仅将这些目录的所有者(pluginstmp ...)更改为apache用户,并让我的user拥有其他文件?

我必须在两个用户(apache& normal user)之间找到折衷方案。

2 个答案:

答案 0 :(得分:1)

理想情况下,您应该为每个站点使用不同的用户,并为svn / git使用相同的用户。

但假设不可能,请记住Joomla 需要写入下面的文件夹。此外,如果没有对图像的写入权限,您将无法上传图像。

因此,要分配给apache用户的文件/文件夹列表为:

  • 管理员/高速缓存
  • 缓存
  • logs
  • tmp
  • configuration.php
  • 图像

所有其他文件都可以由svn用户拥有;但是当你想从后端更新Joomla并安装新的扩展时,你需要chmod / chown。

更简单的方法是仅将您的组件保留在svn下(您可以轻松地仅使用svn检查所需的路径)并将其余部分保留为apache。

最后,考虑将您的svn用户和Apache放在同一个用户组中,并将chmod放到775.

答案 1 :(得分:1)

我完全不同,因为这真的很痛苦,将文件从Joomla安装推送回repo。假设你是当地人,

  1. 在/ etc / passwd中更改apache或www-data shell从bin / sh到bin / bash。
  2. 修复www-data的主目录(通常为/ var / www)的权限,以便www-data可以创建其.svn目录。那是由#chown -hR www-data / var / www
  3. 完成的
  4. 根据www-data进行更改:#sudo su www-data
  5. 使用svn元文件
  6. 转到joomla安装/文件夹
  7. 调用svn info或其他任何内容,以便它可以将svn凭证存储在.svn中
  8. 你在这里完成,现在你可以通过php / system svn update调用任何文件夹
  9. 我在这里也为Joomla写了这个www.xappcommander.com,正是为了这个目的,它允许你在一个活跃的joomla安装中更改代码,将更改推回到repo而不需要替代方案的所有痛苦(sftp / FTP)。通过它的shell扩展,你只需编写#svn ci --message =“whatever”。

    这也适用于现场阶段,在plesk PHP下运行您的用户帐户,因此您跳过步骤1-4。