What’s a FTP?
FTP is a specific protocol for transferring files. FTP means File Transfer Protocol. The web uses different protocols, so when you browse the Internet you are using HTTP (HyperText Transfer Protocol), when you use emails you are using another protocol, etc. So file transfer has its own protocol, it’s just that!
And just like you can use Outlook, or another email software on your computer to receive emails, or a browser to access a website, you need a specific software to use FTP.
You also need a specific access to use this protocol, just like when you want to use your email software you need a login and a password.
Creating your FTP access
On your hosting panel interface you will find a menu to create your ftp access, it’s something every hosting provider offers. Here are two examples with a Plesk panel and a cPanel.
In the menu “Websites & Domains”, click on FTP Access:
Then, click on “Add an FTP Account”, and fill in the information:
As FTP account name, choose a username.
The home directory is the folder to which you want this “user” to have access to. So if the user is you, the best option is to fill the field “home_directory” just with “/”. That means you will have access to all the files of your webspace. If the user is another person and you don’t want the person to have access to every file of your webspace, just to a specific one, you have to specify the path to this folder.
To add a path to a specific folder, click on the folder icon on the right of the “home directory” field. Then open the tree until the folder you want to give access to, select this folder, and click OK.
Choose a password for this user and click OK. Your FTP access is now set up.
Go to the “Files” section and click on “FTP Accounts”:
Then fill in the information for this account:
For “Log in” enter the username you want for this FTP access.
The “Directory” is the folder to which you want this “user” to have access to. So if the user is you, the best option is to leave the field “Directory”empty. That means you will have access to all the files of your webspace. If the user is another person and you don’t want this person to have access to every file of your webspace, just to a specific one, you have to specify the path to this folder.
For example, here are the directories of a WordPress website:
You may want to give access to a folder within the “wp-include” folder for example:
Let’s say you want to give an access to the “css” folder within the “wp-include” folder, the path to this folder is “the-folder-of-your-webspace” > “wp-includes” > “css”. This path can vary upon the control panel you are using and the configuration of your server. For example in a plesk panel, the path may usually be: “the-folder-of-your-webspace” > “httpdocs” > “wp-includes” > “css”. In a cPanel interface it is more likely to be something like: “public_html” > “wp-includes” > “css”.
This “path” question is something which is quite simple but which must be well understood as it will be useful for you in other situations. We will explain this in more detail later on, however you have to understand that a path is just a notion. It depends on which path you are looking for: the path from the root of your server? or the path from the root of your webspace? So far we have talked about the path from the root of your webspace. However there are other folders located before the folder that hosts the files of your webspace, we can sum this up by “folders-before-your-webspace” > “folders-of-your-webspace”. If you are using a Plesk panel, usually the “folders-before-your-webspace” are something like this “/var > /www > /vhosts”, so the path from the root of your server should be “/var/www/vhosts”. If you are using a cPanel, this should be something like “/home”, so the path from the root of your server should be “/home”.
Let’s see a full example with “yourdomain.com” on which you have installed a WordPress. Let’s imagine we want the path from the root of your server until the “css” folder which is in “wp-includes”.
On a Plesk panel, this path would be “/var/www/vhosts” + “/yourdomain.com/httpdocs/wp-includes/css”. As you can see “/yourdomain.com/httpdocs/wp-includes/css” is the path from the root of your webspace. And so, here is the full path from the root of your server: “/var/www/vhosts/yourdomain.com/httpdocs/wp-includes/css”.
With cPanel, we would have “/home” + “/yourdomain/public_html/wp-includes/css”, and so the full path would be “/home/yourdomain/public_html/wp-includes/css”.
Note that in these two examples, the name of these folders “/yourdomain.com” for Plesk, and “/yourdomain” for cPanel don’t necessarily have exactly this structure. For example, /yourdomain.com could be /www.yourdomain.com – all depends on what has been entered at the moment of your webspace creation. All other folders are automatically created by Plesk or cPanel and so they always have the same name.
Using Filezilla to transfer files
There are many FTP softwares. One of the most used is Filezilla. You can download it from there: https://filezilla-project.org/
Once dowloaded just install and launch this software.
Quick connection with Filezilla:
At the top of Filezilla, you can see these fields:
In the host name you have to enter your domain with “ftp.” just before. So for example if you are using “yourdomain.com” you have to enter “ftp.yourdomain.com”, then enter the username and password and click on “Quickconnect”.
Once connected you can see the folders and files stored on your server in the windows on the right. You are sent to the folder that you have selected when creating your FTP access. For example, here is what it could look like on Filezilla:
On the upper window we can see that we are in a folder named “redmine”. In the window below we can see all the folders and files which are within the “redmine” folder.
We can enter the “redmine” > “app” folder for example:
So you can navigate within all the folders to access a specific file or folder.
On the Filezilla window on the left you can see that it’s exactly the same but with the files of your computer! So on the left you see the files and folders of your computer, and on the right the files and folders which are on your server.
You can transfer a file or a folder, or several files and several folders, by selecting them from a window and drag them to the other window. That’s how you transfer something from your computer to your server and the other way round.
A concrete example: installing a WordPress theme via FTP
If you have installed a WordPress website you may know you can customize it by adding another theme. WordPress comes with some default templates but they are very simple and may not fit your particular needs. So you can find another theme on the web, download it and install it to use it as your default theme.
To install a new theme on WordPress, you have two options: installing it from the WordPress panel or install it via FTP. Installing a template via FTP consists in sending the theme folder, which contains all the files of the theme, in the appropriate folder of your WordPress on your server.
Here are the simple steps to install a new WordPress theme via FTP:
- Download the new theme on your computer (you may find many themes/templates for WordPress just by browsing the web). Be sure you are downloading a theme from a trusted website.
- Unzip the template file that you’ve just downloaded.You should obtain a folder with the template name.
- On Filezilla, connect with your FTP account to your WordPress website
- If you are not sent to the folder of your WordPress, navigate through the different folders on your server until you reach this folder. You should see the three main folders of WordPress (and many files too):
- Open the “wp-content” folder. You should see something like this:
- Now open the “theme” folder. You should see something like this:
- Now, from the left window of Filezilla, navigate through the folders on your computer until you find the folder of the theme that you want to install.
- Click on this folder and drag it on the bottom right window, just below the other themes that are already installed. You should obtain something like this in this bottom right window:
- Ok now just go back to your browser and connect to your WordPress admin panel.
- Go to “Appearance” > “Themes”.
- You should see your new theme within the available themes.
- Activate this theme (click on the “activate” button of this theme).
Et voilà! You’re done.