Give Wordpress apache user and FTP user write permissions - wordpress

Apologies if I am missing something obvious, here is my issue:
My employer wants to be able to auto update Wordpress/Plugins from the dashboard using define('FS_METHOD', 'direct'); in the the wp-config (he doesn't want to run a password-authenticated FTP server). This requires setting the files to be owned by the apache user.
My employer also wants to be able to login via SFTP with a key and update files
If I make the files owned by the apache user, he cannot edit them via the SFTP user, and if I make them owned by the SFTP user, apache cannot modify them. I know I can use group permissions, but Wordpress file default is 644 which, if I am correct, means that only the owner can edit the files, not the group.
Is there any solution to this? Thanks!
EDITED: To clarify FTP/SFTP situation

Change the owner to 664 and create the group as you indicated, where is the problem?

Related

How can I make my ftp directory writable for wordpress plugin update?

I try to update a plugin in wordpress.
When I press on "update" they ask me for my ftp settings.
Then the Plugin tries to update and I get the error
Update failed: Directory could not be created.
I changed the folder permissions on 770 recursive for the plugins folder. But still not working.
Generally if this happens I like to reset all the file/folder permissions on the site https://gist.github.com/Adirael/3383404 is a sh file that will do this, if you dont have ssh access a lot of dashboards will have a reset permissions utility that may do the trick.
Alternatlvy find out the FTP credentials for the site and complete the form this should work.
There are extensions that claim to be able to do this however I would advise not using them as the process is pretty simple and they may introduce other issues especially as from the sounds of it you wouldnt be able to install the extensions.

Giving write permission back to Wordpress on AWS EC2 via PuTTY

I recently had a PHP syntax error that crashed my server after using the plugin editor on my Wordpress website. It is an AWS Elastic Beanstalk hosted website, so I had to use PuTTY to change the file permissions and allow ec2-user to read/write durring SFTP via Filezilla.
I am not experienced with his sort of thing and followed the information from this question to accomplish this task.
Everything went well, but now I cannot edit or "write" anything via my Wordpress website. No plugin updating, no file editing, nothing. It says I need to change my permissions.
Due to my lack of knowledge on this, I have no idea how to reverse what I did when I entered
chown -R ec2-user /var/app
chmod -R 755 /var/app
How do I set the permissions back so I can edit files and update plugins via Wordpress admin?
EDIT: I found out that all I did was change ownership of the files to ec2-user. SO I guess my new question is how do I find out what username to use for my WordPress site to give it back ownership of the files?
Fixed:
I wound up adding
echo(exec("whoami"));die();
to the top of my WordPress index.php file to figure out the user. Make sure to remove it once you're done.
Lets say my username wound up being "foo".
After I had the username, I went back into PuTTY, and ran
sudo chown -R foo /var/app
and can now modify files through wordpress again.

your content folder is not writable wordpress

Can somebody help me please. I have getting a headache. I recently moved my server. The website run as normal but when I try to add content. My wordpress site shown. "your content folder is not writable"
I have did changing the permission to 777 to recursive folders but it won't work. I also tried to change it from ssh which code
chmod -R 777 /home/admin/public_html/wp-content/uploads
surprisingly, the admin dashboard still show the same error. I really appreciate any helps. Thank you.
That's a server permission problem. According to the WP docs:
Any file that needs write access from WordPress should be owned or
group-owned by the user account used by the WordPress (which may be
different than the server account). For example, you may have a user
account that lets you FTP files back and forth to your server, but
your server itself may run using a separate user, in a separate
usergroup, such as dhapache or nobody. If WordPress is running as the
FTP account, that account needs to have write access, i.e., be the
owner of the files, or belong to a group that has write access. In the
latter case, that would mean permissions are set more permissively
than default (for example, 775 rather than 755 for folders, and 664
instead of 644).
From http://codex.wordpress.org/Changing_File_Permissions
And, FYI, search first for a common issue like permissions; there are many answers already on WP permissions.

Is there a better solution rather than changing wp-content folder persmission to 777 to prevent asking me to put ftp parameters?

I have a running wordpress website and the only issue I have is that each time I want to save an update it's asking me to enter my ftp password.
Is there a better solution to remove this popup without changing wp-content folder permission to 777?
I have run into this issue when the files on my web server are configured with the wrong owner or group.
From the WordPress codex:
Typically, all files should be owned by your user (ftp) account on your web server, and should be writable by that account. On shared hosts, files should never be owned by the webserver process itself (sometimes this is www, or apache, or nobody user).
https://codex.wordpress.org/Changing_File_Permissions
This is something that you will need to resolve on your web server if you know your user and group. Your username is likely the same as your FTP user.
chown -R user:group /path/to/wordpress
If you are on a shared hosting environment you will need to contact your host so that they can fix this problem.
You should also avoid using 777 permissions on your folders. Folders should be 755.

Wordpress requires FTP information to update plug-ins

I'm trying to update Wordpress plug-ins, and I'm presented with the familiar FTP login screen.
I have read other posts indicating the lines in wp-config.php to be filled in. However, I don't have FTP installed on this server, just SFTP.
Also, I don't want to have to do this for each Wordpress install.
As far as I know, wp-content is already owned by apache:apache, and PHP is also running as user apache.
Is there something I'm missing? Is there some other way to handle this?
This has happened to me alot, when installing wordpress on my own server. Usually it has to do with a permission problem.
A lot webservers use the user www-data, instead of apache. So check your apache configuration for what your webserver user is set to.
Also you will want to check your directory permissions, and make sure both the user and group has read, write, and execute access. I am not sure if execute access is necessary, but that is usually what I set my server too.
You can do this with the command
chmod 775 -r your_wp_content_directory
And if all else fails, if you have shell access you can also use wget in the directory to install plugins.
After trying everything I could find regarding permissions, I added the following line of code to this site's wp-config.php:
define('FS_METHOD', 'direct');
That immediately solved the problem. Not sure if I also needed to modify the permissions first, since i did that before trying this fix.

Resources