通过SSH让WordPress后台自动更新
WordPress 9 comments不管出于什么原因,我就是不想开启服务器上的FTP,但是WordPress后台的更新默认是通过FTP来实现的,每次版本、插件的升级都要登陆命令行来wget一下,这样又觉得实在是很麻烦。所以在网上找了一圈,终于找到了让WordPress后台更新通过SSH来进行。
我的服务器是运行在debian上的lamp,基本配置,没有什么特殊的东西,也没有安装FTP服务,通过修改wp-config.php这个文件里的一些配置就能可以了:
define('FS_METHOD', 'direct'); // 'ssh' is also an option, but did not work for my setup
define('FTP_BASE', '/opt/local/nginx/html/domain.com/');
define('FTP_CONTENT_DIR', '/opt/local/nginx/html/domain.com/wp-content/');
define('FTP_PLUGIN_DIR ', '/opt/local/nginx/html/domain.com/wp-content/plugins/');
define('FTP_PUBKEY', '/home/username/.ssh/id_rsa.pub');
define('FTP_PRIKEY', '/home/username/.ssh/id_rsa');
define('FTP_USER', 'username');
define('FTP_HOST', 'your-domain.com:22');
为了安全建议大家都使用证书来登陆,如果不使用证书,就添加这一行:(但是你要确定你的SSH配置支持无证书登陆!)
define('FTP_PASS', 'password');
还需要一个ssh配对公钥和密钥(public/private key),运行下边这个命令来获取:(为了服务器的安全,不要泄漏这两个文件哟!)
ssh-keygen
执行命令的时候会问你一些问题,例如保存在哪里什么的,注意看一下吧!
如果你之前已经配置了SSH的密钥,那就可以用之前的配置,如果没有配置的话,需要到/etc/ssh里去修改一下。关于SSH的证书配置就不多说了,不懂杜问度娘。
Editor: CySnap; Tags: Tips
没有成功,需要php-ssh2,而且执行权限也有问题!还是乖乖用ftp吧!
非常好用!感谢博主!
想问一下,这样配置以后,wordpress如果有更新,是完全不经过管理员的确认,就直接更新了吗?
是不是不太安全?
路过,留个脚印,网站很棒!
好久没来了,过来转转
好贴,双手赞成!
[书呆子] 路过,留个脚印,网站很棒!