没有一个目录是可写的Joomla

时间:2013-07-15 12:21:49

标签: joomla permissions joomla2.5

有些奇怪的事发生在我身上,同时将我的网站从主机转移到我的新VPS,使用CentOS 6,DirectAdmin(和Jira Image V6,针对Magento和Joomla进行了优化)。

我成功迁移了一个网站,没有任何问题。第一个。它真的像一个魅力!

所有其他网站,使用相同的Joomla!版本,我试图复制,有同样的问题没有单个目录或文件是可写的。据我所知,我检查了所有设置,无处不在。复制方法与第一个完全相同。

到目前为止我做了什么并尝试过:

  • .htaccess check(可能出错了什么?)
  • 权限检查(755和644)(这些都很好)
  • 所有权检查和用户/组检查(据我所知他们没问题)
  • php.ini检查(更改并尝试了很多,我真的不太了解这个)
  • configuration.php check(一切都很好)

我尝试使用SSH手动上传,下载和解压缩,通过DA重置所有者。

我也试过放入php.ini> open_basedir = /tmp/,这导致了一个空白页面。 (可能是什么?)

我可以看到网站,我可以登录到后端,我可以使用FTP,但我无法在设置中修改任何内容,我无法安装任何内容,我检查了权限概述,一切都很红,如:Unwritable,真的是每个文件和目录。这并不好。

其他信息:

  • 旧服务器:PHP 5.4.16>新的:PHP 5.4.15
  • 旧服务器:MySQL 5.5.28>新的:MySQL 5.5.31
  • 旧服务器:cgi-fcgi>新的:apache2handler
  • 旧服务器:CentOS 6>新的:CentOS 6
  • 需要知道什么?问

我有点绝望,重装,VPS重新安装等等,不起作用!谁能指出我正确的方向?

4 个答案:

答案 0 :(得分:1)

我猜您的网站是在您不期望的用户下运行的(或者您的磁盘空间不足)。以下所有命令都是从站点webroot运行的,即index.php所在的位置:

cd /home/yourwebsite/html

或您的服务器路径。

错误的用户是最常见的,因为 tar 默认会保留原始所有者ID。

只需制作图像文件夹777

chmod -R 777 images

并使用媒体管理器上传文件。

ls -la images/*

-rw-r--r-- 1 fasterjoomla fasterjoomla   31 Apr 26 13:12 index.html
-rw-r--r-- 1 fasterjoomla fasterjoomla 3746 Apr 26 13:12 joomla_black.gif
-rw-r--r-- 1 apache       webserver    2301 Jul 16 11:57 test.png

找到刚刚上传的图片:该行的开头会告诉您所有者和群组,例如此处 test.png 归用户所有 apache 和群组<强>网络服务器即可。

现在将整个Joomla安装的所有权更改为除了配置.php,管理员或您可能想要保护的任何其他文件之外的所有权:

chown -R username:usergroup *

在此之后,您可以按照标准555/755恢复权限,并解决您的问题。

chmod -R 555 *
chmod -R 755 images logs tmp cache
rm -f images/test.png

或根据您的安全政策适当的任何内容。

答案 1 :(得分:0)

您迁移的Linux发行版是什么?

迁移到CentOS时,一个潜在的问题来源是它的默认配置更加安全(SELinux,安全的php.ini设置等)。例如,php_ini与exec以及其他一些命令等一起被禁用。

此外,apache用户无法访问web-root目录之外的任何内容。

所以有很多这样的小事情,这可能是你的大多数应用程序无法运行的原因

hth

答案 2 :(得分:0)

我知道你说你检查了它,但通常如果你必须使用FTP(并且有一个原因已经实现了这种情况)这意味着存在文件所有权问题并且没有安装suphp或类似的/操作。

ftp的棘手问题在于您需要保存凭据以便能够使用它,如果您遇到这种情况,则无法使用凭据保存configuration.php。这就是为什么在这种情况的新安装中你会被提示输入凭据,然后这就可以保存了。如果您可以转到您的文件系统并编辑configuration.php以输入该数据,那么它将提供即时解决方案。

然而,真正的解决方案是要么像mod_suphp这样的apache扩展来管理它或者处理所有权问题。 Joomla需要能够拥有文件夹/文件,比如安装扩展程序等等。

答案 3 :(得分:0)

我非常绝望,并且(从远处)雇佣了一种瘾君子。他能够指出我以下事实(免费!):

我正在将网站移动到我的新服务器上,我希望在网站上线之前准备就绪,这就是错误。

我一直在使用de URL http://xxx.xxx.xxx.xxx/~user/

在网站上工作

我不想让网站生效,因此请更改DNS,直到网站正常运行。但...!!! 该站点永远不会在上层场景中完全工作,并且仅适用于静态地址,例如http://(subdomain).yourdomain.com

对我来说,第一件事就是立即改变DNS,猜猜是什么?它有效...我花了36个小时或更多时间,但我希望我可以帮助其他人,因为我永远不会看到这个选项,它是无处可写的!到现在为止......