How to set up FTP server on Windows Server (2023)

These are the steps to get started setting up a simple FTP server on Windows Server.

Windows Server FTP setup

On Windows Server 2022, 2019, and older versions, you can set up an FTP (File Transfer Protocol) site without additional software, and in this guide, you will learn how.

An FTP server can be a public or private server that can be used as a storage location that anyone with an account can access to download files, but it can also be configured to upload and download files.

Although you can use many solutions to set up a server to host files, on virtually every version of Windows Server, you can use the  Web Server (IIS) role to configure an FTP server.

In this guide, you will learn the steps to create and configure an FTP site on the server version of Windows.

Set up FTP server on Windows Server

To set up a simple FTP site on a Windows Server 2022, 2019, and older versions, use these steps:

  1. Open Start on Windows Server.

  2. Search for Server Manager and click the top result to open the console.

  3. Open the Manage menu and choose the “Add Roles and Features” option.

    Windows Server add roles and features

  4. Click the Next button.

  5. Choose the “Role-based or feature-based installation” option.

    Role-based or feature-based installation

  6. Click the Next button.

  7. Choose the “Select a server from the server pool” option and pick the server.

    Select a server from the server pool

  8. Click the Next button.

  9. Check the Web Server (IIS) option.

    Web Server (IIS)

  10. Click the “Add features” button (if applicable).

  11. Click the Next button.

  12. Click the Next button again.

  13. Check the FTP Server option (making sure that the “FTP Service” option is also selected) from the “Role Services” section.

    FTP Server feature selection

  14. Click the Install button.

  15. Click the Close button.

  16. Open Control Panel.

  17. Click on System and Security.

  18. Click on Administrative tools.

  19. Right-click the “Internet Information Services (IIS) Manager” item and click the Open option.

    Windows Server IIS

  20. Expand the server view from the left navigation pane.

  21. Right-click on Sites and choose the “Add FTP Site” option.

    IIS add FTP Site

  22. Confirm the FTP site name.

  23. Confirm the folder path that will host the FTP files.

    FTP server name and path

  24. Click the Next button.

  25. Choose the server IP address from the “IP Address” setting.

  26. Confirm the port number in the “Port” settings.

    Quick note: Usually, FTP uses port “21,” and sFTP uses port “22,” but you can choose any available port.
  27. Check the “Start FTP site automatically” option.

  28. Under the “SSL” section, select the No SSL option.

    Binding and SSL Settings

    Quick note: This guide outlines the steps to set up a simple FTP site for a local network. If you plan to open the server to the internet, it’s recommended to require SSL, but it’ll require you to provide an SSL certificate.
  29. Click the Next button.

  30. Under the “Authorization” section, choose the “Specified roles or user groups” option from the “Allow access to” setting.

    Authentication and Authorization information

    Quick note: In this step, you can select the option that is most convenient to you. For this guide, I’m choosing the “Specified roles or user groups” option, which means you will need to have a group with users already created through Computer Management or Active Directory Users and Computers.
  31. Specify the user or group with users allowed to access the FTP site.

  32. Under the “Permissions” section, select the Read or Write, or both.

    Quick tip: If the site will only be used to download files, “Read” is the recommended option.
  33. Click the Finish button.

Once you complete the steps, you can access the site with an FTP client using the account credentials you specified.

While these instructions should work on the most recent releases of Windows Server, the process may still be slighting different on older versions.