Joomla目录权限不可写......但它们是!

时间:2010-01-06 04:31:58

标签: permissions joomla

我正在尝试将Joomla网站从我的开发服务器移到客户端的实时服务器上。我正在安装一个新的副本Joomla。 我完成了安装,将配置代码粘贴在一起用于新网站,但现在我无法更新任何网站设置或安装任何模块/插件/组件。我将所有文件夹更改为777,并通过终端多次双重检查这些设置。但是......当我在Joomla Admin中时,我会去帮助>系统信息>目录权限所有文件夹都读为Unwriteable。我不知道为什么会这样,我完全陷入困境,无法配置任何东西。 任何和所有的帮助非常感谢。 谢谢 Ĵ

9 个答案:

答案 0 :(得分:1)

设置Web服务器帐户(apache)的权限

如果您使用XAMPP在OS X上运行WordPress进行本地开发,那么您可能尝试上传核心或插件,并在提示输入FTP连接信息时遇到以下错误:

要执行请求的操作,WordPress需要访问您的Web服务器。

这是因为默认情况下,XAMPP在Mac上以用户nobody身份运行,这会导致一些权限问题。另外,升级前的WordPress会将文件写入系统,然后检查哪个用户编写了该文件。如果此文件与运行PHP的用户不匹配,即使存在写入权限,它也将拒绝升级。 chmod 777不足以超越这个;你必须拥有正确的用户。我不知道他们为什么这样做,如果有技术原因,但这很烦人。

解决方案:编辑您的httpd.conf以作为用户和该组员工的用户名运行。

在TextEdit中打开httpd.conf

sudo open -e /Applications/XAMPP/xamppfiles/etc/httpd.conf

变化:

User nobody
Group nogroup

要:

User your_mac_username
Group staff

重新启动Xampp,这应该可以解决问题;您可以通过在.php文件中运行来验证它是否有效。

如果您仍然遇到问题,可以查看其他一些事情。首先验证所有权(最可能的问题):

sudo chown -R your_mac_username:staff /path_to_webroot/www/

接下来确认权限(如果您需要更高的安全性,可以更改777):

sudo chmod -R 777 /path_to_webroot/www/

答案 1 :(得分:1)

  1. 将权限设置为777
  2. 使用完整路径作为日志和tmp 例如: -
    的/ var / WWW /虚拟主机/ MYDOMAIN /的httpdocs / TMP

答案 2 :(得分:0)

当我第一次在网络托管服务上安装Joomla时,我有类似的声音问题。这是一个猜测,但它可能对你有帮助。

有些Joomla页面无法保存,因为configuration.php具有错误的权限。我尝试通过FTP更改此设置,但CHMOD命令失败。最初我通过将configuration.php复制到另一台机器,从服务器上删除它并将其复制回来攻击它。这解决了管理问题。不幸的是,它造成了安全问题。

正确的解决方案是在Joomla全局配置页面中定义FTP帐户和密码。 Joomla使用幕后的帐户来修改配置.php帐户,而无需通过将权限设置为777来打开黑客。我有一篇文章说明了为什么会这样,但我现在找不到引用。

如果您已将所有文件权限更改为777,则可能使Joomla安装处于不安全状态。我建议将它们恢复为默认值;或者只是重做安装,因为可能很难确定默认值是什么。

答案 3 :(得分:0)

您使用的是什么版本的joomla

不幸的是,当您通过管理安装组件/模块/等时,joomla确实存在一些问题,这使得安装/上载的文件由root(服务器)所拥有的用户(您)拥有版本1.0.x

但它已在较新版本的joomla 1.5>中得到修复。使用新的FTP层(在安装时要求您进行FTP身份验证的表单),假设您手动安装它而不是使用像fantastico这样的自动脚本

说,这是我用过的一个技巧。尝试登录您的Cpanel帐户,并使用内置文件管理器删除文件,通过FTP重新上传文件,以便文件所有权属于您。< / p> 但请记住,这个问题并不完全是joomla的错,它是一个已知的php文件上传问题。因此,如果您尝试在不使用joomla的FTP层的情况下安装/上传文件,问题将持续存在。尝试更新您的joomla设置,并为您的上传和组件/模块/插件安装提供FTP身份验证。

答案 4 :(得分:0)

简单的问题和简单的答案..安装joomla时你正在跳过FTP设置...这是关键..填写FTP设置当你通过FTP上传joomla网站时使用这些设置然后你没有足够的权限然后joomla使用这些设置来处理服务器目录结构..

答案 5 :(得分:0)

问题是您的FTP用户名与Joomla在服务器上的权限不同,这就是您遇到此问题的原因。

您应该与系统管理员联系。

答案 6 :(得分:0)

为了给未来的谷歌搜索者添加另一个答案我今天遇到了这个问题,问题是SELINUX将默默地杀死php写入检查过程。

快速而肮脏的修复是禁用SELINUX但我确定你也可以在selinux中配置例外/规则

答案 7 :(得分:0)

您需要以拥有文件的用户身份运行apache。在您的apache配置中更改此:

  

用户您的用户名

     

将您的群组名称分组

答案 8 :(得分:0)

最有效的解决方案。

  1. 您在根文件夹中创建一个 configuration.php 文件并将代码粘贴到错误框架内。
  2. 手动删除安装文件夹。

Repete 删除安装文件夹或 F5 以获取重复页面。 希望对你有帮助!