How to Setup FTP to use in locally hosted wordpress

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.


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.


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

sudo chown -R www-data wordpress

Just add this line to wp-config.php

define('FS_METHOD', 'direct');

Then It will be OK.


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

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.