CompleteFTP Linux User Guide

Welcome to the CompleteFTP Linux User Guide! This guide will help you install, configure, and use CompleteFTP on Linux systems through its powerful command-line interface.

What is CompleteFTP?

CompleteFTP is a secure, high-performance file transfer server that supports multiple protocols including FTP, FTPS, SFTP, SCP, HTTP, and HTTPS. The Linux version is administered through a comprehensive CLI, making it ideal for server environments and automation. Remote GUI administration via CompleteFTP Manager on Windows is also available for users who prefer graphical interfaces.

Who This Guide Is For

This guide is designed for:

  • System administrators setting up file transfer services
  • New users evaluating CompleteFTP for Linux
  • IT professionals migrating from other FTP servers
  • DevOps engineers implementing automated file transfer solutions
  • Linux users familiar with command-line tools

What You'll Learn

By following this guide, you'll learn how to:

  • Install CompleteFTP on various Linux distributions
  • Configure secure file transfer protocols (SFTP, FTPS, HTTPS)
  • Create and manage users and groups
  • Set up virtual file systems with flexible folder mappings
  • Implement SSL/TLS certificates and SSH key authentication
  • Configure external authentication (LDAP, SAML, database, 2FA)
  • Set up email notifications and process triggers for automation
  • Manage web applications and the built-in File Manager
  • Write custom extensions with JSS and .NET
  • Configure IP filtering and security hardening
  • Set up server clustering for high availability
  • Monitor and troubleshoot your server

Prerequisites

Before starting, you should have:

  • A Linux server with root/sudo access
  • Basic familiarity with Linux command line
  • Network connectivity for package installation
  • Understanding of file transfer protocols (helpful but not required)

Guide Overview and Table of Contents

This guide is structured to help you get started quickly or dive deep, depending on your needs.

  • For Impatient Users: Go to Installation and Setup, follow the Quick Start Guide, and then return to other chapters as needed.
  • For Thorough Users: Read this introduction completely, then work through the chapters in order.

Use the table of contents below to jump directly to the section you need.

Essential Setup

  • Chapter 1: Installation and Setup

    • Supported Linux distributions
    • Package installation (.deb and .rpm)
    • Service configuration
    • Initial testing and troubleshooting
  • Chapter 2: Quick Start Guide

    • Create your first user
    • Set up basic folder structure
    • Test FTP, SFTP, and HTTPS connections
    • Basic security configuration
  • Chapter 3: Site Configuration

    • Essential protocol setup (FTP, SFTP, HTTPS)
    • Port configuration
    • Basic security settings
    • Common site configurations

Core Configuration

Security and Licensing

  • Chapter 7: Keys and Certificates

    • SSH key generation and management
    • SSL/TLS certificate setup (self-signed, Let's Encrypt)
    • Enabling secure protocols (FTPS, HTTPS)
    • Key-based authentication
  • Chapter 8: License Management

    • License types and editions
    • Online and offline activation
    • License viewing and management
    • Troubleshooting activation issues

Advanced Configuration

  • Chapter 9: Advanced Site Configuration

    • Protocol-specific tuning (SSH ciphers, TLS settings)
    • Performance optimization and timeout configuration
    • Security hardening
    • Complex deployment scenarios
  • Chapter 10: Process Triggers

    • Event-driven automation with Program and JSS triggers
    • Macro substitution for dynamic arguments
    • Scheduled execution with cron expressions
    • Filters, process control, and concurrency
  • Chapter 11: Email Notifications

    • SMTP server configuration
    • Creating and managing notifications
    • Event filtering and macro support
    • Workflow examples for alerts and reports
  • Chapter 12: Monitoring and Logging

    • Log levels and configuration
    • Auditing with rolling files
    • Event recording
    • Log file locations and rotation on Linux

Web and Extensions

  • Chapter 13: Web Applications

    • Web application hosting and management
    • Built-in File Manager configuration
    • HTTP headers and MIME types
    • Custom JSS web applications
  • Chapter 14: Extensions and Scripting

    • Extension types: authentication, file system, commands, events, IP filters
    • JSS extensions (addscript vs registerscript)
    • .NET assembly extensions
    • JSS API overview

Security

  • Chapter 15: IP Filtering

    • Allow, deny, and allow-always rules
    • Precedence modes (DenyOverAllow, AllowOverDeny)
    • Per-user IP restrictions
    • Auto-ban configuration and bypass
  • Chapter 16: Filename Filters

    • Block or allow file types by pattern
    • Wildcard matching
    • Block mode vs allow mode
  • Chapter 17: Authentication Methods

    • SAML SSO, LDAP, Active Directory, database authentication
    • Gateway authentication
    • Two-factor authentication (2FA)
    • Authentication profiles and chaining

Enterprise

  • Chapter 18: Clustering
    • Cluster concepts (primary/secondary, config replication)
    • Adding and removing servers
    • Cluster security and upgrades
    • Troubleshooting sync failures

Appendices

Feature Availability by Edition

Feature Standard Professional Enterprise MFT
FTP, FTPS, SFTP, HTTP/HTTPS Yes Yes Yes
Users, groups, folders Yes Yes Yes
Email notifications, process triggers Yes Yes Yes
SSL/TLS encryption Yes Yes Yes
LDAP, database authentication Yes Yes
Cloud storage (S3, Azure) Yes Yes
Web File Manager Yes Yes
Extensions and JSS scripting Yes Yes
Basic clustering (2 nodes) Yes Yes
SAML SSO Yes
Full clustering Yes
Multiple sites Yes
Custom .NET extensions Yes

Using This Guide

Command Conventions

Commands are presented in code blocks. Lines starting with # are comments.

# This is a command with explanation
completeftp user add myuser

Important notes are highlighted to explain key concepts or warnings.

Testing Your Progress

Each chapter includes testing steps to verify your configuration works correctly. Commands can be tested in real-time using the completeftp CLI.

Getting Help

Built-in Help

The completeftp CLI has comprehensive built-in help.

# General help
completeftp --help

# Command-specific help
completeftp user --help
completeftp user add --help

Additional Resources

  • CLI Reference: Complete command documentation is available in LinuxCLI.md.
  • Support: Contact EnterpriseDT support for technical assistance.
  • Community: Join discussions and share experiences with other users.

Support and Feedback

Getting Support

  • Documentation Issues: Report problems with this guide.
  • Product Support: Contact EnterpriseDT for technical assistance.
  • Feature Requests: Suggest improvements and new features.

Contributing

Help improve this guide by reporting errors, suggesting examples, or sharing your use cases.


Ready to get started? Proceed to Chapter 1: Installation and Setup to begin your CompleteFTP journey!