Define: FTP stands for File Transfer Protocol and is a method of transferring files.
Use: A common use of FTP is to upload/download website files to a server (a website server is essentially a computer configured for public internet access and where a website is hosted).
Overview: Many hosting providers have a built in FTP interface (for example: SiteGround and GoDaddy). However, you don’t have to use these and you can use a program such as FileZila to transfer files.
Fillazilla
I’d recommend downloading and using FileZilla for file transfers, and adding the details of sites you regularly use to your “My Sites” section for easy access.
To connect to an FTP you will be asked for: Host, Username, Password, and Port.
The host is the server where your website is hosted, this might be your websites URL, the IP address of your server or another address. If you’re using a hosting company (like GoDaddy or SiteGround) you should be able to find the host by logging into your hosting account.
The username and password are typically set up in the hosting account, and you may need to create an FTP user and set a password.
The port is typically 21. Although to explain ports in a bit more detail (please see below).
Ports:
To explain ports, these are like doorways/access points into a server. If you think of a server as a giant warehouse with with 65535 doors (the maximum number of ports) surrounding it and you need to open the right door to access the files this is typically port 21 and sometimes port 22 but can be another port depending on the configuration.
Viewable website are typically hosted on port 80 for http websites and port 443 for https websites. Web browsers operate by looking at these ports and rendering the code they find into a visual format. When you type in a web address this actually looks for http://example.com:80 or https://example.com:443 where :80 and :443 are the port numbers, and where example.com is the domain.
Although not directly relevant it’s worth noting that servers/websites can be vunriable to hackers if they do not correctly configure port access (like leaving a door unlocked).
File Structures:
The file structures of servers can vary depending on the configuration and operating system, but typically file paths include
/var/www/html/example.com/ – Ubuntu 16.04
/public_html/example.com/ – SiteGround
There will be a directory where all public (web visable files live). If you’re hosting one site typically you’ll find all the website files here. If you’re hosting multiple sites typically there will be separate directories for each website you’re hosting in this folder.
Please note:
There’s no undo button in FileZilla, so avoid accidental moving, deleting, overwritte files. I’d recommend making a copy of any file you’re looking to change before making the change so you can quickly and easily revert back by uploading the original.
File Permissions:
File permissions you’ll notice every file and folder has a user and file permission (such as 755 or 644) assigned to it.
Users are configured in the hosting account or on the server and these relate to who owns the file and has permission to edit and use this.
The file permission defines the level of access of a file/directory and the actions that can be performed. This sets which users (either public, all users, or just the file owner) can read, edit and execute the file.
To Summarise:
FTP (File Transfer Protocol) is a method of transferring files. Your hosting provider may have a FTP interface you can use. Alternative you can use a program such as Filezilla, FTP connection details are typically found in your hosting account.