(dv)服务器的初始化及WP权限问题的解决

5 月 30, 2012

总之,这件事说起来还是很伟大的。

如果你的(dv)服务器出现Plesk里删除账户后,提示无法建立apache配置文件,同时apache服务无法启动;或以上正常,但装上WP后发现由于权限引发了各种问题,如插件安装不了,无法上传图片等。那你确实应该往下看,下文应该会为你提供解答,为节省时间,直接跳过“起因”部分吧。

起因和初始化

在我MediaTemple的(dv)服务器后台开新用户,结果出现bug,导致新用户无法正常使用服务(原因很蹊跷,我新建了用户C,结果他的默认http目录居然在用户Z的文件夹下)。于是很自然地想把这个用户删除掉,重新创建就该好了吧。可没想到,“灾难”来了,用户删不掉不说,还导致apache服务无法启动,甚至无法重建配置文件……

好吧,因为之前出现过apache服务因某种原因宕掉的情况,驾轻就熟,知道如何处理。但这次显然顽固,接下来就不得不联系(mt)的客服人员。那4天里,包括周末,我和客服们,我们就这样在英文的海洋里无限遨游~

我提供着各种线索和错误提示,他们回复/解决/解释着。我精准的计算着与美国的时差,期盼着客服就在下一条回复中告诉我:EVERYTHING SEEMS OK NOW!  可我严重高估了客服技术团队的水平,在一次又一次的“(dv)是个自助系统,我们提供支持完全是出于礼貌”后,终于给了我最满意的答案:你可以备份好所有数据,之后我们会帮你重装系统。当然,在你做这些事之前,我们不会做任何操作。(直到最终我关掉ticket那一刻,我也坚信,导致这一切的是个bug,原因我不知道,或许恰逢Plesk系统升级。直到最后,客服也没告诉我原因、帮我把问题解决掉。我自己解决了问题,并Thanks them all the same. 当然,也是出于礼貌。)

不到万不得已,不要用“Revert to default”这个功能,后台界面如是说。看来到最后还得自己动手。这是个危险的操作,之前一定做好数据库备份。虽然“Revert”后系统会自动生成一个叫“old”的目录,把原盘内容cp到这里,但数据库是没有的,一定都备份好,一定!

注:如果你用WordPress的,建议用自带的导出/导入工具进行文章备份。以免通过MySQL备份后,导入时出现编码问题。

解决权限问题

开始之前,要特别感谢“大猫”的细致解答与技术支持。(从前有座山,山里有座,庙里有个老和尚,名字叫大猫。他有着丰富的(dv)折腾经验,如果想玩VPS,但又不想自己个操心,推荐去他那入伙,全程无忧。当然,想自己折腾的,可以继续往下看了,特别是那些刚购买MediaTemple(dv)的,可能你正面临同样的“权限”困扰。)

话说服务器重装完,神清气爽,后台各项功能完好。赶紧搭建了一个WordPress做测试,因为有新住客。结果真是担心啥,啥就来了:

  • 插件无法安装,一直说没有目录权限
  • 图片上传不成功,uploads文件夹无法创建
  • 即使wp-content权限给到777,也无法解决

瞬时陷入癫狂,尝试几番后实在没辙,求助“大猫”询问如何是好。问题简单说明后,答复我说:赶紧用suPHP吧,用了它,世界就美好了。于是便有了下面这段实验:在(dv)上装suPHP,以解决图片上传和插件安装等问题。不要开777权限。(亲测成功)

这里就不一一说明了,文章很简单也很详细。只有几个地方需要注意:
1. python-iniparse-0.2.3-4.el5.noarch.rpm 安装完后,接下来由于原文中 yum 和 yum-fastestmirror 的地址失效,可以换用以下地址安装新版rpm

rpm -Uvh http://centos.ustc.edu.cn/centos/5/os/i386/CentOS/yum-3.2.22-39.el5.centos.noarch.rpm http://centos.ustc.edu.cn/centos/5/os/i386/CentOS/yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm

最新版的yum镜像这里找:http://centos.ustc.edu.cn/centos/5/os/i386/CentOS/

2. 最后一段,先 vim god.sh 建立一个脚本文件,然后把“#!/bin/bash……”等东西粘贴到里面,保存成一个脚本。但只适用于httpdocs文件夹。

如果有其他子域名目录,先手动到达目标目录下,然后运行下面命令即可:

find . -type f -exec chmod 644 {} \;; find . -type d -exec chmod 755 {} \;; find . -exec chown <USER>:psacln {} \;; service httpd restart

解决SSH无法正常登录

重装系统后,如遇到无法SSH登录的情况,可参考这个处理方法

当然,最简单的是运行下面的命令。仅限于不知道这个文件干嘛的,和没有重要东西的情况,哈。

 rm /.ssh/known_hosts

之所以选择自己折腾,就是要体会更多的乐趣。

MC


我来第1个赞