File Transfer Protocol (FTP) refers to a group of rules that govern how computers transfer files between systems over the internet. Businesses use FTP to send files between computers, and websites use FTP for the uploading and downloading of files from their servers. Kindly refer to this related for how to install and configure FTP server on Windows 10, Event ID 5059: Application pool has been disabled or Changing identity user for IIS Application Pool, and how to Disable HTTP TRACE Method for Apache, IIS, sunOne, and Lotus Domino. These steps were tested on Windows Server 2019, and 2022. Please refer to the guide on how to resolve this concern: Warning: FTP over TLS is not enabled, users cannot securely log in: You appear to be behind a NAT Router, please configure the passive mode settings and forward a range of ports in your router.
FTP can run in two modes: active and passive. And, it uses two channels between the client and server: the command channel and the data channel. The command channel is for sending the commands and responses, and the data channel is for sending the actual data. As for active and passive modes, in active mode, the client launches the command channel, and the server establishes the data channel. In passive mode, both the command and data channels are established by the client. You may want to learn more from this guide "Connect to a FileZilla Server: How to install and configure a FileZilla Server on Windows".
Step 1 – Install Internet Information Services (IIS): FTP depends on IIS (Internet Information Services). Both IIS and FTP services should be installed for the configuration of the FTP server. See this guide to learn “how to add and remove IIS Web Server on Windows Server 2019 via the Server Manager and PowerShell“.
– You can launcht he Server Manager if you have disabled Server Manager from starting automatically.
There are various ways in which you can launch the Add roles and features wizard. Please follow any of the steps as shown in the image below.
In the Before you begin window, you can chose to skip this page in the future. To proceed click on “Next”.
Since it is a role based type of installation, we will be selecting “Role-based or feature-based-installation” and click on Next.
Select the server you will install IIS and FTP on to. Since we only have one server in the Server Pool, we are good. Click on “Next“ to proceed.
As you can see, I have already installed IIS. In you case, you will have to select the FTP Server under the Roles Services. Here is a guide on how to install Let’s Encrypt Certificates with IIS on a Windows Server.
– Therefore, I will just install the FTP Server Roles as shown below. You will need to expand the “Internet Information Services” feature, and expand the FTP server option.
– Ensure you check the FTP Extensibility and FTP Service options.
– Also select the Web Management Tools option with the default selections,
– Please also select the IIS Management Console.
– Click on Next when you are done.
We are not installing any Features. We will click on Next to proceed.
Next, we will have to confrim the installation and hit the Install button.
As you can see, the installation is currently being installed and has also completed as shown below.
Next, we will have to launch IIS. You may want to learn how to add an account to the local IIS_IUSRS group.
– Click on Tool and select Internet Information Services
From the “Connections” pane, right-click Sites as shown below and click on the Add FTP Site option.
Note: It is recommended to create a folder in the root of the main system drive, or on a different drive. Else, if you set the home folder in one of your default folders when adding multiple accounts, users won’t have permission to access the folder.
“ICACLS "%SystemDrive%\MBAMFTP\FTProot" /Grant IUSR:R /T”
Type a descriptive name in the FTP site name. These steps are similar to the follow steps discussed in this guide “how to install and configure FTP server on Windows 10“.
– In the “Content Directory” click on the button and browse to the location of the folder you want to use to store your FTP files.
In the Add FTP Site window, type the FTP server name and the content directory path, and click Next. If you wish to enable Any
Click the Next button and this will open up the Binding and SSL Settings as shown below.
– Use the default Binding settings selections and ensure the Start FTP site automatically option is selected.
– In the “SSL” section, select the “No SSL” option. This is currently set up in a lab environment and will be destroyed in the next hour. Therefore, in your production environment, please select require SSL and this will prevent your data to be transmitted in a clear text.
If you want multiple users to access the FTP server at the same time, you need to modify the server settings using these steps:
- When you chose "All Users", the option to type in users will be grayed out. Also, click on the Read and Write options. When you are done, click on Finish.
Basic authentication means there’s no encryption used. Thus, username/password are sent in clear text. Basic authentication matches the username/password from the Active Directory database. You can also create accounts in IIS. This can be done from under Management Tools in Web Server (IIS) role.
As you can see, the FTP server has been configured successfully and it is operational (started). If you haven’t configured the Windows Firewall, please do.
To access files on the FTP server, open a file explorer and type
ftp://localhost is you are sitting on the local server. The FTP server asks for a username and password. Enter the username and password (Windows or Active Directory credentials) and click Logon. The files and folders display under the FTP server. You may want to see this guide for more information “Access FTP Server from your browser: How to create a shortcut and access Filezilla from Windows Explorer“.
I hope you found this blog post helpful. If you have any questions, please let me know in the comment session.