Usually it’s a permission issue. You need webserver ownership (www/www-root or something else depending on your server) for all files:
chown -R www.www public_html
You also need to change permissions of your files and add write permissions for user and group:
chmod -R ug+w public_html/
You may also need to add the following line to wp-config.php:
define( 'FS_METHOD', 'direct' );
Joel G Mathew, known in tech circles by the pseudonym Droidzone, is an opensource and programming enthusiast.
His favorite pastime is grappling with GNU compilers, discovering newer Linux secrets, writing scripts, hacking roms, and programs (nothing illegal), reading, blogging. and testing out the latest gadgets.
When away from the tech world, Dr Joel G. Mathew is a practising ENT Surgeon, busy with surgeries and clinical practise.