如何在 Linode 上设置 FTP?

如何在 Linode 上设置 FTP?

看来 WordPress 需要安装 FTP 服务器才能从 Web 界面上传文件。我已经安装了 WordPress 博客。我需要安装一些插件,但我得到了一个框:--

  To perform the requested action, WordPress needs to access to your web server. Please enter your FTP credentials to proceed. If you do not remember your credentials, you should contact your web host.

类似这样的:-- 在此处输入图片描述

你能帮我吗?

答案1

告诉 WordPress 直接使用文件系统 — 将这一行添加到wp-config.php

define('FS_METHOD', 'direct');

答案2

在 Ubuntu 上安装 VSFTP 服务器

sudo apt-get install vsftpd

安装完成后,你需要调整配置,编辑 /etc/vsftpd.conf

禁用匿名登录找到anonymous_enable指令并使其

anonymous_enable=NO

启用本地帐户登录设置local_enable指令为

local_enable=YES

write_enable通过设置指令允许写入

write_enable=YES

重新启动 ftp 服务器以使您的更改生效。

sudo service vsftpd restart

答案3

为了能够使用 SSH2 进行更新和主题上传,您必须生成 SSH 密钥并安装 PHP SSH 模块。然后 WordPress 将检测到您有可用的 SSH2,并且您将在上传/升级时看到显示不同的选项 (SSH2)。

1.) 确保您已经为 Debian 安装了 PHP 模块:

sudo apt-get install libssh2-php

2.) 生成 SSH 密钥,添加密码是可选的:

ssh-keygen
cd  ~/.ssh
cp id_rsa.pub authorized_keys

3.)更改权限,以便 WordPress 可以访问这些密钥:

cd ~
chmod 755 .ssh
chmod 644 .ssh/*

现在,在执行上传/升级/插件时,您将获得 SSH2 选项。这是一张图片,我没有足够的声誉来发布图片。这是您将获得的图片的链接,希望可以包含它。 https://www.dropbox.com/s/1m7fxlkp0nchplx/ssh-connection.png

4.) 为了更加方便,您可以设置默认设置wp-config.php,这将在 WordPress 上传窗口中预先填充 SSH 凭据。

define('FTP_PUBKEY','/home/<user>/.ssh/id_rsa.pub');
define('FTP_PRIKEY','/home/<user>/.ssh/id_rsa');
define('FTP_USER','<user>');
define('FTP_PASS','passphrase');
define('FTP_HOST','domain.com');

“密码”是可选的,如果你在期间没有设置密码ssh-kengen,那么就不要添加它wp-config.php

这解决了我的问题。我根本不需要这样做chown。但我在其他地方看到过这种方法。

参考:

答案4

实际上,您不需要在服务器上运行 ftp 服务器来解决此问题。

如果您正在运行 nginx,只需转到 /path/to/yout/wordpress/ 并在 SSH 连接窗口中输入此命令:

chown-R www。

如果您正在运行 apache,我不确定如何更改用户权限,将 www 更改为 apache 组名(例如 httpd 可能会起作用):

chown-R httpd。

相关内容