Wordpress Plugin Installation - Failed to connect to FTP Server - Safest Solution?
Asked Answered
W

10

29

I succesfully set up a VPS LEMP-stack with Wordpress. When I am trying to install plugins from the WP backend, I am prompted with the following message:

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

When I enter my SFTP-account details, which I am using to access the server with FileZilla, I get the following error message:

Failed to connect to FTP Server 192.XXX.XXX.X:21

I read various tutorials, which suggest to install a FTP server, in particular vsftpd and then to store your FTP-User-details in the wp-config.php to avoid further authentication requestst. The problem I see is that, FTP is considered as severly unsecure and I would like to avoid hard-coding my user details into my WP-installation.

What is the safest, recommended way to deal with this problem?

Willenewillet answered 23/1, 2014 at 18:20 Comment(4)
You wouldn't get the FTP message if you had write permissions set on your plugins folders in wp-contentAlgebraist
@JefferyAWooden The following seems to solve my issue: sudo adduser <username> www-data sudo chown -R www-data:www-data /var/www sudo chmod -R g+rw /var/wwwWillenewillet
@Willenewillet Thanks your post solved my same problem.Royster
possible duplicate of Can I install/update WordPress plugins without providing FTP access?Enoch
M
73

I don't know if it is the safest method or not. But pasting this code in wp-config.php once solved my problem:

define('FS_METHOD', 'direct');
Mindamindanao answered 23/1, 2014 at 18:27 Comment(4)
This method fixed the issue for me. However I also had to change the permissions of my themes folder so it could then create the required directories.Interlaken
OP didn't pick it as correct answer. Wishes do not come true in this life T_TMindamindanao
This is effective, but it comes with security problems. This is mentioned briefly in the documentation at codex, but unfortunately dumps you on another StackExchange site for a detailed answerBeacon
According to "all the best" documentation it says to use "define('FS_METHOD', 'ssh2');" but after several hours of debug I found this comment and 'direct' worked for me. And it IS case sensitive.Sanctus
E
34
sudo chown -R www-data:www-data wp_site_root
sudo chmod -R g+rw wp_site_root

solved my problem.

Enoch answered 12/5, 2015 at 18:31 Comment(2)
i have a wordpress docker and when clone it need to grant permission by this command ... this is so helpful for us ... thanksGrane
only needed the chown line to fix in my case, with site root still 0755Hemp
J
7

Remember to set files and directories permission in this way:

chown -R www-data:www-data /var/www
find /var/www/ -type d -exec chmod 755 {} \;
find /var/www/ -type f -exec chmod 644 {} \;
Johnsen answered 17/4, 2017 at 16:54 Comment(1)
For Linux servers only.Mindamindanao
A
5

define('FS_METHOD', 'direct');

adding the above given command on the wp-config file will resolve that issue paste it below

define( 'WP_DEBUG', false );

Androclinium answered 9/6, 2021 at 9:3 Comment(0)
A
2

@MrNerdy,

I should have also elaborated on the fact that there should be some other folders you'll want to give permissions to. Read the documentation on it here to understand exactly what you should do regarding security: http://codex.wordpress.org/Changing_File_Permissions

Also, be careful to only install trusted plugins. I've seen dozens of sites hacked because of badly coded plugins / themes, etc. Good luck.

Algebraist answered 24/1, 2014 at 18:53 Comment(1)
+1 for the headsup to @MrNerdy's comment, which should be added in the answer section.Whorled
O
2

For me it was bitnami related settings issue. This post helped me. There could be multiple reason:

  • Permission issue on the files and folders.
  • The FS_METHOD should be "direct" in wp-config.php file.
  • Remove FTP configuration from wp-config.php if you are migrating from bitnami to manage it on your own.
Opulent answered 23/12, 2016 at 18:54 Comment(0)
T
1

If anyone is running into this issue using MAMP Pro.

Make sure you're running the server as the user that has permission for the root wordpress directory.

Under SETTINGS > Ports look for "Run server as" and in the drop down choose the same system user that has permission to access the root wp folder.

enter image description here

Tammietammuz answered 17/3, 2019 at 7:15 Comment(0)
A
1

Add this line to wp-config.php:

define('FS_METHOD', 'direct');

Then change the permission If you're using an ec2 instance.

cd /var/www/html/wordpress
Arrow answered 25/10, 2022 at 10:30 Comment(0)
T
1

its just a permisson error sudo chown -R www-data:www-data your wordpress site root folder sudo chmod -R g+rw wordpress site root folder

Ti answered 22/6, 2023 at 7:34 Comment(0)
G
-1

if your'e using shared hosting then remove some files in your server and try again. it will work. its because your disk quota may be exceeded.

Gereld answered 22/9, 2017 at 12:59 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.