FTP (File Transfer Protocol) is a popular Internet data transfer protocol. You can use FTP to transfer files between a remote server and a local PC. FTP is often used by site administrators in order to upload and download files to their web-hosting servers. FTP protocol is implemented according to the “client-server” scheme: there are FTP-clients and an FTP-server.
In our instructions we will show how to install and configure an FTP server based on a desktop Windows 10 OS without using third-party software (such as FileZilla Server, Titan FTP Server, Ocean FTP Server, etc.).
Installing FTP Server Components on Windows 10
At first let’s create an FTP folder. This directory will contain files and folders that should be accessible by the FTP client. Create it on the desktop or you can create it anywhere on your PC. Usually, the C:\inetpub\ftproot directory is used as the root FTP folder.
Once it done, press the Windows key + R to open the run window. In the following window type cmd and click OK to open the Command prompt.
Now type ipconfig and press Enter. Right down you can see the IP address and default gateway IP.
We need this to configure an FTP server, but at first we have to install and configure IIS (Internet Information Services) components, so go to Control Panel. You should change to Small icons view and go to the Programs and Features.
Here Turn Windows features on or off, scroll down to Internet Information Services, expand it, expand FTP server. Now here check marks on Internet Information Services, Web Management Tools and World Wide Web Services. In addition, check marks on FTP Service and FTP Extensibility. After this, you just have to click OK to install the services. Once installation is finished close the window.
Tip. Please note that in order to manage IIS, you must install the IIS Management Console (Web Management Tools > IIS Management Console). You can also install the console from PowerShell with the command:
Enable-WindowsOptionalFeature -Online -FeatureName IIS-ManagementConsole -All
Configuring an FTP site on Windows 10
Now let’s create a new FTP site and configure it. Go to Control Panel > Administrative Tools > Internet Information Services (IIS).
Here expand the root and expand the sites. Here is default site created, but we are going to create a new one. So, right click on Sites and select Add FTP Site.
Right after this, you have to name your FTP site and select the folder where the site will be created (the default is C:\inetpub\ftproot folder, but you can specify a different folder that you created earlier).
In the following window, you will see a binding and SSL settings.
Binding IP Address by default is unassigned. So click on the drop down and select your IP Address. Now we selected no SSL, but if you are using this on real environment, we suggest you Require SSL.
After that, you have to select a basic authorization and allow access to specified users. This user is a Windows user, the one you created when you installed Windows 10 or the one you are currently using. So, enter the username and select the proper permissions.
As the authentication method, select Basic. Authorization type > Specified users, enter the name of the user (or group). If the user should have the permission to read and write files in the FTP folder, check Read and Write in the Permissions section.
Then just Finish.
Your FTP site should appear in the tree structure of the Windows web server.
Setting Firewall Rules for FTP server
Standard firewall settings don’t allow you to remotely connect to your FTP site. Now we have to allow FTP access in Windows firewall. Go to Control Panel > Windows Defender Firewall > Allow an app or feature through Windows Firewall. In the following window click on Change settings and find FTP server. Check both marks on it and click OK to save settings. Now the firewall is properly configured. But anyway we have to turn off the Windows firewall to guarantee a connection.
Tip. You can configure firewall rules to allow FTP traffic to the server using the commands:
netsh advfirewall firewall add rule name=”FTP” action =allow protocol=TCP dir=in localport=21 netsh advfirewall firewall add rule name=”sFTP” action =allow protocol=TCP dir=in localport=900 netsh advfirewall firewall add rule name=”FTPpassive” action =allow protocol=TCP dir=in localport=1024-65535
Configuring an FTP Account in Windows 10
Once it off, we need to create an FTP user or group, to which you provide access to the FTP server. Open the Computer Management console. In the right menu, select Users or Groups. Use the right mouse button to create a new user.
Add new user. Now enter the username and password. They must have a password, or they will not be able to connect. Now click on Create and your FTP user is already created.
Now select the newly created site on IIS and click on FTP Authorization Rules.
Here you will see the default user, the Windows user. We need to create another one. Right click on the empty space, add allow rule and here select Specified users and then add user you’ve just created (FTPuser).
Also, select the proper permissions and click OK.
If you want anonymous users to access your FTP server, select the All Anonymous Users option. Anonymous users couldn’t write anything and change the data on our server; you need to specify Read-only access.
We need to add this user to the security settings of the folder. Right click on properties of the FTP-folder your local drive, then go to the security, edit it and add the newly created user.
Now make sure you have the user selected. In our case it is full control, in your case you should select the proper permissions. Click Apply and then OK to save.
Configure FTP User Isolation
After connecting to the FTP server, each user gets into his own ftp-directory and doesn’t have access to other users’ files, it is necessary to configure an FTP user isolation. To do this, open your FTP site settings and select the FTP User Isolation option. Select the User name directory and save the changes.
Right-click on the FTP site and select Add Virtual Directory.
Enter the user name in the Alias field, in the Physical path field, enter the path to the user’s folder (to do this, create a subfolder in the root folder of the local drive).
How to Connect to an FTP Server in Windows 10?
Now we are ready to access this FTP. First, we will try accessing from the LAN. All you need to do is just type FTP:// and local IP Address of that machine (e.g. FTP://192.168.1.92). Press enter and you will be prompted to enter the username and password. Done. We have access to that folder via FTP on the LAN.
You should see the contents of the FTP server folder.
If you want to access from the PC outside of your network, you need to configure the router. Remember, enter the FTP:// and local IP Address. In addition, you have to enter the username and password.
Now look for port forwarding. Make sure that you enable port forward and at the servers FTP, TCP, UDP and start/end port is 21. Make sure to save it all. Once done, log out and go to the Google.com. You have to search “What is my IP address” and it will immediately provide you with the IP address. If not, you can also go the one of these links from the search and it will prompt you with the IP address.
Once done, write it down, because we are going to use it to access this FTP from outside of the network. Go to any computer outside of the network and type FTP:// IP address in the search bar. You should enter the username and password again and click OK.
You should be able to connect without any problems. Now you’ve created FTP server on Windows 10! If you have any questions, feel free to post them in the comments section below.