29

I have installed wordpress on my ubuntu 10.10 desktop edition and I am trying to install plugin from the browser (I know I can drop it to the wp-content/plugin but I want to do it via the web browser using FTP) I get this screen when I am trying to set auto update or install a plugin from web browser.

alt text

I provide the hostname 127.0.0.1 and Username and password the ones that I use to login to wordpress. I get the error

Username/password Incorrect and cannot connect to 127.0.0.1:20

I think i'll have to grant a user with ftp password but I dont know how. I have already installed vsftp but when I try "ftp 127.0.0.1" I get -

$ 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 is running locally on my Ubuntu Desktop.

David Foerster
  • 36,890
  • 56
  • 97
  • 151

8 Answers8

15

Well your Wordpress login and your FTP login are two different things. I have see that you use vsFTPd, so one easy thing that you can do it this :

Edit the vsFTPd configuration file :

gksu gedit /etc/vsftpd.conf

Add this at the end :

local_enable=YES

Restart your vsFTPd server :

sudo /etc/init.d/vsftpd restart

Now you should be able to connect to your FTP using your Ubuntu login.

10

Just add this line to wp-config.php

define('FS_METHOD', 'direct');

Then It will be OK.

9

For me changing the ownership of the wordpress folder solved the issue.

sudo chown -R www-data wordpress
Leszek
  • 3,209
3

If you are using the default file the problem I had was not seeing enable write access. That resolved my problems.

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
qbi
  • 19,515
3

I had the same issue.

When I created my Ubuntu server I installed a wordpress site and everytime I wanted to update a plugin I needed ftp access which was really annoying. I knew I could just add the ftp details in the config for wordpress but I was Like NAH! So It turned out that wordpress can't write files to the wp-content directory because apache doesn't have permission to edit the directory so this is how I fixed it.

Copy group file to groups in the same directory

sudo cp /etc/group /etc/groups

Then give Recursive Permission to apache

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

Thats it.

Another way of doing it is by editing apache envvars

sudo nano /etc/apache2/envvars

Edit the lines where it says

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

And replace www-data with your username for ubuntu

export APACHE_RUN_USER=USERNAME
export APACHE_RUN_GROUP=USERNAME

now restart apache

sudo service apache2 restart

and then make sure your account has permissions to the directory

sudo chown -R USERNAME:USERNAME /var/www

If this doesnt work for you then simply reply.

ergohack
  • 113
1

To configure vsftpd, open vsftpd.conf in /etc and copy paste the following into your 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

Note:
You should create a new directory inside /srv in the name ftp or what ever name you prefer.If you prefer another name then you should change the line anon_root=/srv/ftp to anon_root=/srv/toyourfoldername Now place all your files inside the folder /srv/ftp

To test your settings in localhost type:

ftp://127.0.0.1
If you have any problems let me know.

To start/stop/restart vsftpd:

sudo service vsftpd start
sudo service vsftpd stop
sudo service vsftpd restart
RolandiXor
  • 51,797
karthick87
  • 84,513
1

This worked for me:

Add this file to wp-config.php:

if(is_admin()) {
    add_filter('filesystem_method', create_function('$a', 'return "direct";' ));
    define( 'FS_CHMOD_DIR', 0751 );
}

for more http://www.jamison.org/2010/12/04/how-to-configure-wordpress-for-automatic-ftps-updates-using-vsftp-in-ubuntu/

David Foerster
  • 36,890
  • 56
  • 97
  • 151
0

I had the same problem before and here how I resolved it.

1) You have to check what group owned that specific wordpress folder. i.e www-data. Then make sure the group owned recursively. You can can do

sudo chown -R www-data.www-data /var/www/wordpress

2) the ftpuser that you plan to use need to belong to www-data group. You can check by following.

groups ftpuser

If it is not in that group, just add it. here how i did it.

sudo usermod -a -G www-data ftpuser

The last thing is to set the default folder of the ftpuser to your wordpress folder.

usermod -d /var/www/wordpress ftpuser

that's it...