解决burst VPS Kloxo面板WordPress 更新插件需要 FTP密码,不仅是更新插件,自动下载其他站的图片插件 也下载不了图标,会写入不进去upload里面去.很蛋疼
五种方法
总结:
vps上安装的kloxo直接启用的apache。之前一直出问题是应为kloxo在新建域名时将文件夹所有权交给了admin账户,但是admin账户并非是apache的所有者。
虽然我的是vps但是我用了虚拟主机的方法
下面我们来看一看具体方法
第一种,就是使因特网来宾用户拥有网站目录的权限,Kloxo面板的来宾账号是Apache,#ps -aux 在结果中我们可以看到httpd 进程 所有者为apache用户,也就是阿帕奇,使用SSH登陆root账号执行:
chown -R apache /home/admin/wshao/
注意,Kloxo的网站都存放在”/home/admin/”可以在这个目录寻找你网站的目录,当然Kloxo面板也是可以直接看到的,
至于其他的,比如说一键包(LAMP),他的来访账号好像是www,具体的可以通过下面的命令查看:vi /etc/shadow
使用vi编辑器打开这个文件,里面存放的都是系统中的账号,注意不要修改它,只需看下账号就可以.
第二种是在wp配置文件里面写上FTP地址,账号以及密码,这种方法只适用于购买空间的.
对于没有面板,自己安装各种组件的案例
解决方法就是利用chown语句将网站文件夹的所有者设置给服务器:
如果你是LNMP的用户,请执行下面语句:
chown -R www /home/wwwroot/网站目录
如果你是LEBScript的用户,请执行下面语句:
chown -R www-data /var/www/网站目录
第三种 是非常好的方法
我们使用第二种方法时有时候会遇到apache有写入权限时,vsftpd又不能上传,反过来,vsftpd能上传,但apache又没有写入权限了。我们现在来看看如何解决这个问题。
解决的思路是,把ftp用户添加到apache用户组,并设置用户组有写入权限。
假设现在我们建有ftp用户为:admin,httpd进程以apache用户运行。
1、添加admin到用户组apache
- usermod -a -G apache admin
2、设置网站根目录/var/www的所有组为apache
- chown -R :apache /var/www
- 如果安有kloxo 目录为 /home/admin
3、设置网站根目录的权限为用户组有读写权限
- chmod -R g+rw /var/www
- 如果安有kloxo 目录为 /home/admin
最后还需要确认vsftpd的配置文件中的local_umask=002,这是使新上传的文件的用户组有写入权限。
方法四、可以在wp-config.php里加入下面代码:
1 2 3 |
define("FS_METHOD", "direct"); define("FS_CHMOD_DIR", 0777); define("FS_CHMOD_FILE", 0777); |
方法五、拷贝下面的代码到wp-config.php中的?>之前
1 2 3 4 5 |
/** Override default file permissions */ if(is_admin()) { add_filter('filesystem_method',create_<a title="关于function的话题" href="http://www.andelse.com/tag/function">function</a>('$a','return "direct";')); define('FS_CHMOD_DIR', 0751); } |
1 |
vps测试.结果可行 |