WordPress is highly customizable and gives the blogger the ability to install a theme or enhance the capabilities of your blog. Plugins can extend your WordPress installation to do almost anything and themes, well, are just that. In this blog post I’ll show you how to get the most out of an already amazing piece of software.
Installing/updating/deleting themes and plugins can all be handled within WordPress by logging into http://yourdomain.com/wp-admin and navigating to Plugins > Install Plugins. But like me, you may encounter the following:
Why Is This Happening?
Installing themes/plugins (upgrading and deleting as well) require specific access to the filesystem on which WordPress is running. In short, WordPress does not have the necessary permissions to do this. You see, your WordPress installation is being served to the world by what is called a web server (probably Apache). And all running programs operate under a particular user, it just so happens that this user does not have the permissions to write to the filesystem to save our plugin/theme – a security mechanism of sorts.
What Could Be Done?
The Hard Way
We need to find out what user apache is running as and change ownership of the entire WordPress directory to that user. As an example, if apache is running as the user ‘httpd’, you could use the following commands on your WordPress installation directory:
# chown -R httpd: wordpress
This method requires direct access via SSH and familiarity with the Unix command line. If you don’t know what I’m talking, good, neither do I, so don’t bother…
The Easy Way
As mentioned already, WordPress usually asks for your FTP credentials when it can’t access the files directly. So if you see the above, there’s a way to fix this such that WordPress no longer annoys you with this same screen each time you try to install a plugin.
As a workaround you can put your FTP credentials directly in wp-config.php. Login to your hosting account and get to cPanel – you should know how to do this. If your lucky enough your hosting company has provider you with a File Manager utility that you can easily start by double-clicking the icon.
If not, you can always FTP into your account and make the modifications that way. In any case, navigate to your WordPress installation folder. Mine is in:
Add the following to wp-config.php (substituting with your information), save and exit.
define('FTP_USER', 'your_user'); define('FTP_PASS', 'your_password'); define('FTP_HOST', 'your_ftp_host');
The Alternate Way
cPanel To The Rescue! First, get the plugin or theme you’re interest in and download it to your computer, it should be the form of a zip file. Go to the WordPress website for plugin or themes. You now need to do a few things:
- Upload the zip file to the proper folder
- Extract the zip file
- Delete the zip file
- Activate the theme/plugin
Login to your hosting account and get to cPanel. Once there, navigate to your WordPress installation folder. In my case, the installation was under the public_html folder. This may vary from company to company, if you are unsure contact your hosting provider, they’ll be happy to help. Now, navigate to the wp-content directory. In there, you’ll find all the we need, namely, the two directories we’re interested in; themes and plugins.
Upload the file to the appropriate folder. Use the icons in the toolbar to accomplish the following; extraction of the zip file (which should leave a folder behind – use the reload button) and deletion of the zip file.
Finally, activate the theme/plugin via your admin account and voila! Mission accomplished.