如何设置FTP以在本地托管的wordpress中使用


24

我在ubuntu 10.10桌面版上安装了wordpress,并且尝试从浏览器安装插件(我知道可以将其拖放到wp-content / plugin上,但是我想通过Web浏览器使用FTP进行安装)我得到了当我尝试设置自动更新或从Web浏览器安装插件时出现屏幕。

替代文字

我提供的主机名是127.0.0.1,用户名和密码是我用来登录wordpress的用户名和密码。我得到错误

用户名/密码错误,无法连接到127.0.0.1:20

我想我必须授予用户ftp密码,但我不知道如何。我已经安装了vsftp,但是当我尝试“ ftp 127.0.0.1”时,我得到了-

$ ftp 127.0.0.1
Connected to 127.0.0.1.
220 (vsFTPd 2.3.0)
Name (127.0.0.1:gaurav): root
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.
ftp> 

Wordpress在我的Ubuntu桌面上本地运行。

Answers:


14

好吧,您的Wordpress登录名和FTP登录名是两回事。我发现您使用的是vsFTPd,因此您可以轻松做到这一点:

编辑vsFTPd配置文件:

gksu gedit /etc/vsftpd.conf

最后添加:

local_enable=YES

重新启动vsFTPd服务器:

sudo /etc/init.d/vsftpd restart

现在,您应该可以使用Ubuntu登录名连接到FTP。


以及如何授予用户(wordpress用户)访问可以通过网络使用FTP的FTP的权限
Gaurav Butola,2010年

我也不会以root用户身份登录,而是创建一个虚拟用户,使其成为您的www-data组的一部分,并使用它来推送更新/安装
csgeek 2010年

我遇到了同样的问题,只是想为正在经历此问题的其他任何人添加您需要使用“ 127.0.0.1”而不是“ localhost”。或者至少我做到了。还必须使用FTP而不是FTPS。
杰伊

-1即使它被列为最佳答案,但它缺少默认情况下已注释掉write_enable的信息。如果您不取消注释,则您的解决方案仍然无效。
2014年

4

只需将此行添加到wp-config.php

define('FS_METHOD', 'direct');

然后就可以了。


这种方法有什么缺点吗?对我来说似乎是最好/最简单的,但我可能是错的。
JoniVR

3

如果您使用的是默认文件,我遇到的问题就是看不到启用写访问权限。那解决了我的问题。

listen=YES
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem

同样的问题,默认情况下已注释掉write_enable。谢谢你的提示。这里没有提到,但我也将wordpress ftp用户的主目录更改为/ var / www / html(或指向该站点的路径)。我不确定是否真的需要这样做。
2014年

3

对我来说,更改wordpress文件夹的所有权可以解决此问题。

sudo chown -R www-data wordpress

这立即为我工作!
Max Kulik

3

我遇到过同样的问题。

当我创建Ubuntu服务器时,我安装了一个wordpress网站,每次我想更新一个插件时,我都需要ftp访问,这确实很烦人。我知道我可以在WordPress的配置中添加ftp详细信息,但是我就像NAH!因此事实证明,WordPress无法将文件写入wp-content目录,因为apache没有编辑该目录的权限,因此这就是我解决的方法。

将群组文件复制到同一目录中的群组

sudo cp /etc/group /etc/groups

然后将递归权限授予apache

sudo chown -R www-data:root /var/www

而已。

另一种方法是通过编辑apache envvars

sudo nano /etc/apache2/envvars

编辑显示的行

export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data

并用您的ubuntu用户名替换www-data

export APACHE_RUN_USER=USERNAME
export APACHE_RUN_GROUP=USERNAME

现在重新启动apache

sudo service apache2 restart

然后确保您的帐户拥有该目录的权限

sudo chown -R USERNAME:USERNAME /var/www

如果这对您不起作用,则只需答复。


1

配置vsftpd,打开vsftpd.conf/etc和复制粘贴以下到您的vsftpd.conf

listen=YES
anonymous_enable=YES
anon_root=/srv/ftp
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
ftpd_banner=Welcome to my FTP server.
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem

注意:
您应该/srv在名称ftp或您喜欢的名称中创建一个新目录,如果您喜欢其他名称,则应将行更改anon_root=/srv/ftpanon_root=/srv/toyourfoldername现在将所有文件放在/ srv / ftp文件夹中

要在本地主机中测试设置,请输入:

ftp://127.0.0.1
如果您有任何问题,请通知我。

要启动/停止/重新启动vsftpd:

sudo service vsftpd start
sudo service vsftpd stop
sudo service vsftpd restart

1
+1代表sudo service vsftpd ....
solgar 2015年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.