修正上传图片的问题,目录权限惹的祸

十天前发了一个Live Writer上传图片的blog,当时凭直觉把wp-content/uploads改成blog.gmsj.org/wp-content/uploads解决问题。

然而有一天在blog里对图片点右键看属性,霍然见到http://lxf.me/blog.gmsj.org/wp-content/uploads的地址!显然是有问题!

今天登ssh去看了下,果然出现/var/www/blog.gmsj.org/blog.gmsj.org这样的目录。

结合boom管理器无法上传文件、修改文件属性等,断定是权限上的问题。

回想网站搬家的时候,我是在ix的在线文件管理里将整站打的zip包,然后这边wget下来unzip的,unzip的执行者是root,自然所有文件的所有者是root,权限是755,导致apache的www-data用户无法修改文件,也无法改属性(越权操作),每次修改什么文件都要手动进ssh改成777。甚至/var/www目录的权限也是755,所以www.gmsj.org根目录下亦不能上传文件。

上Google复习了下linux的文件系统权限相关的知识,用chmod –R 777 /var/www将所有东西改成777。将/var/www/blog.gmsj.org/blog.gmsj.org目录cp到本来的位置并删除,然后准备进phpMyAdmin手动修改每一篇上传图片的blog文章中图片的链接。

然而phpMyAdmin无法启动,提示Wrong permissions on configuration file, should not be world writable!,看来phpMyAdmin不喜欢777这样危险的环境。

于是将phpMyAdmin的目录改回755。进数据库修改了数十处图片链接,搞定。

接下来的疑问。wp上传的附件能不能是相对路径呢。如果我再搬家了怎么办。

回头继续研究。

Leave a Reply

Your email address will not be published. Required fields are marked *