Setting Up FTP Servers on Windows: FileZilla, IIS, and Command Prompt

Complete Windows FTP Setup Guide | IIS, FileZilla & CMD ...

Complete Windows FTP Setup Guide | IIS, FileZilla & CMD
Student Guide

Setting Up FTP on Windows

A comprehensive guide to configuring File Transfer Protocol servers using Nginx/Apache context, FileZilla Server, IIS, and Command Prompt automation.

1 FTP with Nginx & Apache

FTP servers are typically used to transfer files to and from your web server. While Nginx and Apache are primarily HTTP servers (serving web pages), they can work alongside an FTP server to manage the underlying files.

Concept & Setup

  1. Install FTP Server: Follow instructions later in this guide to install IIS or FileZilla.
  2. Configure Access: Create FTP users with access to the directory where your website files are stored (e.g., the root folder).
  3. Permissions: Set permissions carefully to allow read/write access for the FTP user.

Example: Nginx Configuration

Configure Nginx to serve static files from the FTP directory:

nginx.conf
server {
    listen 80;
    server_name yourdomain.com;

    location / {
        root /path/to/ftp/directory;
        autoindex on;
    }
}

Example: Apache Configuration

Configure Apache to serve files from the FTP directory:

httpd.conf
<VirtualHost *:80>
    ServerName yourdomain.com
    DocumentRoot "/path/to/ftp/directory"
    <Directory "/path/to/ftp/directory">
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
    </Directory>
</VirtualHost>

Note: FTP is mainly for file transfer, while Nginx/Apache serve HTTP requests. Ensure firewall rules allow both FTP (Port 21) and HTTP (Port 80) traffic.


2 Windows + FileZilla Server

Follow these steps to install and configure FileZilla Server on Windows:

  1. Download FileZilla Server:
    Visit filezilla-project.org and download the latest version for Windows.
  2. Install:
    Run the installer. Choose to start the server as a service (recommended). Set the admin interface port (default 14147).
  3. Launch:
    Open the FileZilla Server Interface and connect to localhost.
  4. Configure Settings:
    Go to Edit > Settings. Set an admin password. Under Passive mode settings, specify a custom port range (e.g., 50000-51000) for better firewall compatibility.
  5. Create Users:
    Go to Edit > Users. Click "Add", set a username/password, and assign a Shared Folder (Home Directory) with Read/Write permissions.
  6. Configure Firewall:
    You must allow the traffic through Windows Firewall. Use the commands below:
    CMD (Admin)
    netsh advfirewall firewall add rule name="FTP" dir=in action=allow protocol=TCP localport=21
    netsh advfirewall firewall add rule name="PassiveFTP" dir=in action=allow protocol=TCP localport=50000-51000
  7. Connect:
    Use FileZilla Client, enter IP, username, password, and Port 21 to connect.

3 Install FTP (IIS) Service

Internet Information Services (IIS) is the native Windows web and FTP server.

Installation Steps

  • Step 1: Open Server Manager > Manage > Add Roles and Features.
  • Step 2: In Server Roles, check Web Server (IIS).
  • Step 3: In Role Services, find "FTP Server" and check FTP Service and FTP Extensibility.
  • Step 4: Install and wait for completion.
  • Step 5: Open IIS Manager, right-click "Sites" > Add FTP Site. Set path, IP, SSL (No SSL for testing), and Auth (Basic).

Firewall Configuration for IIS

Run these commands to open standard FTP ports and the passive range (e.g., 1024-1048 for IIS defaults):

CMD (Admin)
netsh advfirewall firewall add rule name="FTP" dir=in action=allow protocol=TCP localport=21
netsh advfirewall firewall add rule name="FTP Passive" dir=in action=allow protocol=TCP localport=1024-1048

4 Command Prompt Setup

You can manage files on an FTP server directly using the Windows Command Prompt, without needing third-party clients like FileZilla Client.

1. Connect to FTP Server

Open CMD (Windows + R, type cmd). Use the ftp command followed by the IP address.

CMD
ftp 192.168.1.100

2. Authenticaton & Commands

Enter your username and password when prompted. Once connected, you can use these commands:

  • ls / dir : List files.
  • cd [folder] : Change directory.
  • get [file] : Download file.
  • put [file] : Upload file.
  • bye : Disconnect.

Example Session

Interactive Session
C:\> ftp 192.168.1.100
Connected to 192.168.1.100.
User (192.168.1.100): username
Password:
ftp> ls
ftp> get example.txt
ftp> put upload.txt
ftp> bye

Passive Mode

If you experience connection hang-ups (often due to firewalls), try enabling passive mode immediately after login:

FTP Command
quote PASV

Firewall Warning

Warning: Your firewall may block FTP connections or transfers. To ensure smooth operations:

  • Allow FTP: Open TCP ports 21 and 20.
  • Passive Mode: Open the necessary passive port range (e.g., 50000-51000 for FileZilla, 1024-1048 for IIS).
  • Security: Standard FTP sends passwords in clear text. Consider using FTPS or SFTP for secure environments.

© Windows Administration Guide.
Designed for Students & System Administrators.

Ad

Ad

Name

Databases,1,MySQL,1,Ubuntu,1,web control panel,2,
ltr
item
YesMyWeb: Setting Up FTP Servers on Windows: FileZilla, IIS, and Command Prompt
Setting Up FTP Servers on Windows: FileZilla, IIS, and Command Prompt
https://www.writtenpixel.com/wp-content/uploads/2025/06/How-to-setup-FTP-server-simple.jpg
YesMyWeb
https://yesmyweb.blogspot.com/2024/06/setting-up-ftp-servers-on-windows.html
https://yesmyweb.blogspot.com/
https://yesmyweb.blogspot.com/
https://yesmyweb.blogspot.com/2024/06/setting-up-ftp-servers-on-windows.html
true
8833990349988608515
UTF-8
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS PREMIUM CONTENT IS LOCKED STEP 1: Share to a social network STEP 2: Click the link on your social network Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy