1

在我使用 CentOS 6、DirectAdmin(和为 Magento 和 Joomla 优化的 Jira Image V6)将我的网站从主机迁移到我的新 VPS 时,发生了一些非常奇怪的事情。

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

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

到目前为止我所做的和尝试的:

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

我尝试使用 SSH 手动上传、下载和提取,通过 DA 重置所有者。

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

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

附加信息:

  • 旧服务器: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

4 回答 4

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和组webserver拥有。

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

chown -R username:usergroup *

在此之后,您可以根据标准 555/755 恢复权限,您的问题应该得到解决。

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

或任何适合您的安全策略的内容。

于 2013-07-16T10:01:57.830 回答
0

我真的很绝望,并(从远处)聘请了一种瘾君子。他能够向我指出以下事实(免费!):

我正在将网站移动到我的新服务器上,我想在网站上线之前让网站准备好并正常工作,这是错误的。

我一直在使用 de URL 的网站上工作http://xxx.xxx.xxx.xxx/~user/

我不想让网站上线,所以更改 DNS,直到网站正常工作。但...!!!该站点永远不会在上层场景中完全运行,并且只能使用静态地址,http://(subdomain).yourdomain.com例如。

对我来说,第一件事就是立即更改 DNS,你猜怎么着?它有效……我在这上面花了 36 个小时或更长时间,但我希望我能帮助其他人,因为我从来没有见过这个选项,而且它没有写在任何地方!到现在...

于 2013-07-16T13:29:32.003 回答
0

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

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

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

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

hth

于 2013-07-15T12:38:48.153 回答
0

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

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

然而,真正的解决方案是要么拥有像 mod_suphp 这样的 apache 扩展来管理这个问题,要么处理所有权问题。Joomla 在执行安装扩展等操作时需要能够拥有文件夹/文件。

于 2013-07-15T12:44:31.413 回答