I need to clone a wordpress site into my local so that I can try changing it without jeopardizing the running website.
I am fairly new to wordpress. How do I do it?
Is copying the whole folder which include wp-admin, wp-content, wp-includes going to work?
I will try to explain how to do it fairly easily:
For copying / cloning website you will need to copy all the files and copy the database. You certainly can use a plugin for that but it is better to understand how it works under the hoods and do it manually and then migrations will become just a matter of minutes :)
Ok, so let's begin. First create a folder on your local server (or other server) which is going to be the root of your installation. Let's say your site you are copying is "oldsite.com" and the new destination is "localcopy.dev"
Copy all the files from oldsite.com via an oft or hosting panel file manager or via command line. Please note that if you will use ftp than copying process will be extremely slow, it will need to do a separate request for each file and considering that the worpress installation can contain up to 10 000 files it might take more than an hour. I would recommend to create an archive of all files from your hosting file manager and then just download the archive and extract it in your localcopy.dev root folder. That will take 2-5 minutes maximum.
Once you have your files migrated, you need to migrate database. That looks little tricky on the first sight but in a fact it is pretty basic thing. On your hosting, you need to access phpmyadmin. Open the database of the oldsite.com and go to export and export all the tables of the database. If it does not automatically export into a file, then you will need to indicate in export settings to generate export file. It will be a simple text file with .sql extension.
Now we need to modify this .sql file. Open it in any text editor and just find all "oldsite.com" and replace with "localcopy.dev". Once you are done save the file. This is required, because we are migrating to new domain name and need to point all old links to new domain.
Now on your local server (or other destinations server) create a database, open the database via phpmyadmin or other db management application and import the tables from the .sql file we already have.
Now go to the root folder of the localcopy.dev where you already extracted all the files and fine wp-config.php file. Open it and modify database name, database user, database pass with new values so that it can connect to new databse which is on your local server.
Open localcopy.dev in your browser. It should work fine but if it does not, for example, if you see white screen of death, it might be a problem with your .htaccess file. Try deleting it and refreshing the site. Then it should most likely work fine but you might need to log in and go to settings->permalinks and click save to generate new htaccess.
It is safer to copy the whole wordpress folder and don't forget the .htaccess file as well.
Other than files, you need to make a copy of the database as well.
There are some wordpress plugins available that would ease the pain, for example Duplicator
Also if you are cloning the wordpress site to a new domain, there are some more steps to take (details are here)
You need to copy the files as well as the database, and update the database to point to your local URL and directory structure.
Copying the files is easy (grab everything in the site root, not just the wp-* folders)...you will likely use FTP/SFTP/SCP to copy them down.
The database is a bit more tricky. There are MySQL dump tools and database copy tools.
Also take a look at WP Migrate DB Pro. It is a paid product, but if you have to do this a bit more than once...paying the cost is well worth the time and aggravation it will solve you.